MS Teams / Slackを利用したVeeam ONEの通知機能


Veeam ONEはVMware、Hyper-V、Veeamを徹底監視するモニタリング システムであり、アプリケーション レベルではMicrosoft Windowsが稼働する仮想マシン(VM)のサービスやプロセスを監視することができます。それらが、エージェントをインストールすることなく、すべてAPIを通じて達成できる点を特長としています。

Veeamのシニア ディレクターRick Vanoverは常々こう言っています。「Veeam ONEは自分の管理するシステム環境について、確実に自分の知らないことを教えてくれる」と。

これはまさにその通りで、Veeam ONEは数100件の指標を集計し、デフォルトで利用可能な数十件のレポートに加えて、豊富で緻密な分析をもたらしてくれるので、ITチームに必ず一人は欲しい頼もしい同僚のようなものです。

Veeam ONEでは、あらかじめ定義されたアラームはもちろん、独自に作成したアラームに対しても通知を設定することができます。通知と言えば、Eメールが最初に設定されるもっとも基本的なものという認識が一般的ですが、Eメールは日常的な一般連絡事項で溢れかえっていてるのもまた事実です。もし重要な通知が150件の他のメールと一緒に受信箱もしくはフォルダの中に埋もれてしまったら、重要な通知に然るべき注意が払われなくなってしまうでしょう。

そこで本稿では、重要な通知をMicrosoft TeamsやSlackのさまざまなチャンネルに送信する方法について見ていきます。これは、単にそれらのコミュニケーション ツールが通知の重要性をもっとも際立たせるからという理由だけでなく、アラームのタイプや重要性に応じたコンフィギュレーションが容易で、もっとも適切なチームに適切なアラームを送信して、アラームの発信理由となった問題をより的確に処理・解決しやすいからです。

Veeam ONE 通知で使用できる属性

Veeam ONEには、通知の情報をプレーンテキストにエクスポートする機能が備わっています。それにより、通知に含まれる情報を構文解析して、外部のツールに送ることができます。特に、バージョン9.5のUpdate 4以降は、一意のアラームIDを取得することが可能になり、Veeam ONEの各種通知をServiceNowやRemedyなど、外部の修復・追跡ツールと組み合わせるのがとても便利になりました。

Veeam ONEが個々のアラームに対して生成する情報は以下のとおりです。これらはアラーム属性として、各ユーザーがニーズに合わせて最重要情報を取得するために使用することができます。

  • %1 – Alarm name(アラーム名)
  • %2 – Affected object name(対象オブジェクト名)
  • %3 – Alarm summary(アラーム概要)
  • %4 – Time(時刻)
  • %5 – Alarm status(アラーム ステータス)
  • %6 – Previous alarm status(前アラーム ステータス)
  • %7 – Alarm ID(アラームID)

Microsoft TeamsでVeeam ONE 通知を受信するには

Microsoft Teamsはその使いやすさもあいまって、Microsoft Officeスイートの重要な要素として、他のMicrosoft Office 365製品とも密に連携する非常に重要なコミュニケーション ツールとなっています。日常的にもっともよく使われている標準ツールとも言えるでしょう。

Microsoft Teamsのチャネルでアラートを受信するには、チャネルにIncoming Webhookの一意のURLを作成する必要があります。そのためには、下図のように、該当するChannel – Connectionsを右クリックします。

次に、Incoming Webhookを選択して、Configureをクリックします。

そして、Webhook名をはじめとする数種類のパラメータを設定します。Webhook名はMicrosoft Teams Channelに公開されます。また、ここで通知に使われる社名などのアイコンを更新することも忘れないでください。

これまでの作業の結果、一意のIncoming Webhook URLが表示されるので、それをコピーして安全な場所に保存します。このURLは次のステップで必要になります。

これでMicrosoft Teamsの準備は整いましたので、リモート デスクトップからVeeam ONEサーバーに接続します。次に、VeeamHubコミュニティから次のスクリプトをダウンロードし、そこにMicrosoft TeamsのIncoming Webhookを追加します。同時に、通知のテキストを必要に応じて編集することができます。通知は読み手にとって便利でわかりやすくなるように心掛けてください。

以上で、Microsoft Teamsおよびスクリプトで必要な準備はすべて整いました。「通知を送信するためのVeeam ONEコンフィギュレーション」に進んでください。

