Docs » Splunk Observability Cloud でサポートされているインテグレーション » GitLabのアプリケーション・レシーバーを設定する » GitLab

GitLab 🔗

The Splunk Distribution of the OpenTelemetry Collector uses the Smart Agent receiver with the GitLab monitor type to monitor GitLab.

GitLabにはPrometheusエクスポーターがバンドルされており、GitLab自身とGitLabが依存するバンドル・ソフトウェアのパフォーマンス・メトリクスをエクスポートするように設定することができます。これらのエクスポーターは、このモニタータイプによってスクレイピングされるエンドポイントでPrometheusメトリクスを公開します。

このインテグレーションにより、以下をモニターすることができます:

  • GitalyとGitaly Cluster:Gitalyは、GitLabによって行われるすべてのgitコールを処理するためのgitリモートプロシージャコール(RPC)サービスです。このモニターはGitlab Gitaly git RPCサーバーをスクレイピングします。

  • GitLab Runner:GitLab RunnerはPrometheusを使って監視することができます。詳しくはGitLab DocsのGitLab Runnerドキュメントを参照してください。

  • GitLab Sidekiq:Gitlab Sidekiq Prometheus Exporterをスクレイピングします。

  • GitLab Unicornサーバー:Prometheus エクスポーターが付属しています。コレクタがエンドポイントにアクセスするためには、コンテナやホストのIPアドレスを許可する必要があります。詳細はGitLab Docsの IP allowlist ドキュメントを参照してください。

  • GitLab Webservice:GitLabのRailsウェブサーバーにポッドごとに2つのWebserviceワーカーを提供します。

  • GitLab Workhorse: 低速なHTTPリクエストを処理するGitLabサービス。Workhorseには組み込みのPrometheusエクスポーターがあり、このモニターはメトリクスを収集するために使用します。

このモニタータイプは、GitLabバージョン9.3以降を使用するKubernetes、Linux、Windowsで利用可能です。

メリット 🔗

インテグレーションを設定すると、これらの機能にアクセスできるようになります:

  • メトリクスを表示します。独自のカスタム・ダッシュボードを作成することができ、ほとんどのモニターは組み込みのダッシュボードも提供しています。ダッシュボードについては、Splunk Observability Cloudでダッシュボードを表示する を参照してください。

  • Infrastructure Monitoring に表示される環境内の物理サーバー、仮想マシン、AWS インスタンス、およびその他のリソースのデータ駆動型の視覚化を表示します。ナビゲーターについては、Splunk Infrastructure Monitoring でナビゲーターを使用する を参照してください。

  • Metric Finder にアクセスして、モニターから送信されたメトリクスを検索します。詳細については、Search the Metric Finder and Metadata Catalog を参照してください。

インストール 🔗

このインテグレーションを導入するには、以下の手順に従ってください:

  1. Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:

  2. [設定] セクションの説明に従ってインテグレーションを設定します。

  3. Splunk Distribution of OpenTelemetry Collector を再起動します。

Configure GitLab to monitor Prometheus endpoints 🔗

Monitoring GitLab with Prometheus の指示に従って、GitLab Prometheus エクスポーターを設定し、メトリクスエンドポイントターゲットを公開します。

The following Prometheus endpoint targets are available:

モニタータイプ

リファレンス

デフォルトポート

標準パス

gitlab-exporter

GitLab エクスポーター

9168

/metrics

gitlab-gitaly

Gitaly と Gitaly Cluster

9236

/metrics

gitlab-runner

GitLab Runner

9252

/metrics

gitlab-sidekiq

GitLab SideKiq

3807

/metrics

gitlab-unicorn

GitLab Unicorn

8080

/metrics

gitlab-webservice

GitLab Webservice

8083

/metrics

gitlab-workhorse

GitLab Workhorse

9229

/metrics

prometheus/nginx-vts

PrometheusでGitLabを監視する

8060

/metrics

prometheus/node

ノードエクスポーター

9100

/metrics

prometheus/postgres

PostgreSQLサーバーエクスポーター

9187

/metrics

prometheus/prometheus

PrometheusでGitLabを監視する

9090

/metrics

prometheus/redis

Redisエクスポーター

9121

/metrics

重要な注意事項 🔗

  • If you configure GitLab by editing /etc/gitlab/gitlab.rb, run the command gitlab-ctl reconfigure for the changes to take effect.

  • If you configure nginx by editing the file /var/opt/gitlab/nginx/conf/nginx-status.conf, run the command gitlab-ctl restart.

    • Note that changes to the configuration file /var/opt/gitlab/nginx/conf/nginx-status.conf in particular are erased by subsequent runs of gitlab-ctl reconfigure because gitlab-ctl reconfigure restores the original configuration file.

  • OpenTelemetry Collector のホストまたはDockerコンテナからのリクエストを受け付けるように、GitLab Prometheusエクスポーター、nginx、GitLab Runnerを設定する必要があります。

🔗

The following configuration in /etc/gitlab/gitlab.rb configures the GitLab Postgres Prometheus exporter to allow network connections on port 9187 from any IP address:

