diff --git a/controller/ConnectionPool.hpp b/controller/ConnectionPool.hpp index 97a20639b..916f53563 100644 --- a/controller/ConnectionPool.hpp +++ b/controller/ConnectionPool.hpp @@ -61,6 +61,8 @@ public: , m_minPoolSize(min_pool_size) , m_factory(factory) { + Metrics::max_pool_size += max_pool_size; + Metrics::min_pool_size += min_pool_size; while(m_pool.size() < m_minPoolSize){ m_pool.push_back(m_factory->create()); Metrics::pool_avail++; diff --git a/controller/PostgreSQL.cpp b/controller/PostgreSQL.cpp index ae705bb33..00b61bc35 100644 --- a/controller/PostgreSQL.cpp +++ b/controller/PostgreSQL.cpp @@ -1145,6 +1145,7 @@ void PostgreSQL::_membersWatcher_Redis() { _redis->xdel(key, id); } lastID = id; + Metrics::redis_mem_notification++; } } } @@ -1687,6 +1688,7 @@ void PostgreSQL::onlineNotification_Postgres() << " ON CONFLICT (network_id, member_id) DO UPDATE SET address = EXCLUDED.address, last_updated = EXCLUDED.last_updated"; pipe.insert(memberUpdate.str()); + Metrics::pgsql_node_checkin++; } while(!pipe.empty()) { pipe.retrieve(); @@ -1794,7 +1796,7 @@ uint64_t PostgreSQL::_doRedisUpdate(sw::redis::Transaction &tx, std::string &con .sadd("network-nodes-all:{"+controllerId+"}:"+networkId, memberId) .hmset("member:{"+controllerId+"}:"+networkId+":"+memberId, record.begin(), record.end()); ++count; - Metrics::redis_mem_notification++; + Metrics::redis_node_checkin++; } // expire records from all-nodes and network-nodes member list diff --git a/ext/central-controller-docker/main.sh b/ext/central-controller-docker/main.sh index 9db5e4f26..a258c0902 100755 --- a/ext/central-controller-docker/main.sh +++ b/ext/central-controller-docker/main.sh @@ -58,6 +58,9 @@ mkdir -p /var/lib/zerotier-one pushd /var/lib/zerotier-one ln -s $ZT_IDENTITY_PATH/identity.public identity.public ln -s $ZT_IDENTITY_PATH/identity.secret identity.secret +if [ -f "$ZT_IDENTITY_PATH/authtoken.secret" ]; then + ln -s $ZT_IDENTITY_PATH/authtoken.secret authtoken.secret +fi popd DEFAULT_PORT=9993 @@ -74,6 +77,7 @@ echo "{ \"nat64\" ], \"ssoRedirectURL\": \"${ZT_SSO_REDIRECT_URL}\", + \"allowManagementFrom\": [\"127.0.0.1\", \"::1\", \"10.0.0.0/8\"], ${REDIS} } } diff --git a/node/Metrics.cpp b/node/Metrics.cpp index 0fc4d1765..a89954f59 100644 --- a/node/Metrics.cpp +++ b/node/Metrics.cpp @@ -52,10 +52,14 @@ namespace ZeroTier { { "controller_pgsql_member_notifications_received", "number of member change notifications received via pgsql NOTIFY" }; prometheus::simpleapi::counter_metric_t pgsql_net_notification { "controller_pgsql_network_notifications_received", "number of network change notifications received via pgsql NOTIFY" }; + prometheus::simpleapi::counter_metric_t pgsql_node_checkin + { "controller_pgsql_node_checkin_count", "number of node check-ins (pgsql)" }; prometheus::simpleapi::counter_metric_t redis_mem_notification { "controller_redis_member_notifications_received", "number of member change notifications received via redis" }; prometheus::simpleapi::counter_metric_t redis_net_notification { "controller_redis_network_notifications_received", "number of network change notifications received via redis" }; + prometheus::simpleapi::counter_metric_t redis_node_checkin + { "controller_redis_node_checkin_count", "number of node check-ins (redis)" }; // Central DB Pool Metrics prometheus::simpleapi::counter_metric_t conn_counter diff --git a/node/Metrics.hpp b/node/Metrics.hpp index 28cbd5990..9dd77017d 100644 --- a/node/Metrics.hpp +++ b/node/Metrics.hpp @@ -40,8 +40,10 @@ namespace ZeroTier { // Central Controller Metrics extern prometheus::simpleapi::counter_metric_t pgsql_mem_notification; extern prometheus::simpleapi::counter_metric_t pgsql_net_notification; + extern prometheus::simpleapi::counter_metric_t pgsql_node_checkin; extern prometheus::simpleapi::counter_metric_t redis_mem_notification; extern prometheus::simpleapi::counter_metric_t redis_net_notification; + extern prometheus::simpleapi::counter_metric_t redis_node_checkin; // Central DB Pool Metrics extern prometheus::simpleapi::counter_metric_t conn_counter;