調査方法:
- SyslogにINFOログを10秒ごとに送信するスクリプトを実行する。 ここでは、以下のスクリプトを実行します。
- Log AnalyticsワークスペースにINFOログが送信されることを確認したら、SyslogにINFOログが送信された直後に仮想マシンを停止する。
- 5分ほど停止させ、Log Analyticsワークスペースにログが送信されてこないことを確認したのちに、仮想マシンを起動する。
$ while true; do currentdate=$(date); logger -p user.info message for info on $currentdate; sleep 10s; done
- 仮想マシン停止時には、直前にSyslogに送信されたログがLog Analyticsワークスペースに送信されませんでした。
- 仮想マシンを起動すると、仮想マシン停止の直前にSyslogに送信したログがLog Analyticsワークスペースに送信されました。
Agentはどこまでのログを送信したかという情報をバッファに持つのですが、AgentはLog Analyticsワークスペースに定期的にログを送信するのみで、仮想マシン停止時にバッファを見てログを送信するという動作はしていないことになります。なお、Agentがログを送信するタイミングは/etc/opt/microsoft/omsagent/conf/omsagent.confに記述されており、CentOS 7.5の場合はバッファのフラッシュが10s毎、リトライ回数6回、リトライインターバル30sになっています。
なお、ドキュメントには
なお、ドキュメントには
エージェントが Azure Monitor または Operations Manager に接続できない場合は、そのままデータの収集を続け、接続が確立されたときにデータを送信します。 データの量がクライアントの最大キャッシュ サイズに達した場合、またはエージェントが 24 時間以内に接続を確立できなかった場合は、データが失われることがあります。という記述があるので(https://docs.microsoft.com/ja-jp/azure/azure-monitor/platform/agent-data-sources#data-collection) 、調査方法の手順3での停止時間を24時間以上にしてテストしてみましたが、仮想マシン起動後に未送信のログがLog Analyticsワークスペースに送信されました。起動状態で24時間なのかどうかは今後要調査です。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。