5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ダッシュボードをもっと便利に!変数の表示名をカスタマイズする方法!

Last updated at Posted at 2024-07-28

New Relicで作成したダッシュボードを動的にフィルターする方法として、変数を使う方法FACETを使う方法があります。

変数を使う方法の場合は、これまでその選択肢の文字列がそのまま表示されていたのですが、選択肢の表示名を変更できるようになったので、本記事ではTerraformを使って実際にそのやり方を試してみたいと思います!
※まだUI上では変数の選択肢の表示名は変更できませんでした。。。

Terraformを使ってダッシュボードを更新する方法

Terraformが提供しているNew Relic Providerを使うことで操作可能です。
※Terraformの使い方は割愛します。

また、Terraformを使ってダッシュボードを更新する方法はこちらを参考にしています。

今回は、下記のファイルを作成してダッシュボード変数の選択肢の表示名を設定していきます。

.
├── main.tf
├── dash_basic.tf
└── dashboards/
    └── dashboard.json

main.tf と dash_basic.tf を作成

最初に、main.tf を作成して操作対象のNew Relicの情報を記述します。
環境に併せてYour Account IDYour Personal API Keyを変更ください。
※Your Personal API Keyは、User Keyをご使用ください。

main.tf
terraform {
  # Require Terraform version 1.0 (recommended)
  required_version = "~> 1.0"

  # Require the latest 2.x version of the New Relic provider
  required_providers {
    newrelic = {
      source  = "newrelic/newrelic"
    }
  }
}

provider "newrelic" {
  account_id = Your Account ID
  api_key = "Your Personal API Key"    # usually prefixed with 'NRAK'
  region = "US"                        # Valid regions are US and EU
}

下記も参考にしてください。

続いてdash_basic.tfを作成します。下記をコピーしてください。

dash_basic.tf
resource "newrelic_one_dashboard_json" "basic_dashboard" {
     json = file("${path.module}/dashboards/dashboard.json")
}

resource "newrelic_entity_tags" "basic_dashoard" {
	guid = newrelic_one_dashboard_json.basic_dashboard.guid
	tag {
    	     key    = "terraform"
    	     values = [true]
	}
}

output "basic_dashboard" {
      value = newrelic_one_dashboard_json.basic_dashboard.permalink
}

main.tf と dash_basic.tf を作成しました。

.
├── main.tf
└── dash_basic.tf

変更元のダッシュボードのJSONを取得

New Relic上でダッシュボードを作成して、変数を設定します。

image.png

その後、Copy JSON to clipboard を使用してダッシュボードの情報をJSONとしてコピーします。

image.png

main.tfと同じ階層にdashboardsディレクトリを作成して、dashboard.jsonにコピーしたJSONを貼り付けます。

.
├── main.tf
├── dash_basic.tf
└── dashboards/
    └── dashboard.json

dashboard.jsonで変数の選択肢の表示名を変更

例えば、dashboard.jsonを開いたときに変数が下記のようになっていた場合は、

dashboard.json抜粋(変更前)
  "variables": [
    {
      "name": "Country",
      "items": [
        {
          "title": null,
          "value": "value-01"
        },
        {
          "title": null,
          "value": "value-02"
        },
        {
          "title": null,
          "value": "value-03"
        }
      ],

"title": nullのnull部分に表示名を設定することが可能です。
※下記の例では"01"、"02"、"03"と変えています。

dashboard.json抜粋(変更後)
  "variables": [
    {
      "name": "Country",
      "items": [
        {
          "title": "01",
          "value": "value-01"
        },
        {
          "title": "02",
          "value": "value-02"
        },
        {
          "title": "03",
          "value": "value-03"
        }
      ],

terraformを実行

下記コマンドを実行して、変数の選択制の表示名を入れ替えます。

terraform init
terraform plan
terraform apply

変数の選択肢の表示名が変更されていることを確認できました!

image.png

まとめ

New Relicで作成したダッシュボードを動的にフィルターする方法として利用される変数の選択肢の表示名を変更する方法を試してみました。UIでの変更ができるようになるまでは本記事のように一旦対象のダッシュボードをJSONとしてコピーして、terraformを使って上書きいただくのが良いかと思います。やってみると簡単なのでぜひ試してみてください。

New Relic株式会社のQiita OrganizationOrganizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。

無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?