系统套接字指标集

编辑

此指标集仅在 Linux 上可用,并且需要 2.6.14 或更新版本的内核。

系统 socket 指标集会针对其看到的每个新的 TCP 套接字报告一个事件。它通过定期轮询内核以获取所有套接字的转储来实现此目的。您可以通过配置 period 选项来设置轮询间隔。使用此指标集指定较短的轮询间隔对于避免错过短连接非常重要。例如

metricbeat.modules:
- module: system
  metricsets: [cpu, memory]
- module: system
  metricsets: [socket] 
  period: 1s

您可以单独配置 socket 指标集,以指定与其他指标集不同的 period 值。

该指标集报告打开套接字的进程。为了在 Linux 上为所有进程提供此信息,Metricbeat 必须以 sys_ptracedac_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"
    }
}