Skip to main content

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

インスタンスの OpenTelemetry の構成

監視と可観測性を強化するために、GitHub Enterprise Server インスタンスで OpenTelemetry メトリック収集を構成する方法を学びます。

OpenTelemetry メトリックは、GitHub Enterprise Server 3.18 以降から入手できる、監視の将来の基盤です。 この新しい監視スタックにより、従来の収集されたシステムと比較して、監視と管理機能が強化されます。

収集されたメトリックは引き続き既定で収集され、このリリースでは引き続き完全にサポートされます。

[前提条件]

  • GitHub Enterprise Server 3.18 以降
  • [Management Console] への管理アクセスについて
  • {% data variables.product.prodname_ghe_server %} アプライアンスへのSSHアクセス

OpenTelemetry メトリックの有効化

OpenTelemetry メトリックは、GitHub Enterprise Server 3.19 以降の 新規インストール に対して既定で有効になっています。 GitHub Enterprise Server 3.19 へのアップグレードでは、collectd メトリックは既定で有効になりますが、OpenTelemetry メトリックに切り替えることができます。

パフォーマンスに関する考慮事項

OpenTelemetry メトリックを構成する場合は、次のパフォーマンス要因を考慮してください。

  •         **収集頻度**: 収集の頻度が高いほど、システムの負荷が増加します
    
  •         **データ保有期間**: 保持期間が長いほど、より多くのストレージが必要
    
  •         **カスタム エクスポーター**: 追加のエクスポーターによって CPU とメモリの使用量が増加する可能性がある
    
  •         **ネットワーク帯域幅**: 外部メトリック配布がネットワークの使用状況に影響する
    

メトリック収集の構成

OpenTelemetry メトリックを有効にすると、メトリック収集プロセスのさまざまな側面をカスタマイズできます。

収集間隔の設定

既定のメトリック収集間隔は 30 秒です。 これは、監視のニーズに基づいて調整できます。

重要

間隔を短くすると、メトリックの精度が向上しますが、ストレージ要件とシステム負荷も増加します。 この設定を調整する前に、システム リソースと監視の要件を検討してください。

[Management Console] を使って間隔を設定する

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

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

  3. 監視設定の [ メトリックスクレーピング間隔] に、目的の間隔を秒単位で入力します (例: 60)。

  4. [設定] サイドバーで [設定の保存] をクリックします。

    メモ

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

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

コマンド ラインを使用して間隔を設定する

GitHub Enterprise Server アプライアンスに SSH で接続し、以下のコマンドを実行してください。

# Set scrape interval to 60 seconds
ghe-config observability.metrics.interval 60
ghe-config-apply

データ保持の構成

既定では、メトリック データは 30 日間保持されます。 この設定は、[Management Console] またはコマンド ラインを使用して変更できます。

[Management Console] を使用して保持期間を構成する

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

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

  3. 監視設定の [メトリックの リテンション期間] で、必要な保有期間を日数で入力します (例: 15)。

  4. [設定] サイドバーで [設定の保存] をクリックします。

    メモ

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

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

コマンド ラインを使用してリテンション期間を構成する

GitHub Enterprise Server アプライアンスに SSH で接続し、以下のコマンドを実行してください。

# Set retention to 15 days
ghe-config observability.metrics.retention 15
ghe-config-apply

内部テレメトリの詳細度レベルを設定する

OpenTelemetry コレクターは、コレクター自体の正常性とパフォーマンスを監視するための独自の内部テレメトリ データを生成します。 コマンド ラインを使用して、この内部テレメトリの詳細度を構成できます。

利用できるテレメトリ レベルは次のとおりです。 * none: 内部テレメトリを無効にします * basic: 重要なテレメトリ データを提供します (既定) * normal: 標準のテレメトリ データを提供します * detailed: デバッグ用の詳細なテレメトリ データを提供します

GitHub Enterprise Server アプライアンスに SSH で接続し、以下のコマンドを実行してください。

# Set internal telemetry level to normal
ghe-config observability.metrics.internal-otel-telemetry-level normal
ghe-config-apply

メモ

テレメトリ レベルが高いほど、コレクターの内部操作に関する詳細情報が得られますが、リソースの使用量も増加します。 運用環境では、basic レベルを推奨します。ただし、コレクターの問題のトラブルシューティングが必要である場合を除きます。

構成の問題のトラブルシューティング

OpenTelemetry の構成で問題が発生した場合は、次の情報を参考にして、一般的な問題を特定して解決できます。

一般的な構成の問題

  •         **サービスの起動エラー**: システム ログでエラー メッセージを確認する
    
  •         **リソースの制約**: 収集間隔を調整するときにシステム リソースを監視する
    

ローカル ログの表示

デバッグするノードに SSH 接続し、次のコマンドを実行します。

OpenTelemetry コレクター ログを表示します。

sudo journalctl -u otelcol-contrib -f

VictoriaMetrics ログを表示する:

sudo journalctl -u victoriametrics -f

次のステップ