Skip to main content

Description

The auto_discovery probe reads the host connection table and records a connection inventory for monitored processes. Supports emitting per-connection inventory metrics and/or topology data (listen ports + connection edges) for service dependency mapping.

Config fields

FieldTypeRequiredDefaultDescription
typestringYesMust be "auto_discovery"
processProbeIdsstring[]NoProcess probe IDs — agent resolves to processNames automatically
processNamesstring[]NoProcess names to discover connections for
includeStatesstring[]NoOnly include these connection states
excludeRemoteAddressesstring[]NoExclude connections to these remote addresses
excludeRemotePortsint[]NoExclude connections to these remote ports
emitConnectionMetricsboolNofalseEmit per-connection inventory metrics
emitTopologyboolNofalseEmit topology data (listen registry + connection edges)

Metrics

MetricTypeLabelsCondition
vms.connection.discovered_countgaugeAlways
vms.connection.discoveredgaugeprocess_name, local_addr, local_port, remote_addr, remote_port, state, protocolemitConnectionMetrics = true. Max 200 series
vms.topology.listen_countgaugeemitTopology = true
vms.topology.listengaugeprocess_name, local_addr, local_port, protocolemitTopology = true. Max 200
vms.topology.edge_countgaugeemitTopology = true
vms.topology.edgegaugeprocess_name, local_addr, local_port, remote_addr, remote_port, protocolemitTopology = true. Max 500

Example config

{
  "type": "auto_discovery",
  "processNames": ["nginx", "java"],
  "includeStates": ["ESTABLISHED"],
  "emitConnectionMetrics": true,
  "emitTopology": true
}

Notes

  • Series are capped for cardinality: inventory max 200, listen max 200, edges max 500. Total counts are always accurate.
  • processProbeIds are resolved to processNames by the agent before the probe runs.