【 SCSK技術者によるブログ】Sysdigの設定をTerraformで管理してみた(Monitor編)
みなさん、こんにちは!SCSK技術者ブログ第15回を担当するのは、鳥飼です。
第9回ではSysdig SecureにおけるTerraform管理を取り上げましたが、今回はSysdig MonitorをIaCで管理する方法をご紹介します。
Sysdig Secureの記事をご覧になったお客様からSysdig MonitorでもTerraform管理できるのかとご質問を頂き、執筆に至った次第です。
Sysdig Secureと同様にSysdig MonitorもTerraformで管理することが出来ます。今回のブログでは、メリットや手順についてご紹介します。
Terraformで管理するメリット
- 変更履歴を残す
Sysdigでは設定の変更など、UI上の操作をログとして残す機能はありますが、変更の内容までは残りません。コード化、そしてコード管理ツールと組み合わせることで、誰がいつどういった理由で設定を変更したといった情報を履歴として残すことができます。 - 設定ミスをなくす
GUIから操作した場合、人的なミスが発生することがあります。特にSysdig Monitorはメトリクスの文字列や、閾値の数字など、項目が複数あり、GUIではよくミスをします。(体験談) Terraformでコード管理をしていれば、terraformコマンドを実行するだけで、設定が反映されます。 - バックアップ、リストアとして利用する
誰かが誤って設定を削除してしまった。そ んな時でもTerraformで管理していれば大丈夫。terraformコマンドを実行すれば、元通りです。
IaCコード(Terraform)で管理できることにより、業務の正確性向上、可視性向上、ひいては業務の効率化につながるといえるでしょう。
今回はSysdig Monitor上に ①通知先(Notification Channel) ②アラート を設定します。
それでは、実際にSysdig MonitorをTerraformで管理してみましょう!皆さんもぜひ試してみてください。
前提条件
- Sysdig SaaSと通信可能なTerraformの実行環境(terraform v0.13+)
- Sysdig MonitorのエンドポイントURL
下記のドキュメントを参考にご利用のSaaSリージョンに対するMonitorエンドポイントURLを控えます。(例: us1 - https://app.sysdigcloud.com)
https://docs.sysdig.com/en/docs/administration/saas-regions-and-ip-ranges/ - Sysdig MonitorのAPI token
[ Settings > User Profile > Sysdig Monitor API ]を控えます。
手順
①通知先の設定を行います。
以下のmain.tfを作成し、配置したディレクトリでterraformコマンドを実行します。
$ cat main.tf
terraform {
required_providers {
sysdig = {
source = "sysdiglabs/sysdig"
version = ">=0.5"
}
}
}
provider "sysdig" {
sysdig_monitor_url = "<前提条件で確認したMonitor URLを指定します>"
sysdig_monitor_api_token = "<前提条件で確認したMonitor Tokenを指定します>"
}
resource "sysdig_monitor_notification_channel_email" "sample_email" {
name = "[terraform]Example Channel - Email"
recipients = ["dummy-email@co.jp"]
enabled = true
notify_when_ok = false
notify_when_resolved = false
send_test_notification = false
}
$terraform init && terraform apply
~省略~
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
sysdig_monitor_notification_channel_email.sample_email: Creating...
sysdig_monitor_notification_channel_email.sample_email: Creation complete after 1s [id=256829] ★2で利用します。
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
デプロイが完了しました。 [ Sysdig Monitor > Settings > Notification Channels ]に、作成した通知先が表示されています。
②アラートの設定を行います。 下記の記述をmain.tfに追記し、terraformコマンドを実行します。 notification_channels.idには1).で表示された数字列を入れます。
resource "sysdig_monitor_alert_v2_metric" "sample" {
name = "[terraform test] high cpu used"
severity = "high"
metric = "sysdig_container_cpu_used_percent"
group_aggregation = "avg"
time_aggregation = "avg"
operator = ">"
threshold = 75
group_by = ["kube_pod_name"]
scope {
label = "kube_cluster_name"
operator = "in"
values = ["my_cluster_1", "my_cluster_2"]
}
scope {
label = "kube_deployment_name"
operator = "equals"
values = ["my_deployment"]
}
notification_channels {
id = 256829
renotify_every_minutes = 60
}
range_seconds = 60
}
`
$ terraform apply
~省略~
Plan: 1 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
sysdig_monitor_alert_v2_metric.sample: Creating...
sysdig_monitor_alert_v2_metric.sample: Still creating... [10s elapsed]
sysdig_monitor_alert_v2_metric.sample: Creation complete after 10s [id=16236503]
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
デプロイが完了しました。
[ Sysdig Monitor > Alerts ]に、作成したアラートが表示されています。
最後に
TerraformでSysdig Monitorを管理する方法をご紹介しました。
Sysdig Monitor上の設定をIaC化することで、『正確に』『早く』『簡単に』管理することができるのは魅力的ですね。
今後もSysdigに関する情報を発信していきますので、チェックしてください~!
■参考: Sysdigドキュメント - Developer Tools
https://docs.sysdig.com/en/docs/developer-tools/terraform-provider/
■参考: Terraformレジストリ - Sysdig Provider
https://registry.terraform.io/providers/sysdiglabs/sysdig/latest/docs
担当者紹介
- 担当者名
- 鳥飼
- コメント
- Sysdigを中心にコンテナ、Kubernetes、クラウド領域の業務に従事しています。
- 保有資格
- Certified Kubernetes Administrator
SCSK技術者ブログ
クラウドにおけるサーバーレスワークロードの保護:Sysdig Secureによるアプローチ
Platform Engineering Kaigi 2025 参加レポート
検知から対応をシームレスに! Sysdigの新機能「Response Action」でインシデント対応を迅速化
【SCSK技術者によるブログ】生成AIでSysdigエージェントのアップグレードを効率化 〜Helm values.yamlの移行作業を自動化〜
【SCSK技術者によるブログ】Sysdigの「Search」機能を体験!生成AIでクエリの学習コスト無しに脆弱性調査
【SCSK技術者によるブログ】ゼロトラスト文脈でのクラウドセキュリティ、そしてSysdig
【SCSK技術者によるブログ】Sysdigと組み合わせて効果的なソリューションのご紹介 ~ネットワークポリシー編~
【SCSK技術者によるブログ】生成AIで過検知対策を効率化!Sysdig Sageの実力検証
【SCSK技術者によるブログ】なぜ今、Sysdigが選ばれるのか?動画で解説!クラウドネイティブセキュリティの最前線 - SCSKの日本語伴走サポートで安心導入
【SCSK技術者によるブログ】Serverless AgentがAzure Container Appsに対応しました
【SCSK技術者によるブログ】システムコール分析における生成AIの活用
【SCSK技術者によるブログ】Sysdig情報アップデート~AWS連携にS3オプションが追加されました~
【SCSK技術者によるブログ】Falco初学者講座 - Exceptions編
【SCSK技術者によるブログ】Falco初学者講座 - List/Macro編
【SCSK技術者によるブログ】コンテナの電力消費をSysdig Monitorで監視してみよう
【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~Contianer Drift編~
【SCSK技術者によるブログ】~Falco初学者に送る~ Sysdig SageでFalcoを勉強してみよう②
【SCSK技術者によるブログ】~Falco初学者に送る~ Sysdig SageでFalcoを勉強してみよう①
【 SCSK技術者によるブログ】Sysdigの設定をTerraformで管理してみた(Monitor編)
【SCSK技術者によるブログ】Falco初学者講座 - condition編
【SCSK技術者によるブログ】Sysdig Sageを使ってみた
【SCSK技術者によるブログ】Sysdigと組み合わせて効果的なソリューションのご紹介 ~ポリシーエンジン編②~
【SCSK技術者によるブログ】Sysdigをセキュアに使おう~IP Allowlist編~
【SCSK技術者によるブログ】Node ExporterをSysdig Monitorに連携してみた
【SCSK技術者によるブログ】Sysdigの設定をTerraformで管理してみた
【SCSK技術者によるブログ】CNAPPの理解とSysdigのカバレッジ
【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~マルウェア検知編~
【SCSK技術者によるブログ】Sysdigのライセンス体系
【SCSK技術者によるブログ】Sysdig とMicrosoft Entra ID間でSAML認証設定を試してみた
【SCSK技術者によるブログ】Sysdigと組み合わせて効果的なソリューションのご紹介 ~ポリシーエンジン編~
【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~AWSサインインなりすまし検知編~
【SCSK技術者によるブログ】Sysdig SecureのRisks機能を試してみた