NetStat
Netstat metrics collection, including TCP/UDP connections, waiting for connections, waiting for requests to be processed, and so on.
Config¶
Collector Configuration¶
Go to the conf.d/host
directory under the DataKit installation directory, copy netstat.conf.sample
and name it netstat.conf
. Examples are as follows:
[[inputs.netstat]]
##(Optional) Collect interval, default is 10 seconds
interval = '10s'
## The ports you want display
## Can add tags too
# [[inputs.netstat.addr_ports]]
# ports = ["80","443"]
## Groups of ports and add different tags to facilitate statistics
# [[inputs.netstat.addr_ports]]
# ports = ["80","443"]
# [inputs.netstat.addr_ports.tags]
# service = "http"
# [[inputs.netstat.addr_ports]]
# ports = ["9529"]
# [inputs.netstat.addr_ports.tags]
# service = "datakit"
# foo = "bar"
## Server may have multiple network cards
## Display only some network cards
## Can add tags too
# [[inputs.netstat.addr_ports]]
# ports = ["1.1.1.1:80","2.2.2.2:80"]
# ports_match is preferred if both ports and ports_match configured
# ports_match = ["*:80","*:443"]
[inputs.netstat.tags]
# some_tag = "some_value"
# more_tag = "some_other_value"
Configuration Tips:
# (2) Configure two groups of ports with different tags for easy statistics.
[[inputs.netstat.addr_ports]]
ports = ["80","443"]
[inputs.netstat.addr_ports.tags]
service = "http"
[[inputs.netstat.addr_ports]]
ports = ["9529"]
[inputs.netstat.addr_ports.tags]
service = "datakit"
# (3) The server has multiple NICs and only cares about certain ones.
[[inputs.netstat.addr_ports]]
ports = ["1.1.1.1:80","2.2.2.2:80"]
# (4) The server has multiple NICs, and the requirement to show this configuration on a per NIC basis will mask the ports configuration value.
[[inputs.netstat.addr_ports]]
ports = ["1.1.1.1:80","2.2.2.2:80"] // Invalid, masked by ports_match.
ports_match = ["*:80","*:443"] // Valid.
After configuration, restart DataKit.
Can be turned on by ConfigMap Injection Collector Configuration or Config ENV_DATAKIT_INPUTS .
Can also be turned on by environment variables, (needs to be added as the default collector in ENV_DEFAULT_ENABLED_INPUTS):
-
ENV_INPUT_NETSTAT_INTERVAL
Collect interval
Type: Duration
input.conf:
interval
Default: 10s
-
ENV_INPUT_NETSTAT_ADDR_PORTS
Groups of ports and add different tags to facilitate statistics
Type: JSON
input.conf:
addr_ports
Example: ["1.1.1.1:80","443"]
-
ENV_INPUT_NETSTAT_TAGS
Customize tags. If there is a tag with the same name in the configuration file, it will be overwritten
Type: Map
input.conf:
tags
Example: tag1=value1,tag2=value2
Metric¶
For all the following data collections, a global tag named host
is appended by default (the tag value is the host name of the DataKit), or other tags can be specified in the configuration by [inputs.netstat.tags]
:
Measurements for statistics regardless of port number: netstat
; Measurements for statistics by port number: netstat_port
.
- tag
Tag | Description |
---|---|
addr_port |
Addr and port. Optional. |
host |
Host name |
ip_version |
IP version, 4 for IPV4, 6 for IPV6, unknown for others |
- metric list
Metric | Description | Type | Unit |
---|---|---|---|
pid |
PID. Optional. | int | count |
tcp_close |
CLOSE : The number of TCP state be waiting for a connection termination request acknowledgement from remote TCP host. | int | count |
tcp_close_wait |
CLOSE_WAIT : The number of TCP state be waiting for a connection termination request from local user. | int | count |
tcp_closing |
CLOSING : The number of TCP state be waiting for a connection termination request acknowledgement from remote TCP host. | int | count |
tcp_established |
ESTABLISHED : The number of TCP state be open connection, data received to be delivered to the user. | int | count |
tcp_fin_wait1 |
FIN_WAIT1 : The number of TCP state be waiting for a connection termination request from remote TCP host or acknowledgment of connection termination request sent previously. | int | count |
tcp_fin_wait2 |
FIN_WAIT2 : The number of TCP state be waiting for connection termination request from remote TCP host. | int | count |
tcp_last_ack |
LAST_ACK : The number of TCP state be waiting for connection termination request acknowledgement previously sent to remote TCP host including its acknowledgement of connection termination request. | int | count |
tcp_listen |
LISTEN : The number of TCP state be waiting for a connection request from any remote TCP host. | int | count |
tcp_none |
NONE | int | count |
tcp_syn_recv |
SYN_RECV : The number of TCP state be waiting for confirmation of connection acknowledgement after both sender and receiver has sent / received connection request. | int | count |
tcp_syn_sent |
SYN_SENT : The number of TCP state be waiting for a machine connection request after sending a connecting request. | int | count |
tcp_time_wait |
TIME_WAIT : The number of TCP state be waiting sufficient time to pass to ensure remote TCP host received acknowledgement of its request for connection termination. | int | count |
udp_socket |
UDP : The number of UDP connection. | int | count |