🔎
Log Analytics を試してみる
こんにちは。Enabling team の山本です。
「負の整数」を初めて学んだ時のことを覚えていますか❓
マイナス×マイナス=プラス
になる理由など。
娘の中学準備で数学を改めて学ぶと、自分は形式的に覚えていただけなんだな、、と思いました。
それなりの成績しか取れないはずだ 🙀、、
日常に、見逃していた学びがありました。
さて、今回は、Log Analytics について書きます。
この記事の作成時点で、 asia-northeast1
が利用可能になりました。
個人的には、Log Explorer の機能は、充実しており、問題なく使える状態でした。
特に、Log Based Alerts は、Security 対策に重宝しています。
今回、Log Analytics を試すモチベーションは、アドホック分析です。
例えば、以下のような調査の依頼が最近よくあります。
- ◯◯ エラーの時間帯別の発生件数。
- ◯◯ の平均。
TL;DR
- グループ化、平均など SQL ならではの機能が嬉しい。
- 表示対象のフィールドを絞れるので見やすい。
- Log Explorer にある機能の一部(Log based alert など)は、今のところ無い。
比較
Filter resource label
- Log Explorer
severity>=ERROR AND jsonPayload.message:"ホゲホゲ"
- Log Analytics
SELECT timestamp, JSON_VALUE(json_payload.message) as message FROM `hoge.global._Default._AllLogs` WHERE timestamp >= TIMESTAMP("2023-03-27 16:18:00", "Asia/Tokyo") AND timestamp <= TIMESTAMP("2023-03-27 16:20:00", "Asia/Tokyo") AND severity IS NOT NULL AND severity IN ('ERROR') AND JSON_VALUE(json_payload.message) LIKE "%ホゲホゲ%"
Group
- Log Analytics
SELECT
count(*) as count
FROM
`hoge.global._Default._AllLogs`
WHERE
timestamp >= TIMESTAMP("2023-03-27 16:18:00", "Asia/Tokyo")
AND timestamp <= TIMESTAMP("2023-03-27 16:20:00", "Asia/Tokyo")
AND severity IS NOT NULL
AND severity IN ('ERROR')
AND JSON_VALUE(json_payload.message) LIKE "%ホゲホゲ%"
まとめ
Log Analytics について書きました。
これを書いている時点では、あーでもない、こーでもない、と色々試してる段階です。
このあと、色々書き足していこうと思います。
集計・平均・フィールドでの並び替えを使えることで、不正や異常など、その時々の要件に対応できるため、有用だと感じました。
Discussion