Docs » Splunk On-Callインテグレーション » Splunk On-CallのTerraformインテグレーション

Splunk On-CallのTerraformインテグレーション 🔗

Terraformのモジュールとプロバイダーは、サービスが依存するアプリケーションを設定するための拡張機能です。例えば、モニタリングツール、オンコール、通信などです。HashiCorp検証済み`Splunk On-Call Terraformプロバイダー<https://registry.terraform.io/providers/splunk/victorops/latest>`__を使用することで、チームはアプリケーションに関連するSplunk On-Callセットアップステップを完全に自動化することができます。

新しいサービスをデプロイする際によくあるシナリオとして、Splunk On-Callがそのサービスに関連するアラートを適切なユーザーに通知するように設定することがあります。Terraformを使えば、これを宣言的な方法で完全に自動化することができ、新しいサービスが初日からSplunk On-Callで適切に監視されるようになります。

要件 🔗

このインテグレーションは以下のバージョンのSplunk On-Callと互換性があります:

  • Starter

  • Growth

  • エンタープライズ

開始するステップ 🔗

sp-oncall.tf という名前のファイルを新規作成し、以下の内容を貼り付けます:

` # Install VictorOps Terraform Provider terraform { required_providers { victorops = { source = "splunk/victorops" version = "0.1.4" } } } `

ファイルを保存し、ターミナルに次のように入力します:

`sh terraform init `

これは、Terraform レジストリからSplunk On-Call Terraformプロバイダーをダウンロードしてインストールします。

プロバイダーはREST APIを使用してSplunk On-Callと通信するため、APIキーを提供する必要があります。手順については Splunk On-Call API を参照してください。

Splunk On-CallからAPI IDとAPIキーをコピーし、以下のフォーマットに従って貼り付けます:

` provider "victorops" { api_id  = "your api id goes here" api_key = "your api key goes here" } `

次に、Splunk On-Call リソースを作成します。TFファイルに以下を貼り付けます:

` # Create a team within victorops resource "victorops_team" "team" { name = "DevOps-Test" } # Create a user within the victorops organization resource "victorops_user" "user1" { first_name       = "John" last_name        = "Doe" user_name        = "john.doe-test" email            = "john.doe@example.org" is_admin         = "false" } # Assign user to a team resource "victorops_team_membership" "test-membership" { team_id          = victorops_team.team.id user_name        = victorops_user.user1.user_name } # Create email contact method for a user resource "victorops_contact" "contact_email" { user_name    = victorops_user.user1.user_name type         = "email" value        = "john.doe2@example.org" label        = "test email" } # Create phone number contact method for a user resource "victorops_contact" "contact_phone" { user_name    = victorops_user.user1.user_name type         = "phone" value        = "+12345678900" label        = "test phone" } # Create an Escalation Policy for the team resource "victorops_escalation_policy" "devops_high_severity" { name    = "High Severity" team_id = victorops_team.team.id step { timeout = 0 entries = [ { type = "user" username = "john.doe-test" } ] } } # Create a Routing Key that uses the above Escalation Policy resource "victorops_routing_key" "infrastructure_high_severity" { name = "infrastructure-high-severity" targets = [victorops_escalation_policy.devops_high_severity.id] } `

注釈

TerraformプロバイダーはSplunk On-CallのパブリックAPIを呼び出します。そのため、現時点ではTerraformから作成できるのはユーザーレベルのユーザーだけです。ユーザーのアクセス許可レベルの編集は、ユーザー作成後にUIから行う必要があります。

前のコード内のコメントで、各ブロックが何をするのかを説明しています。使用している各リソースの詳細については、GitHubの`プロバイダードキュメント<https://registry.terraform.io/providers/splunk/victorops/latest/docs>`__を参照ください。

ファイルを保存し、ターミナルで以下のコマンドを入力します:

` terraform plan `

この結果、Terraformが作成できるリソースの概要が表示されます。

次に、Splunk On-Callでリソースの作成を開始するには、以下のコマンドを入力します:

` terraform apply `

yes と入力して承認すると、以下のような出力が表示されます:

` victorops_team.team: Creating... victorops_user.user1: Creating... victorops_team.team: Creation complete after 1s [id=team-0mnx4iUkiP2OkqCt] victorops_escalation_policy.devops_high_severity: Creating... victorops_user.user1: Creation complete after 2s [id=john.doe-test] victorops_contact.contact_email: Creating... victorops_team_membership.test-membership: Creating... victorops_contact.contact_phone: Creating... victorops_escalation_policy.devops_high_severity: Creation complete after 1s [id=pol-tRi4Mn8fyGoN6p8b] victorops_routing_key.infrastructure_high_severity: Creating... victorops_contact.contact_phone: Creation complete after 1s [id=554c80cf-b6b7-465d-ab9f-0884b41a98fc] victorops_contact.contact_email: Creation complete after 1s [id=a56f04be-04fa-4edb-a349-1705e1ac5a1c] victorops_routing_key.infrastructure_high_severity: Creation complete after 1s [id=infrastructure-high-severity] victorops_team_membership.test-membership: Creation complete after 2s [id=team-0mnx4iUkiP2OkqCt_john.doe-test] Apply complete! Resources: 7 added, 0 changed, 0 destroyed. `

Splunk On-Callにログインし、チームタブを選択します。新しいチームが DevOps-Test という名前または設定ファイルでチームに指定した名前で作成されていることを確認します。

チーム内では、設定ファイルで定義されたユーザーとエスカレーションポリシー、および SettingsRouting Key タブのルーティングキーを参照してください。

このページは 2024年05月03日 に最終更新されました。