最近Youtubeに力を入れてます。是非チャンネル登録お願いします!

胡田昌彦のコンピューター系チャンネル

Azure LogAnalyticsのカスタムログで収集した「RawData」を扱いやすくする(クエリ実行時のデータ解析)

Azure
スポンサーリンク

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします!

今回は、以前、「カスタムログ」の機能を使って取り込んだApacheのログを解析しやすい形にしたいと思います。カスタムログで取り込む部分に関しては下記のエントリを参照して下さい。

さて、取り込んだログを見てみると「RawData」という列にカスタムログの1行がすべて入っている状況です。これをより扱いやすい状態にしたいと思います。

やり方は大きく2種類あって「収集時にデータを解析して新しいプロパティを「カスタムフィールド」を使って定義する」か、「クエリを実行するときにそのクエリ内でデータを複数のフィールドに分けてあげる」かです。今回は後者の方法を試してみます。

LogAnalyticsワークスペースのログの検索、解析にはKustoという言語が使えます。

今回は正規表現でRawDataの中身から値を抽出することにします。すべてのレコードはスペースで区切られており、時間の部分は[]で囲まれていて、リクエストとリファラーとエージェントがダブルクオーテーション(“”)で囲まれている状況です。これを正規表現で表現します。

@"^(.) (.) (.) [(.)] ""(.)"" (.) (.) ""(.)"" ""(.*)"""

あとは、extendで列を追加し、RawDataの中身をもとに順番に抽出してあげればよいですね。下記のようなクエリにしてみました。

httpd_access_log_CL
| extend
host=extract(@"^(.) (.) (.) [(.)] ""(.)"" (.) (.) ""(.)"" ""(.)""", 1, RawData), ident=extract(@"^(.) (.) (.) [(.)] ""(.)"" (.) (.) ""(.)"" ""(.)""", 2, RawData),
user=extract(@"^(.) (.) (.) [(.)] ""(.)"" (.) (.) ""(.)"" ""(.)""", 3, RawData), timeInLog=extract(@"^(.) (.) (.) [(.)] ""(.)"" (.) (.) ""(.)"" ""(.)""", 4, RawData),
request=extract(@"^(.) (.) (.) [(.)] ""(.)"" (.) (.) ""(.)"" ""(.)""", 5, RawData), status=extract(@"^(.) (.) (.) [(.)] ""(.)"" (.) (.) ""(.)"" ""(.)""", 6, RawData),
bytes=extract(@"^(.) (.) (.) [(.)] ""(.)"" (.) (.) ""(.)"" ""(.)""", 7, RawData), referer=extract(@"^(.) (.) (.) [(.)] ""(.)"" (.) (.) ""(.)"" ""(.)""", 8, RawData),
agent=extract(@"^(.) (.) (.) [(.)] ""(.)"" (.) (.) ""(.)"" ""(.*)""", 9, RawData)

実行すると、きちんと狙ったところが狙ったプロパティとして抽出されていることがわかります。

もっと良いやり方もあると思います。おすすめのやり方がある方は是非コメントでお知らせ下さい!

今回は以上です!

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします!

評価

この記事はいかがでしたか?評価を是非聞かせてください。

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
読み込み中...
プロフィール
この記事を書いた人

Microsoft MVP for Microsoft Azure。「Windowインフラ管理者入門」著者。Windows系中心のインフラよりの何でも屋。エレキベースを演奏します。将棋も少しやります。ハイブリッドクラウド研究会(HCCJP)主催。最近はYouTuberです http://bit.ly/2NTCKmj

ebiをフォローする
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
AzureAzure LogAnalytics
スポンサーリンク
ebiをフォローする
Microsoft Cloud Administrators

コメント

x
いつもブログをご覧いただきありがとうございます!最近はブログよりもYoutubeに力を入れていますので是非Youtubeもご覧ください!
胡田昌彦のコンピューター系チャンネル
タイトルとURLをコピーしました