Datadog でインフラストラクチャーメトリクスを GitLab ジョブと関連付ける
注: この方法は "Instance" または "Docker Autoscaler" エグゼキュータを使用しているランナーにのみ適用されます。
概要
CI Visibility Explorer で GitLab ジョブをクリックすると、ホスト、システム、ホストタグ、ホストメトリクスなどの情報を含む Infrastructure タブにアクセスできます。
このガイドでは、GitLab の “Instance” または “Docker Autoscaler” エグゼキュータを使用している場合に、CI Visibility を利用して GitLab ジョブとインフラストラクチャーメトリクスを関連付ける方法を説明します。
前提条件
GitLab ジョブが実行される仮想マシン (VM) に Datadog Agent がインストールされている必要があります。GitLab インスタンスや Docker Autoscaler エグゼキュータが実行されている場所ではなく、fleeting プラグインで作成される VM 側です。
インスタンスに Datadog Agent がインストールされていることを確認する
AWS Autoscaling Group を使用している場合は、テンプレートで設定されているマシンイメージが Datadog Agent を起動時に読み込むようにしてください。
このステップが正しく行われているかテストするには、ジョブを実行し、Infrastructure List ページにホストが表示されるか確認してください。
AWS を使用している場合、ホスト名が “i-xxxxx”
の形式であることを確認してください。そうなっていない場合、インスタンスが IMDSv1 に対応しているかを確認してください。詳細は 公式 AWS ドキュメントを参照してください。
AWS Autoscaling Group のテンプレート内でこれを設定できます。Datadog Agent はメタデータサービスのエンドポイントを使用してホスト名を解決します。
GitLab ジョブの CI Visibility とログ収集を設定する
GitLab ジョブの CI Visibility を設定する手順については、GitLab パイプラインで Pipeline Visibility を設定するを参照してください。
セットアップが成功しているかテストするには、GitLab パイプラインを実行して Executions ページに表示されるかを確認します。
ジョブログの収集を有効にする必要があります。パイプライン実行の Logs タブをクリックして、Datadog がログを正しく受信しているか確認できます。
これらの手順を完了すると、GitLab ジョブはインフラストラクチャーメトリクスと関連付けられます。関連付けはパイプライン単位ではなくジョブ単位で行われます。異なるジョブが異なるホスト上で実行される可能性があるためです。Infrastructure タブはジョブが終了し、そのジョブのログを Datadog が受信した後に表示されます。
参考資料