Log AnalyticsでLogやリソース情報が取得出来なくなった時にやった事

Azure,Log Analytics

Log Analyticsを使っていると、Azure Portal上でAzure VMとの接続ステータスは問題がなくても、実際にはログやリソース情報が取得できていない事象に当たる事があります。

Azure VM側のエージェントに問題があったりするケースが多いように見受けられます。

Log Analytics-Azure VM間のLogやパフォーマンス情報転送を復活させる為に色々やってみたことをメモとして残します。マイクロソフト公式サイトやサポート様に色々教わりながら試行錯誤してみた内容になります。

Linux 用 Log Analytics エージェントに関する問題のトラブルシューティング方法

Windows および Linux での Log Analytics エージェントの管理とメンテナンス

Azure Monitor での Agent Health ソリューション

※これは1例です。残念ながらこれで治らないケースもあります。

スポンサーリンク

Azure VMからLog Analyticsワークスペースへのログ/パフォーマンス情報転送状況を確認

Log Analytics側でのデータ受信状況の確認は、各Azure VMからHeartbeatが受信出来ているかで確認します。Heartbeatが受信出来てない場合はデータも受信出来ていません。

Log Analyticsのログ検索で、以下のコマンドを実行すると、5分以上HeartBeatが取得できていない仮想マシンの情報が取得できます。取得出来ていた場合には結果が表示されません。

Heartbeat
| summarize LastCall = max(TimeGenerated) by Computer
| where LastCall < ago(5m)

対象の仮想マシンがいつまで情報を取得出来ていたのかは、以下のコマンドで取得できます。

Heartbeat
| where Computer == “仮想マシン名"
| summarize LastCall = max(TimeGenerated)

※HeartBeatが取得出来ている場合でも、実際のログ採取ができてないケースもあります。

メトリックを用いた監視も試しています。こちらについては下記に記載しております。

Log AnalyticsでAzure VMからログが取得出来てなかった場合のリカバリを試みる

今回、実施した内容は下記の通りになります。

      • サービスの再起動
      • コマンドラインでのエージェントのアンインストール
      • コマンドラインでのエージェントの際インストール
      • Azure Portal上での再接続
      • サーバリブートでした。

まず、サービスの再起動を試みます。今回は/tmpで実施しています。(権限上の問題がある場合は、Sudoで実行して下さい)

[ユーザー名@ホスト名 tmp]$ systemctl restart waagent.service
[ユーザー名@ホスト名 tmp]$ /opt/microsoft/omsagent/bin/service_control restart

今回は、それで改善されなかったため、再インストールを行いました。

現在接続されている、ワークスペースを解除します。

[ユーザー名@ホスト名 tmp]$ /opt/microsoft/omsagent/bin/omsadmin.sh -X

OMSエージェントのパッケージをダウンロードします。

[ユーザー名@ホスト名 tmp]$ wget https://github.com/microsoft/OMS-Agent-for-Linux/releases/download/OMSAgent_v1.12.15-0/omsagent-1.12.15-0.universal.x64.sh

#マイクロソフト様のサイトには以下の通り記載があります。こちらでも同じ事が可能です。

#wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh –purge

OMSエージェントをアンインストールします。

[ユーザー名@ホスト名 tmp]$ ./omsagent-1.12.15-0.universal.x64.sh –purge

OMSエージェントをインストールします。

[ユーザー名@ホスト名 tmp]$ sh omsagent-1.12.15-0.universal.x64.sh –install -w ”workspace id” -s “shared key" 

このコマンド実行後にCodeが0になっている場合は、インストールが終わっています。

AzurePortal上で該当のマシンに対して、切断、接続を実施する事で、正しく接続されているはずです。。。ですが、実際には3.そのほかにやった事に書いた通りうまく行きませんでした。

その他にLog AnalyticsとAzure VM接続状況回復の為にやった事

その他にこちらの内容も試しました。

      • LADのアンインストールを先に実施する。LAD(Linux Azure Diagnostics)がインストールされていると、アンインストール、インストールがうまく行かないケースがあるそうです。
      • –installの部分をーーupgradeにしてみました。(installではエラーになるケースがあった為)
      • サーバの再起動。接続は出来ているが、OMSAgent Runningにならない。OMSエージェントの再起動でもNGだったのでサーバの再起動してみました。(復旧理由はいまだに不明です。)

※いつもの事ですが、マイクロソフトのサポート様にかなり助けて頂いております。

スポンサーリンク