SlackでVeeam ONE 通知を受信するには

Slackは世界の半分でコミュニケーションの中枢を担うツールで、インスタント コミュニケーションの世界に大旋風を巻き起こしたと言っても過言ではありません。インターネット リレー チャット(IRC)では、フォーラムのリアルタイム コミュニケーションができず、連携機能の不足が開発やアイデア面からも時代遅れの感が否めませんでした。SlackはちょうどそんなときにIRCに代わる存在として登場しました。そこで、Slackを通じてVeeam ONEのアラートを送信する方法も、ぜひ確認しておきたいところです。

設定はSlackチャンネルで利用可能なWebhook数によって、うまくいく場合とエラーになる場合があります。まず、以下のリンクにアクセスして、Webhookを作成したいSlackを右上から選択してください。

以下の画面が表示され、アラートを送信したいチャンネルを選択できるようになります。

これにより、一意のコードが得られ、以下のスクリプトで矢印に示されるように使用することができます。

Slackには独自のPowerShellモジュールがあり、通知でいろいろと活用することができます。この設定のためには、Veeam ONEサーバーに次のPowerShellモジュールをインストールする必要があります。

Install-Module PSSlack

NuGetの最新版は含まれていないかもしれないので、以下の質問にはYesと回答します。

NuGet provider is required to continue

PowerShellGet requires NuGet provider version ‘2.8.5.201’ or newer to interact with NuGet-based repositories. The NuGet provider must be available in ‘C:\Program Files\PackageManagement\ProviderAssemblies’ or ‘C:\Users\Administrator\AppData\Local\PackageManagement\ProviderAssemblies’. You can also install the NuGet provider by running ‘Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force’. Do you want PowerShellGet to install and import the NuGet provider now?

[Y] Yes  [N] No  [S] Suspend  [?] Help (default is “Y”):

次に、モジュールを信用するか否かの質問には、A(Yes to All)と回答します。

Untrusted repository

You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from ‘PSGallery’?

[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is “N”): ANo  [L] No to All  [S] Suspend  [?] Help (default  

以上で、Slackの準備が完了したので、リモート デスクトップからVeeam ONEサーバーに接続してください。次に、VeeamHubコミュニティから次のスクリプトをダウンロードし、そこにSlack Incoming Webhookを追加します。同時に、通知のテキストを必要に応じて編集することができます。アイコンも自社専用のものに変更可能です(今は便宜上Veeam ONEアイコンに接続されています)。なお、通知は読み手にとって便利でわかりやすくなるように心掛けてください。

これで、Slackおよびスクリプトで必要な準備はすべて整いました。「通知を送信するためのVeeam ONEコンフィギュレーション」に進んでください。

通知を送信するためのVeeam ONEコンフィギュレーション

本稿の最初にも言及しましたが、この最新式の通知送信方法をVeeam ONEのすべての通知に広く適用するのは得策ではありません。Microsoft TeamsのチャネルまたはSlackのチャンネルを通知で溢れさせることになり、結局、誰も通知を見なくなってしまう危険性があります。

まずは全チームに共通のもっとも重要なアラートを選択することをおすすめします。Veeam ONEモニターで、Alarm Managementからもっとも重要なものを選択して、Editをクリックします。Alarm Settingsウィンドウが開くので、Notificationsを表示させます。Eメール通知を維持することもできますが、ここでは新規の通知を追加します。Actions列にRun Scriptを選択し、Value列に次の文字列を入力します(SlackまたはTeamsに適切なものを選択してください)。

powershell.exe “C:\YOURPATHTOTHESCRIPTS\VeeamONE-Notification-(Slack-OR-Teams).ps1” ‘%1’ ‘%2’ ‘%3’ ‘%4’ ‘%5’ ‘%6’ ‘%7’

これで完成です。以上の設定により、選択したアラームが他のオブジェクトによって発動された場合に、Microsoft TeamsまたはSlackで通知を受け取ることができます。

Microsoft Teamsでは以下のように通知を受信します。

Slackでは以下のように通知を受信します。

ここで紹介した通知設定が社内コミュニケーションの向上に役立てば幸いです。また、他にもワークフローを改善する画期的なアイデアがあれば、ぜひお知らせください。

関連トピックス

コメントを残す

メールアドレスが公開されることはありません。

 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください