OMIの影響でAzure VMがハングアップした
ある日突絶、Cent OSのAzure VMがハングアップして停止する事態が発生しました。
調査した結果、Disk領域の使用率が100%になっている事が分かりました。
100%になってた原因はOMIエージェントが連続して失敗し続け、30分置きに30MB~40MBのCoreファイルが大量に出力されていた為でした。Coreファイルが溜まる事により最終的にディスク使用率が100%になりAzure VMが落ちるという事象でした。
Coreファイルが出力されているのですがLog AnalyticsのHeartbeatは取得し続けており監視のエラーも出てませんでした。
今回は事象調査から解消するまでの対応内容をメモとして残します。
Log AnalyticsのHeartBeat監視については下記記事に記載しております。
Azure VMがOMIエージェントのCoreファイル出力による影響を受けた事を確認する
調べた結果以下の事以下のように、”/”配下がDisk使用率100%になっている事がわかりました。
[ユーザー名@ホスト名 tmp]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置 |
どのディレクトリで容量を消費しているのか?をduコマンドで確認しました。
結果、/var/opt/omi/runで24GB以上の容量を使用している事が分かりました。
[ユーザー名@ホスト名 tmp]# du -S / | sort -n 24416376 /var/opt/omi/run |
/var/opt/omi/runの配下にCoreファイルが大量に生成されており、これが容量を消費していました。
[ユーザー名@ホスト名 tmp]# ls -alht /var/opt/omi/run -rw——- 1 root root 40M 12月 20 21:31 core.60161 |
OMIエージェントのログ採取を行う
ログを見てみたのですが調べても原因が分かりませんでした。マイクロソフトサポート様にログ採取をし調査依頼しました。(ユーザー権限でNGの場合sudoで実施します。)
#1.ログ収集ツールをダウウンロードする。 [ユーザー名@ホスト名 tmp]# wget https://github.com/Microsoft/OMS-Agent-for-Linux/raw/master/tools/LogCollector/download/v4/omslinux_agentlog.tgz #2.tarコマンドでファイルを解凍します。 [ユーザー名@ホスト名 tmp]# tar -xvf omslinux_agentlog.tgz #3. 解凍したファイルに以下が含まれることを確認します。 ./dscDiagnostics.sh #4. 以下のコマンドを実行し、情報を採取します。 [ユーザー名@ホスト名 tmp]# sh omslinux_agentlog.sh -s 000 #5. 実行後、以下のtgz ファイルができるので、このファイルをマイクロソフトサポート様に送ります。 /tmp/omslinuxagentlog-000-yyyy-mm-ddThh:mm:ss.xxxxxx.tgz |
DSCのモジュールのバージョンが低いことが原因(DSCモジュールをアップデート)
調査の事象の結果はDSCのモジュールのバージョンが低いことが原因でした。
アップデート前のバージョンは下記の通りでした。
#アップデート前のDSCのバージョン [ユーザー名@ホスト名 tmp]# rpm -qa | grep dsc |
マイクロソフト公式GithubにDSCモジュールの最新版が公開されているのですが、対応の時にはv1.1.1-926でした。
そこで、DSCモジュールのアップデートは以下の手順で行います。
[ユーザー名@ホスト名 tmp]# wget https://github.com/microsoft/PowerShell-DSC-for-Linnux/releases/download/v1.1.1-926/dsc-1.1.1-926.ssl_110.x64.rpm [ユーザー名@ホスト名 tmp]# rpm -U dsc-1.1.1-926.ssl_110.x64.rpm |
rpmのアップデートの時点で、OMIのサービスが再起動されている為、個別に再起動の必要はありません。今回の事象の場合、これでCoreファイルの出力が止まりました。
モジュールのバージョンアップがうまく行かないケースでこのような事象が起こることもありそうです。Coreファイルが出力された際には各モジュールのバージョンを確認した方が良さそうです。
※事象解消までには、マイクロソフトサポート様に多大なるご支援をいただいております。本当にありがとうございました。