GitHub Enterprise Server には、観測と監視を簡略化する Prometheus メトリック エクスポーターが含まれています。 この機能を使うと、メトリックをアプライアンスから直接スクレイピングできるため、Prometheus システムに送信する前に、変換のために collectd メトリックを外部の collectd サーバーに転送する必要がなくなります。 エクスポーターは、Prometheus と互換性のあるメトリックをネイティブにサポートすることで、外部の監視ダッシュボードやアラート システムとのシームレスな統合を実現しています。
Prometheus メトリック エクスポーターとメトリックのスクレイピングを有効にする
既定では、Prometheus メトリック エクスポーターとスクレイピングは無効になっています。
collectd メトリックのエクスポーターを有効にすると、scrape endpoint でメトリック エンドポイント (http(s)://HOSTNAME:9103 とも呼ばれます) が開きます。 ファイアウォール規則でポート 9103 でのトラフィックが許可されていることを確認します。
Prometheus メトリック エクスポーターは、[Management Console]、アプライアンス内のコマンド ライン インターフェイス、または API を使って有効にすることができます。
[Management Console]
の使用を有効にする
-
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅にある をクリックします。
-
[サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。1. [ Site admin] サイドバーで、[[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 からのスクレイピング要求が受け入れられます。 -
[設定] サイドバーで [設定の保存] をクリックします。
メモ
[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 127.0.0.1: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 サポート にお問い合わせください。