Skip to main content

Enterprise Server 3.16 は、現在リリース候補として使用できます。

Prometheus メトリックのエクスポートとスクレイピング

GitHub Enterprise Server は、collectd データを変換することで Prometheus と互換性のあるメトリックを用意しています。 これらのメトリックは専用のエンドポイントからスクレイピングできるため、観測や監視のツールと統合してパフォーマンスに関する分析情報を得ることができます。

GitHub Enterprise Server には、観測と監視を簡略化する Prometheus メトリック エクスポーターが含まれています。 この機能を使うと、メトリックをアプライアンスから直接スクレイピングできるため、Prometheus システムに送信する前に、変換のために collectd メトリックを外部の collectd サーバーに転送する必要がなくなります。 エクスポーターは、Prometheus と互換性のあるメトリックをネイティブにサポートすることで、外部の監視ダッシュボードやアラート システムとのシームレスな統合を実現しています。

Prometheus メトリック エクスポーターとメトリックのスクレイピングを有効にする

既定では、Prometheus メトリック エクスポーターとスクレイピングは無効になっています。 collectd メトリックのエクスポーターを有効にすると、http(s)://HOSTNAME:9103 でメトリック エンドポイント (scrape endpoint とも呼ばれます) が開きます。 ファイアウォール規則でポート 9103 でのトラフィックが許可されていることを確認します。

Prometheus メトリック エクスポーターは、[Management Console]、アプライアンス内のコマンド ライン インターフェイス、または API を使って有効にすることができます。

[Management Console]

の使用を有効にする

  1. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅にある をクリックします。

  2. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

  3. [ サイト管理者] サイドバーで [Management Console] をクリックします。

  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

    [Management Console] で設定を保存すると、システム サービスが再起動され、ユーザーにわかるダウンタイムが発生する可能性があります。

  7. 設定の実行が完了するのを待ってください。

コマンド ライン インターフェイス経由で有効にする

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 サポート にお問い合わせください。