Linux 仮想マシンにAzure MonitorエージェントをインストールしてLog Analyticsワークスペースにデータを収集する際の流れとポイントをご紹介します。
公式ページは以下です。
Azure Monitor エージェントをインストールして管理する
Azure Monitor を使用して仮想マシンを監視する: エージェントをデプロイする
Windows仮想マシンのデータ収集については以下もご参照ください。
Azure MonitorエージェントによるWindows仮想マシンの監視
公式ページから、そのやり方だけを読み解くのが難しいのですが、基本的な流れは、
・Log Analyticsワークスペースを作成する
・データ収集ルールを作成する
という2ステップになります。このうち、「・データ収集ルールを作成する」というところがポイントだと思うので、この部分を解説します。
1.データ収集ルールの作成
Azure ポータルから 設定カテゴリ > モニター >データ収集ルール をクリックします。
2.データ収集ルールの設定(基本)
「基本」タブで、適宜名前など入力します。プラットフォームの種類は「Linux」を選択します。エンドポイントIDはnoneにしています。
3.データ収集ルールの設定(リソース)
「リソース」タブの「リソースの追加」からAzure Monitorエージェントをインストールしてデータ収集したいLinux仮想マシンを選択します。
4.データ収集ルール設定(配信と収集)
どのようなデータを収集するか決定します。「Linux Syslog」と「パフォーマンスカウンター」が指定可能である為、それを選択します。
Syslogについては、以下のように収集する際のセベリティをログ毎に指定できます。設計要素になりますが、例えば、Warningレベル以上のログを収集したい場合「LOG_WARNING」を指定します。
デフォルトだと、全てのログを、debugレベルで収集します。もし、収集したくない不要なログがある場合は、各ログ上で、明確に、「none」を設定する必要があります。以下は「LOG_MAIL」「LOG_NEWS」「LOG_NOPRI」について収集しない、という設定をしています。
ターゲット設定では、種類に「Azure Monitor Logs」を選択します。
Destination Detailsには保存したいLog Analyticsワークスペースを指定してください。
データ収集ルールを保存することで、リソースに指定した仮想マシンには、自動でAzure Monitorエージェントがインストールされます。設定を保存した後はしばらく待機して確認してください。
5.ログ出力確認
Log Analyticsワークスペース上で、「syslog」とコマンドすると、データ収集したsyslogを確認できます。
手動のメッセージをlogに書き込んで、データ収集ルールの設定を確認することも可能です。例えば、以下のように、loggerコマンドでテストできます。
logger -p local1.err “テストログメッセージ1”
logger -p local1.warning “テストログメッセージ2”
logger -p local1.info “テストログメッセージ3”
logger -p local1.info “テストログメッセージ4”
logger -p local1.warning “テストログメッセージ5”
logger -p local1.err “テストログメッセージ6”
セベリティを変えて、メッセージの書き込みを行っています。データ収集ルールで、local1 はWarning以上を指定している為、テストログメッセージの3と4はLog Analyticsに収集されないはずです。
確認してみます。
Log Analyticsでの検索結果は以下です。infoレベルを検知していないのが確認できます。
以上、かなりシンプルですが、
・Log Analyticsワークスペースを作成する
・データ収集ルールを作成する
という2つのステップで、Azure MonitorエージェントをLinux仮想マシンにインストールしてデータ収集することが可能です。