--- description: "Telegraf plugin for collecting metrics from Socket Statistics" menu: telegraf_v1_ref: parent: input_plugins_reference name: Socket Statistics identifier: input-socketstat tags: [Socket Statistics, "input-plugins", "configuration", "network"] introduced: "v1.22.0" os_support: "freebsd, linux, macos" related: - /telegraf/v1/configure_plugins/ - https://github.com/influxdata/telegraf/tree/v1.36.3/plugins/inputs/socketstat/README.md, Socket Statistics Plugin Source --- # Socket Statistics Input Plugin This plugin gathers metrics for established network connections using [iproute2](https://github.com/iproute2/iproute2)'s `ss` command. The `ss` command does not require specific privileges. > [!CRITICAL] > This plugin produces high cardinality data, which when not controlled for will > cause high load on your database. Please make sure to [filter](/telegraf/v1/configuration/#metric-filtering) the > produced metrics or configure your database to avoid cardinality issues! **Introduced in:** Telegraf v1.22.0 **Tags:** network **OS support:** freebsd, linux, macos [iproute]: https://github.com/iproute2/iproute2 [filtering]: /docs/CONFIGURATION.md#metric-filtering ## Global configuration options In addition to the plugin-specific configuration settings, plugins support additional global and plugin configuration settings. These settings are used to modify metrics, tags, and field or create aliases and configure ordering, etc. See the [CONFIGURATION.md](/telegraf/v1/configuration/#plugins) for more details. [CONFIGURATION.md]: ../../../docs/CONFIGURATION.md#plugins ## Configuration ```toml @sample.conf # Gather indicators from established connections, using iproute2's ss command. # This plugin ONLY supports non-Windows [[inputs.socketstat]] ## ss can display information about tcp, udp, raw, unix, packet, dccp and sctp sockets ## Specify here the types you want to gather protocols = [ "tcp", "udp" ] ## The default timeout of 1s for ss execution can be overridden here: # timeout = "1s" ``` ## Metrics The measurements `socketstat` contains the following fields - state (string) (for tcp, dccp and sctp protocols) If ss provides it (it depends on the protocol and ss version) it has the following additional fields - bytes_acked (integer, bytes) - bytes_received (integer, bytes) - segs_out (integer, count) - segs_in (integer, count) - data_segs_out (integer, count) - data_segs_in (integer, count) All measurements have the following tags: - proto - local_addr - local_port - remote_addr - remote_port ## Example Output ### recent `ss` version (iproute2 4.3.0 here) ```sh ./telegraf --config telegraf.conf --input-filter socketstat --test ``` ```text socketstat,host=ubuntu-xenial,local_addr=10.6.231.226,local_port=42716,proto=tcp,remote_addr=192.168.2.21,remote_port=80 bytes_acked=184i,bytes_received=2624519595i,recv_q=4344i,segs_in=1812580i,segs_out=661642i,send_q=0i,state="ESTAB" 1606457205000000000 ``` ### older `ss` version (iproute2 3.12.0 here) ```sh ./telegraf --config telegraf.conf --input-filter socketstat --test ``` ```text socketstat,host=ubuntu-trusty,local_addr=10.6.231.163,local_port=35890,proto=tcp,remote_addr=192.168.2.21,remote_port=80 recv_q=0i,send_q=0i,state="ESTAB" 1606456977000000000 ```