6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

New Relic Service Level ManagementがTerraformコード出力に対応しました!

Last updated at Posted at 2025-06-10

 New Relicの最新機能として、サービスレベル設定をTerraformコードとして出力できるようになりました。この機能により、インフラ構築とモニタリング設定の一元管理が実現し、より効率的な運用が可能となります。

Terraformによるサービスレベル管理の利点

コードによる管理

 サービスレベル設定をTerraformコードとして管理することで、GitHubなどのバージョン管理システムでの管理が可能になります。これにより、設定変更の履歴追跡、ロールバック、共有、および再利用が容易になります。

インフラストラクチャとの連携

 Terraformを利用してインフラとモニタリング設定を一元的に管理することで、環境構築から監視設定までの一連の作業を自動化できます。これにより、手動設定のミスを減らし、迅速な環境構築が可能です。

環境の一貫性

 コードによる設定管理により、ある設定をテンプレートとしたうえで、開発環境、ステージング環境、本番環境など、複数の環境間で一貫した設定を適用できます。これにより、環境間の差異による問題を最小限に抑えることができます。

自動化とCI/CD

 TerraformのコードをCI/CDパイプラインに組み込むことで、サービスレベル設定の変更を自動的に適用できます。これにより、迅速なリリースと高い信頼性を実現できます。

実際にNew Relicから出力されるのSLM Terraformコード

ServiceLevel.tf
resource "newrelic_service_level" "ad_service_-_latency" {
  guid = "### ENTITY_GUID ###"
  name = "Ad Service - Latency"
  description = "Proportion of requests that are served faster than a threshold."

  events {
    account_id = XXXXXXX

    valid_events {
      from = "Transaction"

      select {
        attribute = "*"
        function = "COUNT"
        threshold = 0
      }
      where = "entityGuid = '### ENTITY_GUID ###' AND (transactionType = 'Web')"
    }

    good_events {
      from = "Transaction"

      select {
        attribute = "*"
        function = "COUNT"
        threshold = 0
      }
      where = "entityGuid = '### ENTITY_GUID ###' AND (transactionType = 'Web') AND duration < 0.04"
    }
  }

  objective {
    target = 95

    time_window {

      rolling {
        count = 7
        unit = "DAY"
      }
    }
  }
}

 このコードでポイントとなるのは、SLIとした値が何かという点もそうなのですが、SLI及びSLOターゲットを同様にコード管理できるというところです。
 SLOはあくまで目標であり、実際には運用に合わせて見直していただく指標となります。
 SLIの変更も同様にコードの変更で可能です。good_eventsで定義される条件がそのままSLIとして機能する値となる(上記コードの場合は応答時間が0.04秒未満となる)ため、その管理も同様に容易です。
 Terraformでのコード管理を行っていただくことで、例えば機能リリース時のSLOターゲット変更を同時に行っていただいたり、なぜこのSLIが設定されているのかをコミットメッセージのログとして保存していただくことができます。

実際のコード出力方法

スクリーンショット 2025-06-09 14.01.15.png

 Terraformでコードを出力する方法としては、importがありますが、このコードはNew RelicのUIから直接出力が可能です。
 テンプレートとするSLMを設定した上でそのメニューに「View as Terrafrom code」というものがありますので、そちらをクリックするだけでコードが表示されます。
直接コードのコピーもできるので、手元のTerraformコードにすぐに追加ができます。

まとめ

 これまではTerraformでNew Relicを活用していただくにはimportなどを使ってTerraform内で操作を行っていただく必要がありました。今回のアップデートでService Levelについてはより簡単にそのコードを利用していただくことができるようになりましたので、ぜひサービスレベル管理にご活用ください。

 New Relicでは、新しい機能やその活用方法について、QiitaやXで発信しています!
無料でアカウント作成も可能なのでぜひお試しください!

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

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

image.png

6
6
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
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?