はじめに
ウェブサイトやAPIなど、ユーザーに提供するサービスをしっかりと監視していく必要があります。
そういった時に、便利に使えて必須とも言えるサービス、Azure LogAnalytics についてご紹介していきます。
さくっと概要を知りたい中級者向けの内容になっています。
- ログを収集し分析するのは、エラーが出た時に原因を早急に突き止めるのに使えます
- しきい値でアラートを発砲してくれるので問題にすぐ気付ける
- ダッシュボードでひと目で可視化したデータを確認できるので、管理コストがかかりません
- 次の開発に集中して作業ができる
Azure LogAnalyticsとは
- Azureサービス/Azure VM、オンプレミス/他クラウドサービスのWindowsやLinuxのログを収集し分析するためのサービス
- 対象サーバにエージェントをインストールするだけで、簡単に使用することができる
- 収集したデータに閾値を設定し、アラートを発報できる。
- 収集したデータをダッシュボードに集約し、可視化が可能。
Azure Monitor ログが利用可能です。
Azure のお客様が監視を簡単に行えるようにするために統合されたサービスです。
※本記事では、Azure LogAnalyticsで統一します。
LogAnalytics が収集できるデータ
収集データ | 概要 |
---|---|
Windowsイベントログ | Windowsイベントログのイベントのみを収集(Azure Monitor での Windows イベントログのデータソース) |
Windowsパフォーマンスカウンター | Windowsのハードウェアコンポーネント、オペレーティングシステム、およびアプリケーションのパフォーマンスに関する情報の収集 (Azure Monitor での Windows および Linux のパフォーマンス データ ソース) |
Linuxパフォーマンスカウンター | Linuxのハードウェアコンポーネント、オペレーティングシステム、およびアプリケーションのパフォーマンスに関する情報の収集(Azure Monitor での Windows および Linux のパフォーマンス データ ソース) |
IISログ | W3C形式で格納されたIISログファイルのみを収集(Azure Monitor での IIS ログを収集する) |
カスタムログ | WindowsとLinuxの両方のテキストファイルからイベントを収集(Azure Monitor のカスタム ログ) |
Syslog | Linuxのrsyslogまたはsyslog-ngによって送信されたメッセージの収集(Azure Monitor の Syslog データ ソース) |
価格
LogAnalyticsでは、サービスに取り込まれたデータがギガバイト(GB)単位で課金されます。
※デフォルトの設定ではデータ保持期間が30日に設定されています。
機能 | 含まれている無料ユニット | 料金 |
---|---|---|
データインジェスト | 顧客あたり5GB/月 | ¥374.08/GB |
データ保持 | 31日 | 1GBあたり ¥16.80/月 |
使用方法
AzurePortalへログインし、[LogAnalyticsワークスペース]を選択
LogAnalyticsワークスペースを新規作成
ワークスペース名/サブスクリプション/リソースグループ/場所/価格レベルを選択
※LogAnalyticsワークスペースを作成するリソースグループは運用条件によって、LogAnalytics専用のグループを作成するか監視対象リソースと同じグループを使用するかを決める
ワークスペースのデータソースより[仮想マシン]を選択
対象の仮想マシンを選択し接続(接続に時間を要する場合があります)
※本記事ではAzure VM(WindowsServer)を対象にしてます。
LogAnalyticsワークスペースの[詳細設定]から収集するデータを選択
Dataから収集したいデータを選択し保存
※Azure VM(Windows)のパフォーマンスカウンターを取得したい場合は、別途Azure VMの[診断設定]-[ゲストレベルの監視を有効にする]をONにする必要があります。
LogAnalyticsワークスペースの[ログ]から収集したデータの検索やアラートの設定が可能
ここではKustoクエリを使用します。(kustoクエリ 概要)
Kustoクエリ
英語のみとなりますが、ウェビナーもあります。
(Kusto Query Language (KQL) from Scratch)
以下にAzure LogAnalyticsでよく使用するクエリをまとめます。
クエリの基本構文は テーブル名|コマンド1|コマンド2… となります。
テーブル名 | 説明 |
---|---|
Syslog | LinuxのSyslogの取得 |
Event | Windowsイベントログの取得 |
Perf | パフォーマンスカウンターからリソース使用率を取得可能(Perfのみで実行すると接続しているコンピュータ名が確認可能) |
Heartbeat | 死活監視等に使用 |
グラフ
LogAnalyticsワークスペースから[ビューデザイナー]を選択。
一部プレビューの機能もあります。
表示したいグラフを選択し、表示メトリックのクエリ等を設定する
ユースケース
- サーバーなどを監視する仕組みを利用したい
- 監視もazure環境内で完結したい
- ランニングコストの予算内にとどめたい