New Relicで作成したダッシュボードを動的にフィルターする方法として、変数を使う方法とFACETを使う方法があります。
変数を使う方法の場合は、これまでその選択肢の文字列がそのまま表示されていたのですが、選択肢の表示名を変更できるようになったので、本記事ではTerraformを使って実際にそのやり方を試してみたいと思います!
※まだUI上では変数の選択肢の表示名は変更できませんでした。。。
最新のアップデートの詳細はこちら
New Relic アップデート(2024年2月)
New Relic アップデート一覧
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 IDとYour Personal API Keyを変更ください。
※Your Personal API Keyは、User Keyをご使用ください。
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を作成します。下記をコピーしてください。
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上でダッシュボードを作成して、変数を設定します。
その後、Copy JSON to clipboard を使用してダッシュボードの情報をJSONとしてコピーします。
main.tfと同じ階層にdashboardsディレクトリを作成して、dashboard.jsonにコピーしたJSONを貼り付けます。
.
├── main.tf
├── dash_basic.tf
└── dashboards/
└── 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"と変えています。
"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
変数の選択肢の表示名が変更されていることを確認できました!
まとめ
New Relicで作成したダッシュボードを動的にフィルターする方法として利用される変数の選択肢の表示名を変更する方法を試してみました。UIでの変更ができるようになるまでは本記事のように一旦対象のダッシュボードをJSONとしてコピーして、terraformを使って上書きいただくのが良いかと思います。やってみると簡単なのでぜひ試してみてください。
New Relic株式会社のQiita OrganizationOrganizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。
無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!