postgres_exporter['listen_address'] = '0.0.0.0:9187'
または
postgres_exporter['listen_address'] = ':9187'

The file /var/opt/gitlab/nginx/conf/nginx-status.conf configures nginx, and the location /metrics block shows metric-related configuration. Use the statement allow 172.17.0.0/16; to allow network connection in the 172.17.0.0/16 IP range, assuming that the IP address associated with the OpenTelemetry Collector is in that IP range.

server {
    ...
    location /metrics {
    ...
    allow 172.17.0.0/16;
    deny all;
    }
}

The /etc/gitlab-runner/config.toml file configures GitLab Runner. To configure GitLab Runner’s Prometheus metrics HTTP server to allow network connection on port 9252 from any IP address use:

listen_address = "0.0.0.0:9252"
...

設定 🔗

Smart Agent モニターとCollector のインテグレーションを使用するには、以下の手順に従います:

  1. Smart Agent レシーバーを設定ファイルに含めます。

  2. レシーバーセクションおよびパイプラインセクションの両方で、Collector 構成にモニタータイプを追加します。

🔗

このインテグレーションを有効にするには、Collector構成に以下を追加します:

receivers:
  smartagent/gitlab:
    type: gitlab
    ... # Additional config

次に、監視したいサービスを設定ファイルの service.pipelines.metrics.receivers に追加します:

receivers:
  smartagent/gitlab-sidekiq:
    type: gitlab
    host: gitlab-webservice-default.default
    port: 3807
  smartagent/gitlab-workhorse:
    type: gitlab
    host: gitlab-webservice-default.default
    port: 9229

# ... Other sections

service:
  pipelines:
    metrics:
      receivers:
        - smartagent/gitlab-sidekiq
        - smartagent/gitlab-workhorse

# ... Other sections

設定オプション 🔗

次の表に、このモニターの設定オプションを示します:

オプション

必須

タイプ

説明

httpTimeout

いいえ

int64

読み込みと書き込みの両方のHTTPタイムアウト時間。これは

ParseDuration によって受け入れられる継続時間文字列デフォルト値は 10s です。

username

いいえ

string

各リクエストで使用される Basic Auth ユーザー名 (ある場合)。

password

いいえ

string

各リクエストで使用するBasic Authパスワード (ある場合)。

useHTTPS

いいえ

bool

true の場合、コレクタは次を使用してサーバーに接続します

プレーン HTTP ではなく HTTPS。デフォルト値は false です。

httpHeaders

いいえ

map of strings

HTTP ヘッダー名と値のマップ。カンマ区切りの複数

カンマ区切りの複数の値もサポートしています。

skipVerify

いいえ

bool

useHTTPStrue で、このオプションも true の場合、

エクスポーターのTLS証明書は検証されません。デフォルト値は false です。

caCertPath

いいえ

string

TLS証明書に署名したCA証明書へのパス。

skipVerifyfalse に設定されている場合は不要です。

clientCertPath

いいえ

string

TLSが必要な接続に使用するクライアントTLS証明書へのパス

clientKeyPath

いいえ

string

TLSが必要な接続に使用するクライアントTLSキーへのパス

host

はい

string

エクスポーターのホスト。デフォルトでは gitlab-webservice-default.default

port

はい

integer

エクスポーターのポート

useServiceAccount

いいえ

bool

認証にポッドサービスアカウントを使用します。デフォルト値は

false です。

metricPath

いいえ

string

エクスポーター・サーバー上のメトリクス・エンドポイントへのパス。通常は

/metrics で、これはデフォルト値です。

sendAllMetrics

いいえ

bool

Prometheusエクスポーターから出力されるすべてのメトリクスを

フィルターリングなし。このオプションは、Prometheusエクスポーターモニターを直接使用する場合には、組み込みのフィルターリングがないため効果がありません。デフォルト値は false です。

メトリクス 🔗

このインテグレーションでは、以下のメトリクスを使用できます。

備考 🔗

  • To learn more about the available in Splunk Observability Cloud see メトリクスタイプ

  • In host-based subscription plans, default metrics are those metrics included in host-based subscriptions in Splunk Observability Cloud, such as host, container, or bundled metrics. Custom metrics are not provided by default and might be subject to charges. See メトリクスカテゴリ for more information.

  • MTSベースのサブスクリプションプランでは、すべてのメトリクスがカスタムです。

  • メトリクスを追加するには、その他のメトリクスの追加extraMetrics の設定方法を参照してください。

トラブルシューティング 🔗

Splunk Observability Cloudをご利用のお客様で、Splunk Observability Cloudでデータを確認できない場合は、以下の方法でサポートを受けることができます。

Splunk Observability Cloudをご利用のお客様

見込み客および無料トライアルユーザー様

  • Splunk Answers のコミュニティサポートで質問し、回答を得る

  • Splunk #observability ユーザーグループの Slack チャンネルに参加して、世界中の顧客、パートナー、Splunk 社員とのコミュニケーションを図る。参加するには、Get Started with Splunk Community マニュアルの チャットグループ を参照してください。

このページは 2024年12月09日 に最終更新されました。