Azure Monitorとは
Azure Monitorは、クラウドおよびオンプレミス環境の利用統計情報を収集、分析し、それに対応する包括的なソリューションを提供する。
要するに、監視・監査用なサービスです。"包括的なソリューション"なので、複数の機能を含まれているということです。
2018/09 に以下のサービスが Azure monitor に統合されました。
- Azure Monitor
- Log Analytics (旧OMS)
- *Application Insights
ただし、統合されたといって、機能が融合されたわけではありません。あくまで関連はできるようになったと考えて無難でしょう。
それぞれ分けて考えると、理解しやすいと思いますので、それぞれについて、説明していきましょう
Azure Monitor (純粋)
機能
Azure Monitor (純粋) は以下のコア機能を持っています。
- Azureサービス正常性監視:
- Azureの各種サービスがメンテナンスや障害になっているかの確認
- (VM などの) リソース正常性の監視
- Azure アクティビティログ(Azure操作ログ)監視:
- Azure の操作ログやリソース状態などのログ
- アラート機能:
- メトリックやログなどの監視内容をトリガーにアラートを発生させる
- アラートアクションとは:アラート発生時の挙動を定義する(メールや Automation など)
- メトリック収集:
- Azure のリソースの基本的なメトリックを収集する(仮想マシン、PaaS サービスなど)
- メトリック情報を保持するデータベース(メトリックデータベース)は、サブスクリプションごとに1つ
- 一部プラットフォームのメトリクスの収集は特に構成しなくても、データが自動的に収集される
- メトリック画面で直接アラームの作成が可能
- データ保持期間は基本93日(メトリックデータベース)
- PaaSサービスは基本93日になる
- クラシックゲストOSは14日
- Azure Monitor で取得した OS メトリック(Diagnostics 拡張機能 ※Windowsのみ)は93日
- Diagnostics setting(診断設定):Azureリソースを監視する機能
- Azure VM の場合:Diagnostics 拡張機能(エージェント)をVMにインストールし、詳細を監査する
- VM にエージェントがインストールされる(Windows:WAD/Linux:LAD)
- メトリックの収集:Memory 使用率、ディスク使用率など
- ブート診断:ポータルでOSのスクリーンショットが見れる
- Diagnostics はデフォルトストレージアカウントにデータを蓄積する
- データの保存や転送:
- Azure Monitor メトリック(データベース)
- Azure Storage Account
- Azure Event Hubs(データ転送サービス)
- Azure その他のリソース(PaaS サービスなど):PaaS のログの収集
- リソース種類ごとに取得可能なログは異なる
- ログデータの保存や転送:
- Log Analytics ワークスペースに保存
- ストレージアカウントへアーカイブ
- Event Hub で外部転送する
エージェント
Azure Monitor のエージェントは以下に含まれます:
Azure Monitor エージェント (AMA)
- 監視対象(2022/06/16):Azure VM、VMSS、Azure Arc 対応サーバ
- 収集データ:
- メトリック:パフォーマンス データ
- イベント ログ(Windows)
- Syslog(Linux)
- テキスト ログ (プレビュー):OS 上のログ ファイルに書き込んだログ データ
- Windows IIS ログ (2022/06/16 プレビュー)
- データ保存先:
- Azure Monitor ログ:Log Analytics
- Azure Monitor メトリック:メトリックデータベース
- 以下の Azure サービスとの連携
- Microsoft Defender for Cloud (2022/06/16 プライベート プレビュー)
- Microsoft Sentinel
- 対応機能:(2022/06/16)
- VM insight (2022/06/16 プライベート プレビュー) ※ 依存関係エージェントの代替になる
- 実行中のプロセスや他のリソースへの依存関係など、仮想マシンと仮想マシン スケール セットのパフォーマンスと正常性監視
- 変更の追跡:ファイルの整合性の監視
- 更新管理:エージェントを必要としない Update Management v2 (プライベート プレビュー)
- データ収集方法:データ収集ルール (DCR)を使用する
- 各エージェントから収集するデータを構成可能(個別収集設定が対応可能)
- 今後について:
- Log Analytics エージェント (レガシー) および Telegraf エージェントの代替になる新しいエージェントとなる
- 現時点(2022/06/16)、まだ一部機能的に Log Analytics をカバーできない部分がある(逐次カバーしていく)
- 今後の Azure Monitor 新機能に対応可能
- Log Analytics エージェントから移行可能
- 移行タイミングの考慮事項
- Azure Monitor Agent (AMA) は Log Analytics Agent (MMA)(レガシー)と共存可能
- 一部データの収集が重複してしまう可能性がある = 料金が高くなる & オーバーヘッドが増える
VM の Diagnostics(診断)拡張機能 (Windows:WAD/Linux:LAD)
- 監視対象:Azure の VM のみ
- 収集データ:
- イベント ログ(Windows)
- Syslog(Linux)
- パフォーマンス(より多様なもの):Memory使用率やDisk使用率も取得可能
- 追加必要エージェント:InfluxData Telegraf エージェント(Linuxのみ、Windowsは不要)
- ETW イベント(Windows)
- ファイル ベース ログ(Windows)
- IIS ログ(Windows)
- .NET アプリ ログ(Windows)
- クラッシュ ダンプ(Windows)
- エージェント診断ログ(Windows)
- 保存先:
- Azure Storage
- Azure Monitor メトリック(メトリックデータベース)(Windowsのみ):シンク設定必須
- イベント ハブ(Event Hub):シンク設定必須
- 利用方法:「仮想マシンを画面」→「監視」→「診断設定」で有効に可能
- データを蓄積するため、Storage Accountが必要
- 注意点:
- Linuxの場合、Diagnostics(診断)拡張機能入れる前に、Log Analyticsエージェントを先に入れる必要がある。
※Diagnostics拡張機能はストレージアカウント経由なので、若干ラグあるかも(凖リアルタイム)
※Event Hubは、ログを他のところにデータを転送できるサービスです
2021/08/19追記:
Azure Monitor エージェントは Azure Monitor のレガシ エージェントの後継です。次の要因を考慮した上で、現在のエージェントからこの新しいエージェントへ、VM の移行を開始できます。
Azure Monitor エージェント は Log analytics のエージェントの後継エージェントになりますので、既に Log analytics を使っている場合、切り替えすることを検討する必要があります。
また、Log Analytics エージェントが非推奨となる日付は、2021 年 8 月に発表される予定です。 非推奨化が始まってから数年間は、現在のエージェントはサポートされます。
Log Analytics (旧OMS)
Log Analytics(旧OMS)は、エージェントを入れている任意の OS からログを収集、分析するためのサービスです。
収集されたデータは、Log Analytics ワークスペースに送信されます。
System Center Operations Manager と同じエージェントを使用しています。
機能
Log Analyticsでは、以下の機能があります。
- OS のログ取得
- OS のパフォーマンス データ取得:ログベースのパフォーマンス情報
- ログ分析:クエリでログをフィルターして、抽出する(Azureサービスのログも含む)
- ログ クエリ結果をベースに、グラフ生成可能
- Azure Monitor のアラートと組み合わせての、ログベースのアラート作成可能
- プロセス監視 (依存関係エージェント)
- プロセスや依存のプロセス監視が可能
- 以下のAzure サービスとの連携
- Azure Security Center
- Azure Sentinel
- Azure Automation Update Management
- Azure Automation State Configuration
- Azure Automation Change Tracking
- Inventory
- ソリューション:特定のサービスまたはアプリケーションを監視する
- VM の監視は、VM Insight ソリューションを使用している
- データ保持期間はデフォルト31日間(無料プランは7日間)
- 最大 730日(2年)間まで延長可能
- アーカイブ ポリシーを設定する場合、アーカイブ期間は最大 2550日(7年)保持可能
- 直近 2週間のデータは SSD キャッシュに保存されている
- データは LRS 冗長の Azure ストレージに保存されている
- データは暗号化されている
※Log Analytics エージェント自体は直接EventHubへ送信できませんが、Log Analytics ワークスペース経由でしたら、可能です。
エージェント (レガシー)
2022/06/16:Log Analytics エージェント (レガシー) は 2024/8 廃止予定。今後は Azure Monitor Agent が代替になります。
Log Analyticsエージェント
エージェントは OS ごとに違う:
-
Windows:MicrosoftMonitoringAgent(MMA)
-
Linux:OmsAgentForLinux(OMSエージェント)
-
監視対象:
- Azure、他社のクラウド、オンプレミスのOS(エージェント入れていれば可)
-
収集データ:
- ログ
- パフォーマンス データ
-
保存先:
- Log Analyticsワークスペース
-
利用方法:
- Log Analyticsワークスペース作成
- AzureのVM:Log Analyticsワークスペースで、直接VMを接続する
- Azure以外:エージェントを手動でインストールし、Log Analyticsワークスペースの情報を入れて、連携する
依存関係(Dependency)エージェント:
- 特徴:Log Analytics エージェントと併用する必要がある
- 監視対象:Log Analytics エージェントと同じ
- 収集データ:
- OS上のプロセス情報
- プロセスと依存関係のある情報
- 例:RDPプロセスでしたら、接続してくるクライアントのIPとかも取得可能
各種比較情報
ApplicationInsight
ApplicationInsightはアプリよりの監視サービスです。
今回はインフラの運用保守を意識しているので、この部分は今後機会あれば紹介しようと思います。
エージェントに関して
Azure Monitorの機能はそれぞれ特徴あるので、複数機能を同時使用することも可能です。
なので、エージェントも複数入れる場合もあります。バッティングはしませんので、ご安心ください。
今回仕事の中で、Azure Monitorに関する検証をしてきて、Log Analyticsの能力に関心しました。
例えば、カスタマイズのクエリで、必要なログやパフォーマンス情報を取り出して、運用要件に合うアラートを作ることです。
その他、プロセス依存関係にもびっくりさせました。RDP接続元のIPも見れるとは思いませんでした。
※「仮想マシン画面」→「監視」→「分析情報」→「マップ」でプロセス依存情報が見れます。
ちなみに、エージェントのサポート状況は公式資料をご参考ください。
最後に
今回はAzure Monitorに関して、分かりやすく分類して説明しました。
特に統合されてから、仕組みを理解しようとすると、結構混乱しやすくなっています。
本記事に書いた内容で、読者の理解に役に立てると幸いです。
ここまで読んでいただいて、お疲れ様でした。
コメント