Aria Operations for Logs で任意のイベントを通知する
はじめに
vSphereで発生するイベントはアラーム定義で通知設定をすることで監視が可能となる。
しかし、アラーム定義に存在しない or 設定できないイベントを通知するためには、アラーム定義以外の方法を活用する必要がある。
また、GUIからアラーム定義のすべてに対して通知設定をするのが手間な場合もある。
今回はVVF/VCFに付属するAria
Operations for Logsを利用して、それがの未定義のイベントを検知&通知する方法を紹介する
今回の目的
Aria Operations for LogsでvSphereのイベントを収集し、アラーム定義で設定ができないイベントを定期的にテキストでクエリし、ヒットした場合はメール
or Webhook で通知する
Aria
Operations for Logsのインストール
Aria Operataions
for LogsはOVA形式でBroadcom Support
Portalからダウンロードが可能である。
ダウンロードの手順と、OVAのデプロイの手順は割愛する。
ネットワーク設定などはOVAデプロイ時のウィザードで設定が可能である。
OVAデプロイ後に起動をすると、設定したIPアドレスで初期セットアップ画面にアクセスできるようになる
「次へ」をクリックして先にすすむ。
今回は完全に新規なので、「新しい展開の開始」を選択する。
この画面で2~3分待つ。
Eメールは入力しなくてもよい。
Adminパスワードを入力して先に進む。
ライセンスキーがある場合は入力する。
評価のみの場合はスキップで先に進む。
システム通知先を設定できる。あとからデモ設定は可能。
設定せずに先に進むことができる。
次にNTP設定画面に移る。
デフォルトでvmwareのNTPサーバ群が入力されている。
ログサーバの性質上、きちんと同期できるNTPサーバを準備した方が良い。
次にSMTP構成に移る。
今回はWindows サーバ上でFreeのFake
SMTPを実行でテストに利用している
シンプルなSMTPサーバとして利用しているので今回はSSL/TLSは利用せず、認証も使わない。
テストメールを送信し、受信できることを確認しておく。
次にSSL証明書の構成に移る。
デフォルトでは自己署名証明書が利用されている。
HTTPSアクセス時に信頼されていない証明書の場合は警告or接続失敗になる懸念があるが、今回は関係ないのでデフォルトの自己署名証明書のまま進める。
ここまで設定したら初期設定は完了なので「終了」をしてAria Operations for Logs の設定を進めていく。
初期セットアップが完了するとこの画面に遷移する。
今回はvSphereからのイベントを取り込むため、vSphere 統合を設定する。
「vSpehre統合の構成」をクリックする
vSphere 構成の画面で、vCenter Server との接続情報を追加する。
ホスト名の欄にvCenter Server のIP
or FQDN を入力する
ユーザ名とパスワードは管理者のものを利用する。(管理者権限でなくてもよいかも?試してない)
接続テストボタンを押すと証明書の確認のプロンプトが出る。
接続テストに成功したら、「vCenter Serverイベント、タスクおよびアラームを収集します。」にチェックがついていることを確認して保存を押す。
※ターゲットは転送先となるAria Operataions for Logs のIPになっていることを確認する
構成が完了するとvCenterからイベントやアラームを取得できるようになっている。
前ステップで「Operations for Logsにログを送信するようにESXiホストを構成する」にチェックを入れると、ESXiのSyslog設定も自動的に実施される。
Webhookの登録
今回はSMTP通知だけでなくWebhookによる通知も試す。
SMTPは初期設定の過程で設定済みのため、Webhookの設定を行う。
Webhookによる通知先として、MS TeamsやSlackなどに対して送信することが可能だが、今回はテストのためにwebhook.siteを利用させていただいた。
ログインや登録なしでも利用することが可能であり、アクセスするとすでにテストで利用可能なWebhookのURLや、テスト用のメールアドレスなどが割り当てられているのでこのURLを使う。
Aria Operations for Logsから精製したWebhook URLを通知先として登録していく。
GUI左側の一覧から「構成」を展開し、「Webhook」を選択する
右上の「新しいWEBHOOK」から登録をする。
設定画面では「名前」で任意の名前を設定する。
「エンドポイントタイプ」では「カスタム」を選択する。
「Webhook URL」で先ほど生成したWebhook.siteのURLを入力する。
残りの項目はデフォルトでよい。(テストなので)
テストアラートを実行してWebhook.siteで受信できていることを確認する。
↑このように受信できていることを確認できる。
アラートの定義を新規作成する
ここまで準備が出来たら、あとは定期的なイベントのクエリと通知の設定をするだけでよい。
Aria
Operations for Logs の左側の一覧から「アラート」を展開し「アラートの定義」を選択する。
右上の「新規作成」から設定を開始する。
一番上の項目で任意の名前を設定する。
クエリの項目で、検索したい文字列を入力する。今回はVXR50から始まる文字列を検索したいためメタ文字の*(アスタリスク)も利用している。
トリガ条件の「期間」の項目では、デフォルトの5分となっているが、ここでは15分として設定をしている。最短周期のReal Timeやデフォルトの5分だとうまく検知できないことがほとんどであったため、このテスト環境では15分以上の周期が確実と思われる。
期間で設定し時間内でのトリガ条件の詳細を設定可能だが、ここではデフォルトのままにしている。
上図では、Count of event(期間内の該当イベント)が「次の値を超える(Greater
than)」で0が設定されているため、期間内で1回以上(0は含まない)該当のイベントがヒットした場合に通知がトリガーされることになる。
通知先としてEメールアドレスとWebhookの両方を設定している。(トリガ条件を満たすとこの2つの宛先に通知される)
最後に右上の「テストアラートを送信」を押して、通知が機能することを確認する。
動作確認
手動で該当のイベントを発生させて、きちんとSMTP/Webhookの両方に通知されることを確認する。
手動でイベントを発生させたのち、まずはvSphere Client での表示を確認する。
↑まず上記のようにvCenter上の手動発生のイベントを確認した。
VXR50を含むイベントが2つ発生しているが、今回の設定では一番上のイベントを検知できる。
次に、今回作成したアラート定義による通知を確認する
↑ VXR500BAT0007 というアラームが発生し、きちんと検知できた結果、メールで通知が飛んできている。
↑同様にWebhookでも同じタイミングで通知を受信すること確認した。
検証の結果、問題なく検知できていることを確認できた。
終わりに
今回の記事では、vSphere上の任意のイベントをテキストでクエリして通知する仕組みを検証した。
HCIアプライアンス製品など、独自のイベントコードを持ち、かつvSphere Clientのアラーム定義で通知設定をすることが難しい場合だけでなく、
標準のvSphere アラーム定義毎に通知を設定するのが手間な場合もこの方法で通知設定が可能である。
コメント
コメントを投稿