ServiceNowのデモ:他システムアラートの自動取り込みとインシデント起票、インシデントの自動解決まで

 ◇何をするか(1):概要

  1. 他システム(AWSクラウドウォッチやDatadogによる運用監視の異常値を想定)からのアラートを受け取って、それをServiceNowに自動連携。
  2. その情報を記帳してから、内容に沿ったインシデントを自動起票。
  3. 起票と同時に直せるものがあった場合にはその異常値を出したサーバーに対応処置を行う
の3ステップをServiceNowで実装するにあたっての説明+Demoのようなものをします。

◇何をするか(2):要件・実装シナリオ

何をするか(1)は機能要件で、実装要件・シナリオに直すと以下になります。
  1. Service Operation WorkspaceのIntegration launchpadで外部アプリの接続設定する
  2. Event Managementのイベントルール・アラート管理ルールを設定する
  3. 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になります。

2.Event Managementのイベントルール・アラート管理ルールを設定する


Event Ruleは以下5Stepになっております。PROCESS FLOWに従って設定します。
  1. Event Rule Info
  2. Event Filter
  3. Transform and Compose
  4. Threathold
  5. 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
---

◇まとめると

上記のようにして、①-③の運用自動化の一端としてのServiceNowができるようになるかと思います。現実のオペレーションはより複雑で、システムの相互作用があるので、簡単にはいかないと思うのですが、少しはクリアになったのであれば幸いです。


Next Post Previous Post
No Comment
Add Comment
comment url