手作業を自動化した。今度はアラート通知内容を理解しやすくする
24時間監視運用してくださる皆さま、ご苦労さまです。
前回は、アラート受信後の定型作業を自動化するための「Datadog Workflow Automation」および「Datadog Private Action Runner」を使ってみました。
CPU高負荷時のTOPコマンド出力結果をメール送信する自動化です。
背景
英単語と数字だけのアラート通知がありますね。このメールを受け取ったら「何が起きているのか」「次に何を確認すればよいのか」が記載されていれば、運用担当者の負担がぐっと減るのではないでしょうか。
前回の記事では、手作業を自動化したので、今度はアラート通知の内容をAIが執筆します。
IT運用の手作業を廃止。空いた時間はレジリエンス強化に注力(Datadog Private Action Runner)
想定シーン
監視アラート『CPUが30分間連続して80%を超過しています』というメールを受信した。
たぶん運用担当者のアクションは「Datadogダッシュボードにログインして調査」するか、「OSにログインしてTOPコマンドで調べる」などするでしょう。
課題
監視アラートの文章だけでは、何が起きているのか分からないことがあります。
別紙手順書に従って、
- ダッシュボードのモニタリングを再確認する
- サーバーOSへログインしてログを見る
- 調査して対処を検討する
という作業が発生し、貴重な時間が奪われます。
理想の姿
どうせ調査/分析するならば、調査の自動化とAIによる分析まで全部無人化したい。
CPU高負荷時にTOPコマンドを実行すれば、その瞬間のプロセスリスト・CPU使用率、サーバーのメモリ使用率がわかる。TOPコマンドの読み解きはAIに任せる。
人は調査・分析された結果付きのアラート通知を受け取るのはどうだろうか。
解決した姿
Datadog Workflow AutomationにAI Agentを組み込み、TOPコマンドの実行結果を自動分析するワークフローを作成した。

[図1.Workflow構成]
図1では監視アラートをトリガーにして
- サーバーOSのTOPコマンドを実行
- AI Agent へ TOPコマンド出力値を渡し
- AI がCPU・メモリ利用状況を分析
- 分析結果をメール送信
というワークフローを実現した。
TOPコマンドの実行結果は図2のように取得できる。

[図2.TOPコマンド出力]
取得したTOPコマンドの出力値をAIへ渡す。
インプットしたプロンプトは下記。変数の部分にTOPコマンド出力値が入る。
以下はLinuxサーバーのTOPコマンドの出力です。
CPU使用率が高いプロセスを特定し、日本語で分析結果を報告してください。
{{ Steps.Run_Predefined_Script.stdout }}
最後に「TOPコマンドの出力値」と「AI分析結果」をメール本文に記述して送信する。

[図4.メール通知]
成果
これならば、運用担当者はダッシュボードで調査分析したり、OSコマンドで生データを出力したりしなくても、メールを読むだけでサーバーの状況を把握できます。
- CPU使用率は高いのか
- 高負荷なプロセスは存在するのか
- このときのメモリ使用率はどうか
といった一次調査を、AIが調査してくれます。
人は状況を把握し、次のアクションを判断することに時間を使います。
まとめ
前回は「アラートを起点に、TOPコマンドを実行して結果を通知する」自動化の仕組みを作りました。
今回はさらに「TOPコマンド出力値 → AI分析 → メール本文を執筆する」AIによる運用を実現しました。
従来は運用担当者が手作業で実行していた確認作業をワークフローで自動化し、結果をAIが分析することで、障害対応の初動をすっごく速く実行できるようになります!
これからは障害が発生してから対応するのではなく、障害に備えて運用を自動化するという楽しい仕事に変えるのはどうでしょうか。
