GitHub Enterprise Server 包括 Prometheus 指标导出程序,可简化可观测性和监视。 此功能允许直接从设备抓取指标,从而无需将 collectd
指标转发到外部 collectd
服务器进行转换,然后再发送到 Prometheus 系统。 通过本机支持与 Prometheus 兼容的指标,导出程序可实现与外部监视仪表板和警报系统的无缝集成。
启用 Prometheus 指标导出程序和抓取指标
默认情况下,Prometheus 指标导出程序和抓取功能处于禁用状态。 启用 collectd
指标的导出程序会在 http(s)://HOSTNAME:9103
打开指标终结点(也称为 scrape endpoint
)。 请确保防火墙规则允许端口 9103 上的流量。
可使用 管理控制台、设备中的命令行接口或 API 启用 Prometheus 指标导出程序。
使用 管理控制台
启用
-
在 上的管理帐户中,在任一页面的右上角,单击 。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。
-
在“ 站点管理”边栏中,单击“管理控制台”。
-
在监视设置中,选择“Enable prometheus”****。
-
在“Trusted IPv4/IPv6 addresses or CIDR blocks in a comma-separated list”字段中,键入 IP 地址或 CIDR 块的逗号分隔列表****。 示例:
10.0.0.1, 192.168.1.0/8
。 如果此字段留空,则将接受来自任何源 IP 的抓取请求。 -
在“设置”边栏下,单击“保存设置”。
Note
保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。
-
等待配置运行完毕。
通过命令行接口启用
要启用 Prometheus 指标导出程序,请通过 SSH 连接到 GitHub Enterprise Server 设备并运行以下命令:
ghe-config app.prometheus.enabled true
# Specify a comma-separated list of trusted IPv4/IPv6 addresses or CIDR blocks.
ghe-config app.prometheus.trusted-ips "10.0.0.1, 192.168.1.0/8"
ghe-config-apply
使用 API 启用
可通过发送 PUT
请求来更新配置设置,使用 API 启用 Prometheus 指标导出程序。
curl -L -H "Content-Type: application/json" -X PUT -u "api_key:xxxxxxx" https://<hostname>/manage/v1/config/settings -d '{"prometheus": {"enabled": true, "trusted_ips": "10.0.0.1, 192.168.1.0/8"}}'
验证 Prometheus 指标导出程序是否已启用
要验证 Prometheus 指标导出程序是否已启用,请使用 curl
在端口 9103 上查询 /metrics
终结点。 有关管理端口的详细信息,请参阅“网络端口”。
curl localhost:9103/metrics
如果成功,响应将包含具有 collectd_
前缀的指标。
配置外部 Prometheus 服务器
要从 GitHub Enterprise Server 中抓取导出的指标,请将抓取配置添加到外部 Prometheus 服务器上的 prometheus.yaml
文件中。
- job_name: "ghes-prom-agent"
scrape_interval: 10s
static_configs:
- targets: ["http(s)://HOSTNAME:9103/metrics"]
支持隐秘发布的 Prometheus 指标导出程序
如果你自从 Prometheus 指标导出程序在 GitHub Enterprise Server 3.12 中隐秘发布以来一直在使用它,则在升级到 3.16 后,你可继续使用该工具。 在此版本中,现在可以选择指定用于抓取请求的受信任 IP。
分享反馈
你可以与 GitHub 分享有关 Prometheus 指标导出程序和抓取功能的反馈。 要获取其他问题或议题的帮助,请访问 GitHub Enterprise 支持。