Skip to main content

Enterprise Server 3.16 目前作为候选发布提供。

导出和抓取 Prometheus 指标

GitHub Enterprise Server 通过转换 collectd 数据提供与 Prometheus 兼容的指标。 可以从专用终结点中抓取这些指标,从而与可观测性和监视工具集成以获取性能见解。

GitHub Enterprise Server 包括 Prometheus 指标导出程序,可简化可观测性和监视。 此功能允许直接从设备抓取指标,从而无需将 collectd 指标转发到外部 collectd 服务器进行转换,然后再发送到 Prometheus 系统。 通过本机支持与 Prometheus 兼容的指标,导出程序可实现与外部监视仪表板和警报系统的无缝集成。

启用 Prometheus 指标导出程序和抓取指标

默认情况下,Prometheus 指标导出程序和抓取功能处于禁用状态。 启用 collectd 指标的导出程序会在 http(s)://HOSTNAME:9103 打开指标终结点(也称为 scrape endpoint)。 请确保防火墙规则允许端口 9103 上的流量。

可使用 管理控制台、设备中的命令行接口或 API 启用 Prometheus 指标导出程序。

使用 管理控制台

启用

  1. 在 上的管理帐户中,在任一页面的右上角,单击

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。

  3. 在“ 站点管理”边栏中,单击“管理控制台”。

  4. 在监视设置中,选择“Enable prometheus”****。

  5. 在“Trusted IPv4/IPv6 addresses or CIDR blocks in a comma-separated list”字段中,键入 IP 地址或 CIDR 块的逗号分隔列表****。 示例:10.0.0.1, 192.168.1.0/8。 如果此字段留空,则将接受来自任何源 IP 的抓取请求。

  6. 在“设置”边栏下,单击“保存设置”。

    Note

    保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。

  7. 等待配置运行完毕。

通过命令行接口启用

要启用 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 支持