Skip to main content

Configuring OpenTelemetry for your instance

Learn how to configure OpenTelemetry metrics collection on your GitHub Enterprise Server instance for enhanced monitoring and observability.

OpenTelemetry metrics are the future foundation for monitoring, available from GitHub Enterprise Server 3.18 onward. This new monitoring stack provides enhanced observability and management capabilities compared to the legacy collectd system.

Collectd metrics continue to be gathered by default and remain fully supported in this release.

メモ

OpenTelemetry metrics are in パブリック プレビュー and subject to change. We would love to hear your feedback on the preview. You can share it with your customer success team, or leave a comment in the community discussion post.

Prerequisites

  • GitHub Enterprise Server 3.18 or later
  • Administrative access to the [Management Console]
  • SSH access to your GitHub Enterprise Server appliance

Enabling OpenTelemetry metrics

OpenTelemetry metrics are disabled by default. You can enable them through the [Management Console] or command line.

Using the [Management Console]

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

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

  3. [ Site admin] サイドバーで、[[Management Console]] をクリックします。

  4. In the monitoring settings, select Enable OpenTelemetry.

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

    メモ

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

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

Using the command line

  1. お使いの GitHub Enterprise Server インスタンス に SSH で接続します。 インスタンスが複数のノードで構成されている場合は (高可用性や geo レプリケーションが構成されている場合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する場合は、任意のノードに SSH 接続できます。 HOSTNAME をインスタンスのホスト名、またはノードのホスト名または IP アドレスに置き換えます。 詳しくは、「管理シェル (SSH) にアクセスする」をご覧ください。

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Run the following command to enable OpenTelemetry metrics.

    ghe-config observability.metrics.next-enabled true
    
  3. 構成を適用するには、次のコマンドを実行します。

    メモ

    構成の実行中に、お使いの GitHub Enterprise Server インスタンス 上のサービスが再起動する可能性があり、これによりユーザーに短時間のダウンタイムが発生する場合があります。

    Shell
    ghe-config-apply
    
  4. 設定の実行が完了するのを待ってください。

Performance considerations

When configuring OpenTelemetry metrics, consider the following performance factors:

  • Collection frequency: More frequent collection increases system load
  • Data retention: Longer retention periods require more storage
  • Custom exporters: Additional exporters may increase CPU and memory usage
  • Network bandwidth: External metric shipping affects network usage

Configuring metrics collection

After enabling OpenTelemetry metrics, you can customize various aspects of the metrics collection process.

Setting collection intervals

The default metrics collection interval is 30 seconds. You can adjust this based on your monitoring needs.

重要

Setting shorter intervals increases the precision of metrics but also increases storage requirements and system load. Consider your system resources and monitoring requirements before adjusting this setting.

Using the [Management Console] to set intervals

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

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

  3. [ Site admin] サイドバーで、[[Management Console]] をクリックします。

  4. In the monitoring settings, under Metrics scrape interval, enter the desired interval in seconds (for example, 60).

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

    メモ

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

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

Using the command line to set intervals

SSH into your GitHub Enterprise Server appliance and run the following commands:

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

Configuring data retention

By default, metrics data is retained for 30 days. You can modify this setting using either the [Management Console] or command line.

Using the [Management Console] to configure retention

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

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

  3. [ Site admin] サイドバーで、[[Management Console]] をクリックします。

  4. In the monitoring settings, under Metrics retention, enter the desired retention period in days (for example, 15).

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

    メモ

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

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

Using the command line to configure retention

SSH into your GitHub Enterprise Server appliance and run the following commands:

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

Configuring the verbosity level for internal telemetry

The OpenTelemetry collector generates its own internal telemetry data for monitoring the health and performance of the collector itself. You can configure the verbosity of this internal telemetry using the command line.

The available telemetry levels are:

  • none: Disables internal telemetry
  • basic: Provides essential telemetry data (default)
  • normal: Provides standard telemetry data
  • detailed: Provides verbose telemetry data for debugging

SSH into your GitHub Enterprise Server appliance and run the following commands:

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

メモ

Higher telemetry levels provide more detailed information about the collector's internal operations but also increase resource usage. The basic level is recommended for production environments unless you need to troubleshoot collector issues.

Troubleshooting configuration issues

If you encounter problems with OpenTelemetry configuration, the following information can help you identify and resolve common issues.

Common configuration problems

  • Service startup failures: Check system logs for error messages
  • Resource constraints: Monitor system resources when adjusting collection intervals

Viewing local logs

SSH into the node you want to debug and run the following commands:

View OpenTelemetry collector logs:

sudo journalctl -u otelcol-contrib -f

View VictoriaMetrics logs:

sudo journalctl -u victoriametrics -f

Next steps