SrvPulse

Collectors

Agents connect to the collector in their region; each collector forwards to one aggregation endpoint. api.srvpulse.net is the ru-central regional collector.

Agent counts are per workspace and refresh every minute. A collector showing elevated latency is still accepting data — it is spooling and replaying, not dropping.
RegionLocationRoleUpstreamAgentsStatus
ru-centralMoscow, RUcollector — this hosteu-west212operational
eu-westAmsterdam, NLaggregation——operational
eu-centralFrankfurt, DEcollectoreu-west488operational
eu-northStockholm, SEcollectoreu-west96operational
uk-southLondon, UKcollectoreu-west154operational
tr-westIstanbul, TRcollectoreu-west61operational
me-centralDubai, AEcollectoreu-west44elevated latency
us-eastAshburn, VAaggregation——operational
us-westSan Jose, CAcollectorus-east173operational
ap-southMumbai, INcollectorap-southeast88operational
ap-southeastSingapore, SGaggregation——operational
au-southeastSydney, AUcollectorap-southeast37operational

Choosing a region

The agent picks the nearest collector at enrolment and re-evaluates on every reconnect. Pin one explicitly when data residency matters:

sudo srvpulse-agent enrol --token spt_... --collector api.srvpulse.net

Private collectors

On Scale you can run the collector yourself, inside your own network. It speaks the protocol in collector topology and forwards to the same aggregation endpoints, so nothing else in your setup changes:

docker run -d --name srvpulse-collector \
  -e SRVPULSE_TOKEN=spc_... \
  -e SRVPULSE_UPSTREAM=connect.api.srvpulse.net:443 \
  -p 443:443 ghcr.io/srvpulse/collector:1.14

Address ranges

Collector and aggregation ranges are published for allowlisting; changes are announced 14 days ahead.

curl https://api.srvpulse.net/v1/collectors/ranges.json