ServiceNowのデモ:他システムアラートの自動取り込みとインシデント起票、インシデントの自動解決まで
◇何をするか(1):概要
- 他システム(AWSクラウドウォッチやDatadogによる運用監視の異常値を想定)からのアラートを受け取って、それをServiceNowに自動連携。
- その情報を記帳してから、内容に沿ったインシデントを自動起票。
- 起票と同時に直せるものがあった場合にはその異常値を出したサーバーに対応処置を行う
の3ステップをServiceNowで実装するにあたっての説明+Demoのようなものをします。
◇何をするか(2):要件・実装シナリオ
何をするか(1)は機能要件で、実装要件・シナリオに直すと以下になります。- Service Operation WorkspaceのIntegration launchpadで外部アプリの接続設定する
- Event Managementのイベントルール・アラート管理ルールを設定する
- Flow Designerで対応ワークフローを設定する(Ansible Spoke)
◇何をするか(3):開発デモ
以下に画面のスクリーンショットですが、やりたいことの説明をします。1.Service Operation WorkspaceのIntegration launchpadで外部アプリの接続設定する
Service Operation Workspaceには様々な標準接続可能なアプリケーションが並んでいます。
その中で対象のアプリを選択します。今回はAWS Cloudwatchです。(他のアプリでも手順は同様です)
上記の画面で設定をします。
設定値はName、Description、Sourceです。SourceはAPIを設定します。
接続情報はUser、API Key、Credentialが必要です。
上記のように設定します。成功したらActiveになります。
Event Ruleは以下5Stepになっております。PROCESS FLOWに従って設定します。
- Event Rule Info
- Event Filter
- Transform and Compose
- Threathold
- Binding
上記はEvent Ruleですが、別途定義するAlert Management RuleではWorkflowとAlert Management RuleにBindすることが可能です。
画像の①②がありますが、
①でインシデント作成ワークフローを実施
②で(例えば)サーバー再起動のワークフローを実施という風に作成します。
画像の①②がありますが、
①でインシデント作成ワークフローを実施
②で(例えば)サーバー再起動のワークフローを実施という風に作成します。
3.Flow Designerで対応ワークフローを設定する(Ansible Spoke)
(例えば)サーバー再起動はServiceNowの枠外のタスクなので、ワークフロー単体で作業ができません。(オーケストレーション)
なので、Ansible Spokeを使います。WorkflowにAnsibleの実行が可能になるので、ここで例えば以下のようなプレイブックを実行します。--- - name: Reboot EC2 instances hosts: localhost gather_facts: false tasks: - name: Reboot EC2 instance amazon.aws.ec2_instance: instance_ids: - "i-1234567890abcdef0" # ここに実際のインスタンスIDを指定 state: restarted region: ap-northeast-1 # リージョンを指定 wait: yes # リブート完了まで待機 wait_timeout: 300 # タイムアウト時間(秒) register: reboot_result - name: Show reboot result debug: var: reboot_result
---