配置用于指标的 HTTP 端点

编辑

配置用于指标的 HTTP 端点编辑

此功能处于技术预览阶段,可能会在将来的版本中发生更改或删除。Elastic 将努力解决任何问题,但技术预览中的功能不受官方 GA 功能支持 SLA 的约束。

Packetbeat 可以通过 HTTP 端点公开内部指标。这些指标对于监控 Beat 的内部状态很有用。出于安全原因,默认情况下该端点处于禁用状态,因为您可能希望避免公开此信息。

HTTP 端点具有以下配置设置

http.enabled
(可选) 启用 HTTP 端点。默认值为 false
http.host
(可选) 绑定到此主机名、IP 地址、Unix 套接字 (unix:///var/run/packetbeat.sock) 或 Windows 命名管道 (npipe:///packetbeat)。建议仅使用 localhost。默认值为 localhost
http.port
(可选) HTTP 端点将绑定到的端口。默认值为 5066
http.named_pipe.user
(可选) 用于创建命名管道的用户,仅在 Windows 上有效,默认值为当前用户。
http.named_pipe.security_descriptor
(可选) 以 SDDL 格式定义的 Windows 安全描述符字符串。默认值为对当前用户的读写权限。
http.pprof.enabled
(可选) 在提供 HTTP 服务时启用 /debug/pprof/ 端点。建议仅在 localhost 上启用此选项,因为这些端点可能会泄漏数据。默认值为 false
http.pprof.block_profile_rate
(可选) block_profile_rate 控制从 /debug/pprof/block 提供的阻塞配置文件中报告的 goroutine 阻塞事件的比例。探查器旨在对每秒阻塞时间采样一个平均阻塞事件。要将每个阻塞事件包含在配置文件中,请传递 rate = 1。要完全关闭探查,请传递 rate ⇐ 0。默认值为 0。
http.pprof.mem_profile_rate
(可选) mem_profile_rate 控制从 /debug/pprof/heap 提供的内存配置文件中记录和报告的内存分配的比例。探查器旨在对每 mem_profile_rate 字节分配采样一个平均分配。要将每个分配的块包含在配置文件中,请将 mem_profile_rate 设置为 1。要完全关闭探查,请将 mem_profile_rate 设置为 0。默认值为 524288。
http.pprof.mutex_profile_rate
(可选) mutex_profile_rate 控制从 /debug/pprof/mutex 提供的互斥锁配置文件中报告的互斥锁争用事件的比例。平均而言,会报告 1/rate 个事件。要完全关闭探查,请传递 rate 0。默认值为 0。

这是您可以访问的路径列表。对于漂亮的 JSON 输出,将 ?pretty 附加到 URL。

您可以使用 cURL 命令和 --unix-socket 标志查询 Unix 套接字。

curl -XGET --unix-socket '/var/run/{beatname_lc}.sock' 'http:/stats/?pretty'

信息编辑

/ 提供来自 Packetbeat 的基本信息。例如

curl -XGET 'localhost:5066/?pretty'
{
  "beat": "packetbeat",
  "hostname": "example.lan",
  "name": "example.lan",
  "uuid": "34f6c6e1-45a8-4b12-9125-11b3e6e89866",
  "version": "8.14.3"
}

统计信息编辑

/stats 报告内部指标。例如

curl -XGET 'localhost:5066/stats?pretty'
{
  "beat": {
    "cpu": {
      "system": {
        "ticks": 1710,
        "time": {
          "ms": 1712
        }
      },
      "total": {
        "ticks": 3420,
        "time": {
          "ms": 3424
        },
        "value": 3420
      },
      "user": {
        "ticks": 1710,
        "time": {
          "ms": 1712
        }
      }
    },
    "info": {
      "ephemeral_id": "ab4287c4-d907-4d9d-b074-d8c3cec4a577",
      "uptime": {
        "ms": 195547
      }
    },
    "memstats": {
      "gc_next": 17855152,
      "memory_alloc": 9433384,
      "memory_total": 492478864,
      "rss": 50405376
    },
    "runtime": {
      "goroutines": 22
    }
  },
  "libbeat": {
    "config": {
      "module": {
        "running": 0,
        "starts": 0,
        "stops": 0
      },
      "scans": 1,
      "reloads": 1
    },
    "output": {
      "events": {
        "acked": 0,
        "active": 0,
        "batches": 0,
        "dropped": 0,
        "duplicates": 0,
        "failed": 0,
        "total": 0
      },
      "read": {
        "bytes": 0,
        "errors": 0
      },
      "type": "elasticsearch",
      "write": {
        "bytes": 0,
        "errors": 0
      }
    },
    "pipeline": {
      "clients": 6,
      "events": {
        "active": 716,
        "dropped": 0,
        "failed": 0,
        "filtered": 0,
        "published": 716,
        "retry": 278,
        "total": 716
      },
      "queue": {
        "acked": 0
      }
    }
  },
  "system": {
    "cpu": {
      "cores": 4
    },
    "load": {
      "1": 2.22,
      "15": 1.8,
      "5": 1.74,
      "norm": {
        "1": 0.555,
        "15": 0.45,
        "5": 0.435
      }
    }
  }
}

实际输出可能包含更多特定于 Packetbeat 的指标