系统套接字指标集
编辑系统套接字指标集编辑
此指标集仅在 Linux 上可用,并且需要内核 2.6.14 或更高版本。
系统 socket
指标集为它看到的每个新的 TCP 套接字报告一个事件。 它通过定期轮询内核来获取所有套接字的转储来实现这一点。 可以通过配置 period
选项来设置轮询间隔。 使用此指标集指定较短的轮询间隔对于避免错过短暂连接很重要。 例如
metricbeat.modules: - module: system metricsets: [cpu, memory] - module: system metricsets: [socket] period: 1s
指标集报告打开套接字的进程。 为了在 Linux 上为所有进程提供此信息,Metricbeat 必须使用 sys_ptrace
和 dac_read_search
功能运行。 这些权限通常在以 root 身份运行时授予,但在容器内运行 Metricbeat 时,它们可以并且可能需要显式添加。
配置编辑
- module: system metricsets: [socket] socket.reverse_lookup.enabled: false socket.reverse_lookup.success_ttl: 60s socket.reverse_lookup.failure_ttl: 60s
-
socket.reverse_lookup.enabled
- 可以配置指标集对远程 IP 执行反向查找,返回的主机名将添加到事件并缓存。 如果找到主机名,则 eTLD+1(有效顶级域名加一级)值也将添加到事件。 默认情况下禁用反向查找。
-
socket.reverse_lookup.success_ttl
- 成功反向查找的结果将缓存此选项定义的时间段。 默认值为 60 秒。
-
socket.reverse_lookup.failure_ttl
- 失败的反向查找结果将缓存此选项定义的时间段。 默认值为 60 秒。
有关指标集中每个字段的描述,请参阅 导出字段 部分。
以下是由此指标集生成的示例文档
{ "@timestamp": "2017-10-12T08:05:34.853Z", "agent": { "hostname": "host.example.com", "name": "host.example.com" }, "event": { "dataset": "system.socket", "duration": 115000, "module": "system" }, "metricset": { "name": "socket" }, "network": { "direction": "listening", "iana_number": "41", "type": "ipv6" }, "process": { "args": [ "/tmp/go-build774092237/b001/socket.test", "-data" ], "executable": "/tmp/go-build774092237/b001/socket.test", "name": "socket.test", "pid": 32127 }, "server": { "ip": "::", "port": 45109 }, "service": { "type": "system" }, "system": { "socket": { "local": { "ip": "::", "port": 45109 }, "process": { "cmdline": "/tmp/go-build774092237/b001/socket.test -data" } } }, "user": { "full_name": "Jaime Soriano Pastor", "id": "1000", "name": "jaime" } }