GitHub Enterprise Server には、観測と監視を簡略化する Prometheus メトリック エクスポーターが含まれています。 この機能を使うと、メトリックをアプライアンスから直接スクレイピングできるため、Prometheus システムに送信する前に、変換のために collectd
メトリックを外部の collectd
サーバーに転送する必要がなくなります。 エクスポーターは、Prometheus と互換性のあるメトリックをネイティブにサポートすることで、外部の監視ダッシュボードやアラート システムとのシームレスな統合を実現しています。
Prometheus メトリック エクスポーターとメトリックのスクレイピングを有効にする
既定では、Prometheus メトリック エクスポーターとスクレイピングは無効になっています。 collectd
メトリックのエクスポーターを有効にすると、http(s)://HOSTNAME:9103
でメトリック エンドポイント (scrape endpoint
とも呼ばれます) が開きます。 ファイアウォール規則でポート 9103 でのトラフィックが許可されていることを確認します。
Prometheus メトリック エクスポーターは、[Management Console]、アプライアンス内のコマンド ライン インターフェイス、または API を使って有効にすることができます。
[Management Console]
の使用を有効にする
-
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅にある をクリックします。
-
[サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。
-
[ サイト管理者] サイドバーで [Management Console] をクリックします。
-
監視設定で、[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
[Management Console] で設定を保存すると、システム サービスが再起動され、ユーザーにわかるダウンタイムが発生する可能性があります。
-
設定の実行が完了するのを待ってください。
コマンド ライン インターフェイス経由で有効にする
Prometheus メトリック エクスポーターを有効にするには、GitHub Enterprise Server アプライアンスに SSH で接続し、次のコマンドを実行します。
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 の使用を有効にする
API を使って Prometheus メトリック エクスポーターを有効にするには、PUT
要求を送信して構成設定を更新します。
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 メトリック エクスポーターのサポート
GitHub Enterprise Server 3.12 でアナウンスなしでリリースされて以来、Prometheus メトリック エクスポーターを使っている場合は、3.16 にアップグレードした後も引き続き機能します。 このバージョンでは、スクレイピング要求に信頼できる IP を指定するオプションが追加されました。
フィードバックを送る
Prometheus メトリック エクスポーターとスクレイピング機能に関するフィードバックは、GitHub までお寄せください。 不明な点や問題がある場合は、GitHub Enterprise サポート にお問い合わせください。