サーバの監視結果をTeamsへ通知する

弊社では、最近テレワークで仕事進めることが多くなってきました。
皆さんはテレワークで、社内のコミュニケーションツールとして何を使われていますか?
Slack? Teams? はたまたLINE Worksだったりするのでしょうか。
客先へ訪れる際、よくTeamsを使っていることをよく耳にします。
今回は、Hinemosでサーバを管理した際に通知する先として、Teamsだった場合の方法について紹介したいと思います。

実施するステップは大まかに3ステップになります。

  1. 通知したいTeamsのチャンネルにIncoming Webhookを設定
  2. 通知するためのスクリプトを作成
  3. Hinemosマネージャにコマンド通知を作成

なお、この記事では以下のことは紹介しません。

  1. @person @channel にメッセージを飛ばす
  2. メッセージの詳しい装飾方法

それでは、順に実施していきます。

①Incoming Webhookを設定する

チャンネル一覧から、該当チャンネル名の右側にある「・・・」を選択します。
開いたメニューから「コネクタ」を選択します。

“Incoming Webhook”を探し、「追加」または「構成」を選択します。

webhookの名前、webhookのイメージ画像を設定し、「作成」を選択します。

すると、webhookが作成されます。後ほどスクリプトに利用するのでコピーして保存しておきます。

②Managerサーバに通知スクリプトを作成し配置する

Hinemosサーバに以下のスクリプトを任意の場所に配置します。

teams_send_message.sh

このスクリプトは、Hinemosマネージャの通知に設定した以下の4つのメールテンプレートの置換文字列を引数として取得します。

  • #[GENERATION_DATE] (出力日時)
  • #[PRIORITY_NUM] (監視結果)
  • #[MESSAGE](出力メッセージ)
  • #[MONITOR_ID](監視項目ID)

取得した値を、TeamsへPOSTするために、json形式へフォーマットします。
どのように記載すればいいかは、以下の公式サイトを参考にしました。
Designing Outlook Actionable Message cards with the Adaptive Card format

④Hinemosに監視設定を行う

以下のようにコマンド通知を設定します。


コマンドには以下の内容を入力します。

以上で、下準備は完了です。
試しにPING監視を実行してみます。
以下のように設定してみました。

⑤実行!!!!

以下のように表示されます。

⑥おわりに

いかがでしたでしょうか。
今回は、基本的な通知方法を実施してみました。Teamsにも通知ができると、障害が発生した際に初動が早くなりそうです。

TeamsのAPIを見てみると、メッセージにアクションボタンや、チェックボックスなど設定できるみたいです。
今回みたいにメッセージだけではなく、Hinemosが提供しているメンテナンススクリプトや、コマンドラインツールと併用すると、
ボタンを押しただけで情報取得、Hinemosマネージャの内部DBのメンテとかできちゃいそうですね。

記事は古くなってしまいますが、だいぶ前にSlackに通知する方法もご紹介しています。
Slackが目当てで来られた方は、ぜひ参考にしてください。
監視結果をslackで通知する

では、お疲れさまでした!


ご意見やお問い合わせについて

この記事へのご意見やお問い合わせについては、こちら(お問い合わせフォーム)もしくは
Hinemos営業担当【hsd-sales@atomitech.jp】までご連絡ください。

※お問い合わせフォームからご連絡の場合には、お問い合わせ内容で「Hinemosについて」を選択し、
 本文の冒頭に「Hinemos研究日記_【タイトル名】」とご記載ください。
※メールアドレスへご連絡の場合には、件名を「Hinemos研究日記_【タイトル名】」でご連絡ください。