GitLab 🔗
Splunk Distribution of OpenTelemetry Collector は、Smart Agent レシーバー を GitLab モニタータイプで使用して 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 Workhorse: 低速なHTTPリクエストを処理するGitLabサービス。Workhorseには組み込みのPrometheusエクスポーターがあり、このモニターはメトリクスを収集するために使用します。
このモニタータイプは、GitLabバージョン9.3以降を使用するKubernetes、Linux、Windowsで利用可能です。
メリット 🔗
インテグレーションを設定すると、これらの機能にアクセスできるようになります:
メトリクスを表示します。独自のカスタム・ダッシュボードを作成することができ、ほとんどのモニターは組み込みのダッシュボードも提供しています。ダッシュボードについては、Splunk Observability Cloudでダッシュボードを表示する を参照してください。
Infrastructure Monitoring に表示される環境内の物理サーバー、仮想マシン、AWS インスタンス、およびその他のリソースのデータ駆動型の視覚化を表示します。ナビゲーターについては、Splunk Infrastructure Monitoring でナビゲーターを使用する を参照してください。
Metric Finder にアクセスして、モニターから送信されたメトリクスを検索します。詳細については、メトリクス・ファインダーとメタデータ・カタログを検索する を参照してください。
インストール 🔗
このインテグレーションを導入するには、以下の手順に従ってください:
Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:
[設定] セクションの説明に従ってインテグレーションを設定します。
Splunk Distribution of OpenTelemetry Collector を再起動します。
GitLabの設定 🔗
Monitoring GitLab with Prometheus の指示に従って、GitLab Prometheus エクスポーターを設定し、メトリクスエンドポイントターゲットを公開します。
/etc/gitlab/gitlab.rb
を編集してGitLabを設定した場合、変更を有効にするにはコマンド gitlab-ctl reconfigure
を実行する必要があります。
ファイル /var/opt/gitlab/nginx/conf/nginx-status.conf
を編集して nginx を設定する場合は、コマンド gitlab-ctl restart
を実行する必要があります。特にコンフィギュレーションファイル /var/opt/gitlab/nginx/conf/nginx-status.conf
への変更は、gitlab-ctl reconfigure
が元のコンフィギュレーションファイルを復元するため、gitlab-ctl reconfigure
の実行によって消去されることに注意してください。
次の表は、Prometheus のエンドポイントターゲットの一部と、それぞれの設定ページへのリンクを示しています。
モニタータイプ |
リファレンス |
デフォルトポート |
標準パス |
---|---|---|---|
|
GitLab エクスポーター |
9168 |
/metrics |
|
Gitaly と Gitaly Cluster |
9236 |
/metrics |
|
GitLab Runner |
9252 |
/metrics |
|
GitLab SideKiq |
8082 |
/metrics |
|
GitLab Unicorn |
8080 |
/-/metrics |
|
GitLab Workhorse |
9229 |
/metrics |
|
PrometheusでGitLabを監視する |
8060 |
/metrics |
|
ノードエクスポーター |
9100 |
/metrics |
|
PostgreSQLサーバーエクスポーター |
9187 |
/metrics |
|
PrometheusでGitLabを監視する |
9090 |
/metrics |
|
Redisエクスポーター |
9121 |
/metrics |
GitLab Prometheus エクスポーター、nginx、GitLab Runner は、OpenTelemetry Collector のホストまたは Docker コンテナからのリクエストを受け付けるように設定する必要があります。例えば、/etc/gitlab/gitlab.rb
の以下の設定は、GitLab Postgres Prometheus exporter がどの IP アドレスからでもポート 9187
でのネットワーク接続を許可するように設定します:
postgres_exporter['listen_address'] = '0.0.0.0:9187'
または
postgres_exporter['listen_address'] = ':9187'
ファイル /var/opt/gitlab/nginx/conf/nginx-status.conf
からの次の抜粋は、メトリクス関連のコンフィギュレーションのための location /metrics
ブロックを示しています。このファイルはnginxを設定します。ステートメント allow 172.17.0.0/16;
は 172.17.0.0/16
IP 範囲でのネットワーク接続を許可します。OpenTelemetry Collector に関連する IP アドレスがその IP 範囲にあることが前提です。
server {
...
location /metrics {
...
allow 172.17.0.0/16;
deny all;
}
}
次の行はファイル /etc/gitlab-runner/config.toml
のグローバルセクションの一部です。このファイルはGitLab Runnerを設定します。以下の文は、GitLab RunnerのPrometheusメトリクスHTTPサーバーが、どのIPアドレスからでもポート 9252
でのネットワーク接続を許可するように設定します:
listen_address = "0.0.0.0:9252"
...
設定 🔗
Smart Agent モニターとCollector のインテグレーションを使用するには、以下の手順に従います:
Smart Agent レシーバーを設定ファイルに含めます。
レシーバーセクションおよびパイプラインセクションの両方で、Collector 構成にモニタータイプを追加します。
Collector でSmart Agent モニターを使用する の方法を参照してください。
Smart Agent レシーバー の設定方法を参照してください。
一般的な設定オプションのリストについては、モニターの共通設定 を参照してください。
Collectorの詳細は、はじめに:Collectorを理解して使用する を参照してください。
例 🔗
このインテグレーションを有効にするには、Collector構成に以下を追加します:
receivers:
smartagent/gitlab:
type: gitlab
... # Additional config
次に、監視したいサービスを設定ファイルの service.pipelines.metrics.receivers
に追加します:
receivers:
smartagent/gitlab-sidekiq:
type: gitlab
host: localhost
port: 8082
smartagent/gitlab-workhorse:
type: gitlab
host: localhost
port: 9229
# ... Other sections
service:
pipelines:
metrics:
receivers:
- smartagent/gitlab-sidekiq
- smartagent/gitlab-workhorse
# ... Other sections
設定オプション 🔗
次の表に、このモニターの設定オプションを示します:
オプション |
必須 |
タイプ |
説明 |
---|---|---|---|
|
いいえ |
|
|
|
いいえ |
|
各リクエストで使用される Basic Auth ユーザー名 (ある場合)。 |
|
いいえ |
|
各リクエストで使用するBasic Authパスワード (ある場合)。 |
|
いいえ |
|
|
|
いいえ |
|
|
|
いいえ |
|
|
|
いいえ |
|
|
|
いいえ |
|
TLSが必要な接続に使用するクライアントTLS証明書へのパス |
|
いいえ |
|
TLSが必要な接続に使用するクライアントTLSキーへのパス |
|
はい |
|
エクスポーターのホスト |
|
はい |
|
エクスポーターのポート |
|
いいえ |
|
|
|
いいえ |
|
|
|
いいえ |
|
|
メトリクス 🔗
このインテグレーションでは、以下のメトリクスを使用できます。
備考 🔗
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 サポートポータル でケースを送信する
Contact Splunk Support .
見込み客および無料トライアルユーザー様
Splunk Answers のコミュニティサポートで質問し、回答を得る
Splunk #observability ユーザーグループの Slack チャンネルに参加して、世界中の顧客、パートナー、Splunk 社員とのコミュニケーションを図る。参加するには、Get Started with Splunk Community マニュアルの チャットグループ を参照してください。