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 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 にアクセスして、モニターから送信されたメトリクスを検索します。詳細については、メトリクス・ファインダーとメタデータ・カタログを検索する を参照してください。
インストール 🔗
このインテグレーションを導入するには、以下の手順に従ってください:
Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:
[設定] セクションの説明に従ってインテグレーションを設定します。
Splunk Distribution of OpenTelemetry Collector を再起動します。
GitLabを設定してPrometheusエンドポイントを監視する 🔗
Monitoring GitLab with Prometheus の指示に従って、GitLab Prometheus エクスポーターを設定し、メトリクスエンドポイントターゲットを公開します。
以下のPrometheusエンドポイントターゲットが利用可能です:
モニタータイプ |
リファレンス |
デフォルトポート |
標準パス |
---|---|---|---|
|
GitLab エクスポーター |
9168 |
/metrics |
|
Gitaly と Gitaly Cluster |
9236 |
/metrics |
|
GitLab Runner |
9252 |
/metrics |
|
GitLab SideKiq |
3807 |
/metrics |
|
GitLab Unicorn |
8080 |
/metrics |
|
GitLab Webservice |
8083 |
/metrics |
|
GitLab Workhorse |
9229 |
/metrics |
|
PrometheusでGitLabを監視する |
8060 |
/metrics |
|
ノードエクスポーター |
9100 |
/metrics |
|
PostgreSQLサーバーエクスポーター |
9187 |
/metrics |
|
PrometheusでGitLabを監視する |
9090 |
/metrics |
|
Redisエクスポーター |
9121 |
/metrics |
重要な注意事項 🔗
/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
の実行によって消去されることに注意してください。
OpenTelemetry Collector のホストまたはDockerコンテナからのリクエストを受け付けるように、GitLab Prometheusエクスポーター、nginx、GitLab Runnerを設定する必要があります。
例 🔗
/etc/gitlab/gitlab.rb
の以下の設定は、GitLab Postgres PrometheusエクスポーターがどのIPアドレスからでもポート 9187
でのネットワーク接続を許可するように設定します:
postgres_exporter['listen_address'] = '0.0.0.0:9187'
- または
postgres_exporter['listen_address'] = ':9187'
ファイル /var/opt/gitlab/nginx/conf/nginx-status.conf
は、nginxを設定し、location /metrics
ブロックはメトリクス関連のコンフィギュレーションを示しています。ステートメント 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: 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
設定オプション 🔗
次の表に、このモニターの設定オプションを示します:
オプション |
必須 |
タイプ |
説明 |
---|---|---|---|
|
いいえ |
|
|
|
いいえ |
|
各リクエストで使用される Basic Auth ユーザー名 (ある場合)。 |
|
いいえ |
|
各リクエストで使用するBasic Authパスワード (ある場合)。 |
|
いいえ |
|
|
|
いいえ |
|
|
|
いいえ |
|
|
|
いいえ |
|
|
|
いいえ |
|
TLSが必要な接続に使用するクライアントTLS証明書へのパス |
|
いいえ |
|
TLSが必要な接続に使用するクライアントTLSキーへのパス |
|
はい |
|
エクスポーターのホスト。デフォルトでは |
|
はい |
|
エクスポーターのポート |
|
いいえ |
|
|
|
いいえ |
|
|
|
いいえ |
|
|
メトリクス 🔗
このインテグレーションでは、以下のメトリクスを使用できます。
備考 🔗
Splunk Observability Cloudで利用可能なメトリクスタイプの詳細は、メトリクスタイプ を参照してください。
ホストベースのサブスクリプションプランでは、デフォルトのメトリクスは、ホスト、コンテナ、バンドルメトリクスなど、Splunk Observability Cloudのホストベースのサブスクリプションに含まれるメトリクスです。カスタムメトリクスはデフォルトでは提供されず、料金が発生する場合があります。詳細については、メトリクスカテゴリ を参照してください。
MTSベースのサブスクリプションプランでは、すべてのメトリクスがカスタムです。
メトリクスを追加するには、その他のメトリクスの追加 で
extraMetrics
の設定方法を参照してください。
トラブルシューティング 🔗
Splunk Observability Cloudをご利用のお客様で、Splunk Observability Cloudでデータを確認できない場合は、以下の方法でサポートを受けることができます。
Splunk Observability Cloudをご利用のお客様
Splunk サポートポータル でケースを送信する
Splunkサポート に連絡する
見込み客および無料トライアルユーザー様
Splunk Answers のコミュニティサポートで質問し、回答を得る
Join the Splunk #observability user group Slack channel to communicate with customers, partners, and Splunk employees worldwide. To join, see Chat groups in the Get Started with Splunk Community manual.