【Azure】Log Analytics ワークスペース上から /var/log/wtmp のログを表示させると文字化けする問題の対処法

/var/log/wtmp を Log Analytics ワークスペースにそのまま取り込もうとすると、文字化けが発生します。
ネット上に情報が無く、サポートに問い合わせて解決に至りましたので、小ネタですが誰かの助けになればと思い記事にします。

やりたいこと

Azure Log Analytics ワークスペースからクエリ投げて、/var/log/wtmpのログを表示したいです。
しかしwtmpファイルの性質上、うまくいきませんでした。

 

wtmpとは

概要

/var/log/wtmpはLinux OSにおいてログインのイベントを記録するファイルです。
システムの利用状況を把握し、セキュリティ監査やトラブルシューティングを行うために利用されます。
本記事において重要なのが、テキストファイルではなく、バイナリファイルとして記録されていることです。

バイナリファイル

バイナリファイル内のデータは0と1のビット列で構成されており、人間では解釈できない構造になってます。

cat /var/log/wtmp

つまりcatコマンドを入力しても中身見れないのです。(Linux OSのVMにログインして入力することを想定)

専用のlastコマンドが必要で、

last

これだと人間が読める形式で表示してくれます。

 

Log Analytics 使ってみる

データ収集ルール

VMにログインせずともAzureポータルからログを確認するために、Log Analyticsを使用します。

データソースの追加

データソースの種類:カスタムテキストログ

ファイルパターン:/var/log/wtmp

テーブル名:wtmp_CL

レコード区切り記号:End-of-Line

変換:source

 

 

 

問題点

設定完了しましたら、Log Analytics ワークスペースで実施します。

 

 

 

 

結果のRawData列に注目してほしいのですが、文字化けしてます。
“}pts/0ߢOh��1pts/0ts/0vmlinux-tomioka0110.15.172.5��Oh�”

Log Analyticsのデータ収集ルールの機能には様々なデータソースの種類がありますが、使用している「カスタムテキストログ」ではその名の通りテキストファイルのみを対象とします。

「それなら、別のデータソースの種類にすれば良いのでは?」と思われるかもしれません。
しかし、残念ながら別のデータソースの種類ではファイルパターン(’/var/log/wtmp’)の指定できません。

つまり

  • カスタムテキストログを使用 → 文字化けが発生
  • 別のデータソースの種類を使用 → /var/log/wtmp を読み取ること自体ができない

という八方塞がりの状態になってしまうのです。

 

解決策

単純ですが、lastコマンドの結果を新しいテキストファイルに出力して、そのテキストファイルを読み取ることで解決します

手順

1.Linux OSのVMにログインして以下のコマンド入力します。

last -f /var/log/wtmp > /var/log/wtmp.log

2.Azureポータルのデータ収集ルールに移動し、ファイルパターンを/var/log/wtmp.logに変更

3.Log Analytics ワークスペースで テーブル名のクエリを入力して実行

 

 

 

 

 

 

RawData列に人間が読める形式で出力されました。
“vmlinux- pts/0 10.15.172.5 Mon Jun 16 07:46 – 08:31 (00:44)”

カスタム ログを設定し、OS 上にログが出力された後、2 時間程度経過しないと Log Analytics ワークスペース上でクエリが出来ない場合があります。
Azure Monitor エージェントでカスタム ログを取得する方法 | Japan Azure Monitoring Support Blog
 

さいごに

本当は余計なテキストファイルを追加せずに、読み取る方法があれば良いなと思っています。

Log Analytics ワークスペースが /var/log/wtmpのようなバイナリ形式のログファイルを直接サポートし、ログを収集・分析できるようになる未来を期待しています。

著者について

2024年4月入社。
現在はAzureの案件に取り組んでいます。
保有資格:応用情報技術者、簿記二級、TOEIC 865点、AZ-305

冨岡 虎太朗をフォローする

クラウドに強いによるエンジニアブログです。

SCSKクラウドサービス(Azure)は、Azureを最大限活用するためのオールインワンサービスです。40年以上の様々なシステム構築・運用実績で得た業界理解と、Azure構築ナレッジを強みに、クラウドへの移行から運用までトータルでサポートし、お客様のAzure活用を実現します。

Azureデータ分析・活用基盤
シェアする
タイトルとURLをコピーしました