📖
TerraformでGitHubリポジトリの活動状況を可視化するGrafanaダッシュボードの作成
概要
自身が管理しているGitHubリポジトリの活動状況を把握するために、以下を表示するGrafanaダッシュボードをTerraformで作りました。
- Code scanning
- 対策状況
- 重大度ごとの未対策件数
- ワークフローごとの実行時間
- ステップごとの経過時間のパネルへのドリルダウン
- ワークフローごとの実行回数
- ワークフローごとの成否別回数
- オープン中のプルリクエスト数
- オープン中のIssueのリスト
以下のようなダッシュボードを表示します。

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

ワークフロー実行時間からステップごとの経過時間へのドリルダウン
コードは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をご参照ください。
-
リポジトリのclone
git clone https://github.com/jay34986/terraform-grafana-github.git cd terraform-grafana-github -
変数の設定
terraform.tfvars.exampleを参考に、terraform.tfvarsを作成します。cp terraform.tfvars.example terraform.tfvars -
terraformの実行
terraformのinit、plan、applyを実行します。
terraform init terraform plan terraform apply
Discussion