IBM TechXchange AIOps Group Japan

AIOps Group Japan

当ユーザーグループは、AIOps製品(Instana, Turbonomic, Cloud Pak for Watson AIOps, IBM SevOne NPM, Flexera One with IBM Observability, IBM Workload Scheduler等)

 View Only

Turbonomic | WebhookによるTeams連携 | トヨタ紡織様事例

By Shunsuke Tanaka posted 2 days ago

  

Turbonomicのワークフローマネージャー機能について、以前当ブログにてご紹介させていただきました。
Turbonomic アクション通知について (ワークフローマネージャー機能)

Teamsへの通知を送信する際に、今まではTeams Incoming Webhookを利用して連携ができましたが、今後廃止が予定されておりMicrosoftが後継として推奨しているWorkflows(Power Automate)への移管が必要となります。
本記事では、トヨタ紡織様でのPower Automateを利用したTeams連携の活用事例と、Power AutomateとTurbonomic ワークフローの設定方法をご紹介させていただきます。
※Incoming Webhookの廃止に関しては、MicrosoftのHP等で詳細をご確認ください。

トヨタ紡織様のご利用事例について

トヨタ紡織様ではPark機能を利用して、ホストの起動・停止をスケジューリングして自動化を実現されています。スケジュール起動時にワークフローと連携し、Teamsへ通知を送信し正常に稼働しているか確認できる仕組みを構築されています。
元々Incoming Webhookを利用しておりましたが、廃止が発表されたことに伴いPower Automateへ移管を実施していただきました。
スケジュールで設定している時間帯以外にも、障害対応で急に起動しなくていはいけなくなった、停止する必要が出てきたなどの場合も、Turbonomic上のPark画面から実行していただければ、履歴として残すこともできるので実行の証跡としても利用することができます。
本番環境のインスタンスを自動化することは難易度が高いかもしれませんが、トヨタ紡織様では検証・本番に関わらず、停止可能な時間帯があるインスタンスに関しては全て自動化に取り組まれ、Park機能だけで毎月約10%のコスト削減を実現されています。

Power Automateを活用したTurbonomic - Teams連携について
1.Power Automate設定内容
※以下手順はMicrosoftの仕様変更等により変更になる場合がありますのでご注意ください
Power Automateをご利用の際には、以下の3つの方法でワークフローを作成します。
 1-1. インスタントクラウドフローから作成(HTTP要求の受信時)
 -プレミアムライセンスが必要になります
 1-2. インスタントクラウドフローから作成(Teams Webhookを受信したとき)
 1-3. テンプレートから作成(Teams Webhookを受信したとき)
本記事では、
1-2. の方法についてご説明させていただきます。

まず、ワークフローを作成します。
Power Automateの「作成」から「インスタント クラウドフロー」を選択します。

ナビゲーションが表示されますので、「Teams Webhookを受信したとき」を選択して、「作成」を押下します。

編集画面で「Teams Webhookを受信したとき」のアイコンを押下し、設定を入力していきます。
 ・「フローをトリガーできるユーザ」:「誰でも」を選択
 ・「HTTP URL」:全ての設定完了後にURLが自動発行

 ・「Code View」:Jsonスキーマが指定されています。後程設定するTurbonomic側から送信するJsonもこのフォーマットに合わせる必要があります。
「+」アイコンを押下し、「アクションの追加」を選択します。

アクションのカテゴリーから「Microsoft Teams」を選択します。
「チャットやチャネルにカードを投稿する」を選択します。
※「メッセージを投稿する」からテキストメッセージの投稿もできますが、カードの方が汎用性が高いので本記事ではカードを利用します。

パラメーターの設定画面が表示されるので、それぞれ情報を入力します。
 ・「投稿者」:フローボット(投稿に権限が必要な場合は、ユーザを指定します)
 ・「投稿先」:TeamsのChannel もしくは、Group Chatを指定します。
       Powe Automateにログインしているユーザが所属しているChannel / Group Chatの一覧が表示されます。
 ・「Adaptive Card」:Teamsに表示するメッセージ内容を入力します。
Adaptive Cardは直接入力することもできますが、以下のサイトからUI上でテンプレートを作成することもできます。
https://adaptivecards.io/designer/
本記事では、シンプルに「タイトル」と「メッセージ」を表示するテンプレートを作成し、利用しています。

「タイトル」と「メッセージ」にTurbonomicから送信されるJsonデータの中身を挿入します。
今回の設定では、「content」にデータが含まれるため、「Adoptive Card」の"text"の箇所に、
 item()?['content']['title']
 item()?['content']['message']
とそれぞれ入力します。

設定の入力が完了したら、「保存」を押下します。


保存が完了すると、最初のパラメーターの入力画面に、Webhook用の「HTTP URL」が発行されます。
Turbonomicのワークフローの設定で利用しますのでコピーしておきます。


2.Turbonomic設定内容
Turbonomicの設定は「
Turbonomic アクション通知について (ワークフローマネージャー機能)」との差異を記載させていただきます。
 4. 要求ヘッダーを追加します オプション
「Add header」を押下しheaderを追加します。
 ・「Key」:Content-type
 ・「Valule」:application/json
を入力し「Next」を押下します。
5. 要求本文
Request Body画面でTeams側へ送信する内容を設定します。
 ・「Media type」:JSON
 ・「Payload template」:ここで渡したい情報をJSON形式で入力します。
 ※ここで入力するスキーマが、Power Automateで設定されているスキーマと違う場合、Power Automate側でエラーとなるため注意してください。
本記事では以下の様に指定します。

Power Automateで指定した ['content']['title'] , ['content']['message']の形式に合わせていることに注意してください。
Turbonomicからアクションの情報を「$action.」の形式で渡すことができますが、詳しくは公式ドキュメントをご覧ください。

3.Teams通知例
Power Automate、Turbonomicそれぞれの設定が完了しましたら、実際にアクションの実行時などに以下の様なメッセージがTeamsへ送信されます。
今回は実行したアクションとアクションの詳細が入力された簡易的なメッセージの例です。


終わりに

MicrosoftのTeams Incoming Webhook廃止に伴うPower AutomateとTurbonomicワークフローの連携事例をご紹介させていただきました。Power Auutomateの設定はIncoming Webhookよりも少し複雑ですが、送付できる内容は更に充実していますので是非お試しください。
また、トヨタ紡織様ではPark機能との連携を実現されていますが、Turbonomic ワークフローはPark以外のアクションに関しても通知を送付することができます。今後の機能拡張も計画されていますのでこの機会に一度ご利用いただき、更にTurbonomicをご活用いただければと思います。
これからTurbonomicのご導入をお考えのお客様は、他にも素敵な機能がたくさんあるので是非お声掛けいただきお試しください!

0 comments
0 views

Permalink