運用ワークフローは複数のツールにまたがり、次に何が起こるかを覚えておく必要があります。 1 つのシステムで状態を確認し、決定を行い、別のシステムで実行し、3 分の 1 でチームに通知します。 各ハンドオフにより、待機時間とリスクが増加します。
ヒント
ワークフローの自動化は、次の方法で役立ちます。
- 誰も起こさずにエンドツーエンドでインシデントを処理する
- 必要に応じ、人間による監視を使用してスケジュールされたタスクを自動的に実行する
- 過去のインシデントからの知識を毎回一貫して適用する
ワークフローの自動化のしくみ
達成するもの:
- スケジュールに従って、またはインシデントに対応して実行される自動化されたワークフロー
- 特殊なタスク用の特定のツールを使用したカスタム エージェント
- エンド ツー エンド フロー: トリガー→調査→アクション→通知
トリガーが起動すると (スケジュールされた時刻またはインシデント)、エージェントは次の手順を実行します。
- トリガーを受信します。 スケジュールされたタスクが実行されるか、インシデントが応答計画と一致します。
- カスタム エージェントを呼び出します。 構成されたカスタム エージェントは、そのツールと手順から始まります。
- ワークフローを実行します。 カスタム エージェントは、必要に応じて、他のカスタム エージェントを調査し、アクションを実行し、調整します。
- チームに通知します。 結果は、Teams、電子メール、またはインシデント プラットフォームに投稿されます。
各カスタム エージェントは、(コネクタから) 特定のツールにアクセスでき、実行モードに応じて、自律的または承認を得て指示に従います。
これは何が違うのか
スクリプトとは異なり、エージェントはパターンが変化したときに適応します。 入力が異なると、スクリプトは中断されます。 エージェントは、検出された内容に基づいて何を行うかに関する理由を説明します。
Runbook とは異なり、エージェントはドキュメントだけでなくワークフローを実行します。 Runbook は人間に何をすべきかを指示します。 エージェントがタスクを実行します。
IFTTT スタイルの自動化とは異なり、エージェントは動作する前に調査します。 トリガーが起動しても、盲目的に実行されることはありません。 代わりに、状況を評価し、適切な対応を決定します。
前と後
| の前に |
後の |
|---|---|
| 監視ツールで状態を確認する | エージェント クエリの自動実行 |
| データに基づいて何を行うかを決定する | エージェントの理由とアクションの提案 |
| 別のシステムで修正プログラムを実行する | 接続されたツールを使用してエージェントが実行される |
| Slack/Teams でチームに通知する | エージェントがコンテキスト通知を送信する |
| 発生した内容をログに記録する | エージェントがスレッド内のアクションを記録する |
ワークフローの構築
ワークフローは、次の 3 つの構成要素を組み合わせたものになります。
| 構成要素 | 動作内容 | 構成する場所 |
|---|---|---|
| コネクタ | 外部システムからツールを提供する (Outlook、Teams、GitHub、PagerDuty) | Builder > コネクタ |
| カスタム エージェント | 特定のツール アクセスと自律性設定を持つ特殊なワーカー | Builder > エージェント キャンバス |
| トリガー | スケジュールに従って、またはインシデントに対応してワークフローを開始する | スケジュールされたタスク/インシデント対応計画 |
ステップ バイ ステップのセットアップについては、ファースト ステップ ガイドの 「手順 5: ワークフローの自動化 」を参照してください。
例: 電子メールで毎日の健康レポート
このワークフローでは、Azure リソースの正常性がチェックされ、概要が電子メールで送信されます。
- コネクタ: 電子メールの送信を追加する (Office 365 Outlook)
-
カスタム エージェント:
health-reporterツールを使用してSendOutlookEmailを作成する - スケジュールされたタスク: プロンプトを使用してカスタム エージェントにアタッチします。
Check the health of Azure resources in prod-rg:
1. Query Azure Resource Health for any degraded resources
2. Check Application Insights for error rate trends
3. Summarize findings
4. Email the report using SendOutlookEmail
エージェントはこれを毎日実行し、手動の手順なしで電子メールを調査して送信します。
カスタム エージェントの委任
ワークフローに異なる手順で異なる専門知識が必要な場合は、複数のカスタム エージェントを使用します。
| Step | カスタム エージェント | なぜでしょうか |
|---|---|---|
| データベースの診断 | @DatabaseExpert | 特殊化された KQL クエリ |
| 通知を送信する | @Notifier | 電子メールと Teams のツール |
| インシデントを作成する | @IncidentCreator | PagerDuty/ServiceNow の統合 |
オーケストレーターは、必要に応じてタスクをカスタム エージェントに委任します。 カスタム エージェントを参照してください。
ベスト プラクティス
| 練習 | 共同作業の重要性 |
|---|---|
| プレイグラウンドで最初にテストする | トリガーにアタッチする前にカスタム エージェントの動作を確認する |
| レビュー モードで開始する | 完全自動化の前にエージェントの判断を確認する |
| "今すぐタスクを実行する" を使用してテストする | 運用前にスケジュールされたワークフローを検証する |
| カスタム エージェントごとに 1 つのツール | 監査、デバッグ、更新が簡単 |
| わかりやすい名前を使用する |
email-health-report と custom-agent-1 |
スケジュールされたタスクをアタッチする前に、カスタム エージェントをテストします。
- Builder → Agent Canvas に移動する
- テストプレイグラウンドビューを選択する
- ドロップダウンからカスタム エージェントを選択し、[適用] を選択します
- [テスト] パネルに計画した指示を入力し、エージェントがそれを正しく実行できることを確認します
動作に自信が持てたら、トリガーをアタッチします。
概要
| 資源 | 学習する内容 |
|---|---|
| 手順 5: ワークフローを自動化する | 電子メール通知を使用して自動正常性チェックを構築する |
| スケジュールされたタスクを作成する | スケジュールされた自動化の詳細なチュートリアル |
関連するコンテンツ
| 能力 | 追加されるもの |
|---|---|
| スケジュールされたタスク | プロアクティブな監視と定期的なタスク方式 |
| 軽減策の実行 | ワークフローで実行できるアクション |
| 通知の送信 | 通知パターンとチャネル |
| インシデント対応 | 応答計画のトリガー |
| カスタム エージェント | カスタム エージェントの詳細な構成 |
| コネクタ | 使用可能なツールの統合 |