Skip to main content

Service Port Map

Use this as a quick reference for the most common ports in the current architecture.

Goal: be explicit about what you should expose to edge networks vs what must stay internal.

Expose Externally (Common)​

These are the only ports most deployments should expose outside the cluster/host:

ComponentPortProtocolPurpose
Edge proxy (Ingress/Caddy)443 (and optionally 80)HTTP(S)Web UI + API entrypoint
agent-gateway50052mTLS gRPCEdge agent connectivity (config + control stream + ingestion)

Optional External Ingest Ports (Enable If Used)​

Expose these only if you are ingesting telemetry from network devices or external systems. Restrict these ports to known exporter source IPs whenever possible.

CollectorPortProtocolPurpose
Syslog (serviceradar-log-collector)514UDPSyslog ingestion (UDP)
Syslog TCP (serviceradar-log-collector-tcp)514TCPSyslog ingestion (TCP, optional deployment)
SNMP traps (trapd)162UDPSNMP trap ingestion
NetFlow2055UDPTemplate-free NetFlow v5 by default. Template-based v9/IPFIX UDP is rejected unless explicitly opted in.
NetFlow / IPFIX (alternate)4739UDPOptional alternate UDP port for the same NetFlow handler. The Helm chart can expose this ipfix service port; route it to an additional netflow listener if used. Template admission follows the same opt-in as 2055.
IPFIX native TLS4740TCPMutually authenticated native IPFIX. See Flow Collector Scaling and Exporter Authentication.
sFlow6343UDPsFlow
OTLP (otel)4317gRPCOTEL ingestion over OTLP/gRPC (optional). No OTLP/HTTP :4318 endpoint is served.

Kubernetes External Address Map​

Keep real deployment addresses in private operations material. Public docs should describe the routing pattern without publishing environment-specific IPs or hostnames:

TrafficAddressBackend
Web UI/API<WEB_GATEWAY_ADDRESS>:443/TCPShared Gateway HTTPS listener
Syslog<SYSLOG_GATEWAY_ADDRESS>:514/UDPShared Gateway UDPRoute to serviceradar-log-collector
NetFlow<FLOW_COLLECTOR_ADDRESS>:2055/UDPserviceradar-flow-collector
IPFIX TLS<FLOW_COLLECTOR_ADDRESS>:4740/TCPserviceradar-flow-collector
sFlow<FLOW_COLLECTOR_ADDRESS>:6343/UDPserviceradar-flow-collector
SNMP traps<TRAP_COLLECTOR_ADDRESS>:162/UDPserviceradar-trapd
BMP<BMP_COLLECTOR_ADDRESS>:11019/TCPserviceradar-bmp-collector

Prefer private routing, VPN, firewall allow lists, and source CIDR restrictions for these paths. Do not publish real deployment addresses in public documentation.

Internal-Only (Do Not Expose To Edge Networks)​

These ports are for internal service-to-service traffic and should not be reachable from edge networks:

ComponentPortProtocolNotes
web-ng4000HTTPServe behind proxy/ingress only; unauthenticated public /metrics requests refused with 401
web-ng metrics9090HTTPInternal Prometheus scrape endpoint (/metrics); omitted from Gateway and Ingress
core-elx8090HTTPServe behind proxy/ingress only
CNPG5432TCPDatabase (use port-forward/VPN for admin access)
NATS4222TCPJetStream client port (internal)
NATS monitoring8222HTTPInternal only
NATS cluster6222TCPInternal only
Dgraph Alpha9080gRPCTopology graph (DQL); clients are core and web-ng
Dgraph Alpha HTTP8080HTTPHealth and admin endpoints; internal only
Dgraph Zero/Alpha internal5080, 6080, 7080TCPRaft, membership, and Zero admin; never expose
ERTS distribution4369, 9100-9155TCPNever expose outside the cluster/host network

Notes​

  • Keep NATS internal unless you explicitly need external access.
  • web-ng and core-elx should not be exposed directly; use Caddy or an ingress controller.
  • Kubernetes: services are ClusterIP by default; only agent-gateway and optional external collectors should be LoadBalancer/NodePort. Syslog can use a shared Gateway API UDP listener instead of a dedicated collector LoadBalancer.
  • Docker Compose defaults:
    • agent-gateway binds to 127.0.0.1:50052 unless you set GATEWAY_PUBLIC_BIND=0.0.0.0.
    • CNPG binds to 127.0.0.1:${CNPG_PUBLIC_PORT:-5455} unless you set CNPG_PUBLIC_BIND=0.0.0.0.
    • Dgraph binds to 127.0.0.1:9080 (gRPC) and 127.0.0.1:8080 (HTTP).

For TLS setup, see TLS Security.