📖

TerraformでGitHubリポジトリの活動状況を可視化するGrafanaダッシュボードの作成

に公開

概要

自身が管理しているGitHubリポジトリの活動状況を把握するために、以下を表示するGrafanaダッシュボードをTerraformで作りました。

  • Code scanning
    • 対策状況
    • 重大度ごとの未対策件数
  • ワークフローごとの実行時間
    • ステップごとの経過時間のパネルへのドリルダウン
  • ワークフローごとの実行回数
  • ワークフローごとの成否別回数
  • オープン中のプルリクエスト数
  • オープン中のIssueのリスト

以下のようなダッシュボードを表示します。
ダッシュボードの例
ダッシュボードの表示例

ワークフローごとの実行時間のパネルからステップごとの経過時間のパネルにドリルダウンできます。
ドリルダウンの例
ワークフロー実行時間からステップごとの経過時間へのドリルダウン

コードはGitHubで公開しています。
https://github.com/jay34986/terraform-grafana-github

前提条件

Grafanaのプラグインインストール

以下の2つのプラグインをGrafanaにインストールしておく必要があります。

  • GitHub Data Source (ID: grafana-github-datasource)
  • Infinity Data Source (ID: yesoreyeram-infinity-datasource)

認証情報の払い出し

GitHub personal access tokenとGrafanaのService accountsを払い出す必要があります。

使用方法

以下の流れで使用できます。
詳細な使用方法はGitHubのREADME.mdをご参照ください。

  1. リポジトリのclone

    git clone https://github.com/jay34986/terraform-grafana-github.git
    cd terraform-grafana-github
    
  2. 変数の設定

    terraform.tfvars.exampleを参考に、terraform.tfvarsを作成します。

    cp terraform.tfvars.example terraform.tfvars
    
  3. terraformの実行

    terraformのinit、plan、applyを実行します。

    terraform init
    terraform plan
    terraform apply
    

Discussion