为指标配置 HTTP 端点edit

此功能处于技术预览阶段,可能会在未来版本中更改或移除。Elastic 会尽力修复任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 的约束。

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

HTTP 端点具有以下配置设置

http.enabled
(可选) 启用 HTTP 端点。默认值为 false
http.host
(可选) 绑定到此主机名、IP 地址、unix 套接字 (unix:///var/run/metricbeat.sock) 或 Windows 命名管道 (npipe:///metricbeat)。建议仅使用 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 倍。要在配置文件中包含每个阻塞事件,请传递 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 输出,请在 URL 后追加 ?pretty

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

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

信息edit

/ 提供来自 Metricbeat 的基本信息。示例

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

统计信息edit

/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
      }
    }
  }
}

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