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 を参照してください。
インストール 🔗
このインテグレーションを導入するには、以下の手順に従ってください:
Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:
[設定] セクションの説明に従ってインテグレーションを設定します。
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 エクスポーター |
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 |
重要な注意事項 🔗
If you configure GitLab by editing
/etc/gitlab/gitlab.rb
, run the commandgitlab-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 commandgitlab-ctl restart
.Note that changes to the configuration file
/var/opt/gitlab/nginx/conf/nginx-status.conf
in particular are erased by subsequent runs ofgitlab-ctl reconfigure
becausegitlab-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 のインテグレーションを使用するには、以下の手順に従います:
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キーへのパス |
|
はい |
|
エクスポーターのホスト。デフォルトでは |
|
はい |
|
エクスポーターのポート |
|
いいえ |
|
|
|
いいえ |
|
|
|
いいえ |
|
|
メトリクス 🔗
このインテグレーションでは、以下のメトリクスを使用できます。
備考 🔗
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をご利用のお客様
Submit a case in the Splunk Support Portal .
Contact Splunk Support .
見込み客および無料トライアルユーザー様
Splunk Answers のコミュニティサポートで質問し、回答を得る
Splunk #observability ユーザーグループの Slack チャンネルに参加して、世界中の顧客、パートナー、Splunk 社員とのコミュニケーションを図る。参加するには、Get Started with Splunk Community マニュアルの チャットグループ を参照してください。