AWSリソースの監視

GitLab 9.4 で導入されました

GitLabは、Elastic Load Balancerを始めとするAWSリソースの自動検出と監視をサポートしています。 これは、CloudwatchのメトリクスをPrometheusで読める形に変換する公式のCloudwatchエクスポートを活用することで提供されています。

要件

Prometheus サービスが有効になっている必要があります。

対応メトリクス

名称 クエリ
スループット(req/秒) sum(aws_elb_request_count_sum{%{environment_filter}}) / 60
待ち時間 (ms) avg(aws_elb_latency_average{%{environment_filter}}) * 1000
HTTPエラー率(%) sum(aws_elb_httpcode_backend_5_xx_sum{%{environment_filter}}) / sum(aws_elb_request_count_sum{%{environment_filter}})

Cloudwatchメトリクスを監視するためのPrometheusの設定

Cloudwatchモニタリングを始めるには、指定されたCloudwatchメトリクスを取得・解析し、Prometheusモニタリングエンドポイントに変換するCloudwatchエクスポートをインストール・設定する必要があります。

現在、サポートされているAWSリソースはElastic Load Balancerのみで、そのCloudwatchメトリクスはこちらに記載されています。

基本的なAWS ELBモニタリング用に設定されたCloudwatch Exporter設定ファイルのサンプルがダウンロード可能です。

環境ラベルの指定

しかし、与えられた環境に対して関連するメトリクスだけを分離して表示するためには、GitLabはどのラベルが関連付けられているかを検出する方法が必要です。 これを行うために、GitLabはenvironment ラベルを探します。