SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Log Analytics を使用した、ゆるい感じのサーバーの死活監視

leave a comment

Azure の Log Analytics (OMS) のアラート機能を使用したゆるい感じでのサーバーの死活監視の方法を書いてみようかと。

Log Analytics のアラート機能の最小の間隔は 5 分間隔での実行となっており、連携しているデータのインデックスが作成されるのにもタイムラグがありますので、今回の方法は即応性のあるものではありません。

オンプレミスのサーバーや Azure VM の情報の取得を Log Analytics で実施する場合、エージェント経由で情報が収集されることになりますが、収集されている情報の中には「Heartbeat」という種類のレコードが存在しています。

ネットワークの状況にもよるとは思うのですが、通常、この種類のレコードは「1 分間隔」で送信が行われています。

image

一定の間隔で収集される情報を Log Analytics の Alert で使用することで、即応性の求められないゆるい感じの死活監視を設定することができます。

私の場合は、自宅の中継サーバーに Log Analytics のエージェントをインストールして、サーバーの稼働状況の死活監視に利用しています。

アラートの検索用のクエリとしては次のようなものを設定しています。

Heartbeat
| where Computer like "NUC-02"
| project TimeGenerated ,TimeGenerated_JPN =datetime_add('hour', 9, TimeGenerated), Computer
| sort by TimeGenerated desc

今回は特定のコンピューターのみを対象としていますが、複数のコンピューターを対象とする場合は、コンピューターグループでまとめれば対応できるのではないでしょうか。

上記のクエリを使用して、次のような条件を設定しています。

image

アラートの確認がされる頻度については「頻度(分単位)」で設定をすることができ、上記の設定であれば「5 分間隔」でアラートの確認が行われます。

5 分間隔でチェックが行われるのですが、その際に対象とするデータについては「期間 (分単位)」で設定をすることになり、上記の背設定であれば「頻度 (分単位)」のタイミングに達した場合に、「10 分前までのデータを対象」として確認が行われることになります。

通常、1 分間隔で情報が送信されていますので、10 分の期間をデータ確認対象とした場合「10 回」情報が取得されていなければ、送信の遅延もしくは、サーバーが落ちていて情報が遅れていない可能性がありますので、アラートを出すようにしています。

メールの送信については、次のような設定を行っています。

image

 

5 分間隔でチェックが実行されるため、サーバーが落ちているというような何かしらのアクションを実施して、情報の送信を再開しなくてはいけない場合、5 分間隔でメールが送られてきても困りますので、一度メールが送信されてから、ある程度の期間、メールの送信を抑止したい場合には「アラートを表示しない」を有効にし、一度メールを送信した後のメールの抑制期間を設けるとよいかと。

Slack 等を利用している場合には、webhook を使って通知することもできます。

実際に送信されるメールがこちらになるのですが、どの期間が検索され、何回データが取得できたのかを確認することができます。

image

上記の画像では、10 回送信されるのが正しいところ、9 回しか送信されなかったため、警告の対象となり、メールが送信されてきています。

クエリに指定した情報がメールの本文に含まれますので、どのタイミングの情報が検知できなかったのかも、メールから確認することができます。

Log Analytics の SLA では、収集されたデータのインデックス作成は 6 時間以内となっていますが、私の環境のデータ送信量であれば、大体 10 分ぐらいでインデックスは作成されているようには見えます。

Log Analytics のデータを起点とした場合、現状は、ある程度のタイムラグがあり、アラートを確認するための最小の期間も 5 分間隔となっていますので、ルタイム性が求められるものでの利用は難しいかと思います。

しかし、後追いのための情報や、検証環境系の緩い感じでの死活監視を簡単に設定したいということであれば、Log Analytcis のアラートを使うこともできるのではないでしょうか。

Written by masayuki.ozawa

7月 1st, 2018 at 11:49 pm

Posted in Microsoft Azure

Tagged with

Leave a Reply

*