Azure 実践シリーズ010|Azure 監視編Part1[#くらでべ]
Summary
TLDRこのビデオスクリプトでは、Microsoftの上坂さんと大井さんが、Azure上で構築されたシステムの監視方法について解説しています。IaaSやPaaSなど、様々なリソースの組み合わせでシステムが構築されていることを念頭に、3つの主なパターンを紹介し、それぞれの監視要素であるメトリック、ログ、トレースの重要性を説明しています。さらに、Azure Monitorサービスを通じてこれらのデータを取得し、プラットフォーム基盤やサービスの正常性を監査ログとして確認する方法も紹介されています。次回の動画では、IaaSやPaaS、コンテナを使ったサービスの詳細な監視方法について掘り下げる予定とのことです。
Takeaways
- 🌐 Azure 上のシステム監視には IaaS と PaaS が存在し、それぞれ異なるリソースの組み合わせでシステムが構築されている。
- 🏢 IaaS ではオンプレミスと接続された社内システムを構築し、ExpressRoute などを使ってアクセスできる。
- 🌐 PaaS では外部向けのサービス展開に利用され、App Services、Functions、Azure Front Door などのマネージドサービスが使われる。
- 📈 監視はメトリック、ログ、トレースの3要素から成り立っており、リアルタイムでのデータ取得が可能。
- 🔍 Azure Monitor サービスを利用して、メトリック、ログ、トレースデータを一元管理することができる。
- 📊 メトリックは数値化されたデータで、CPUの利用率、レスポンス時間、エラー発生数などを監視する。
- 📝 ログはイベントをテキスト形式で記録し、システムの状態やエラー内容、ユーザーアクセス情報を確認できる。
- 🔎 トレースは分散システムにおいて重要な情報を提供し、サービス間の通信や処理を捕捉してパフォーマンスの劣化やエラー原因を特定する。
- 🛠️ Azure のプラットフォーム基盤ではアクティビティログを取得し、リソースの操作やサービスの正常性を監査する。
- 🔒 Microsoft Entra ID は認証基盤として使われ、ユーザーの操作ログを記録する。
- 🗂️ Log Analytics ワークスペースはアクティビティログとエントラIDのログを保存し、検索とアラートの設定が可能。
Q & A
Azure上のシステムを監視する際、どのようなデータを取得する必要がありますか?
-Azure上のシステムを監視する際には、メトリック、ログ、トレースの3種類のデータを取得する必要があります。メトリックはCPUの利用率やエラーの発生数などの時系列の数値データ、ログはアプリケーションやOSからのテキスト形式のイベント記録、トレースは分散システムのサービス間の通信や処理を捕捉するデータです。
Azureのシステム監視において主に利用されるサービスは何ですか?
-Azureのシステム監視において主に利用されるサービスはAzure Monitorです。Azure Monitorは、メトリックやログ、トレースのデータを取得・分析するための多機能なサービスです。
Azure Monitorで取得できるメトリックデータの例を挙げてください。
-Azure Monitorで取得できるメトリックデータの例として、CPUの利用率、レスポンス時間、エラーの発生数などがあります。
Azure Monitorのログデータにはどのような情報が含まれますか?
-Azure Monitorのログデータには、アプリケーションやOSのイベント記録、システムの状態、エラーの内容、ユーザーのアクセス情報や操作内容などが含まれます。
分散トレースの情報はどのような用途で使用されますか?
-分散トレースの情報は、分散システムにおいて複数のサービス間の通信や処理を追跡し、どこでパフォーマンスの劣化が起こっているか、エラーの原因を特定するために使用されます。
Azureの監視データを一元的に管理するために推奨されるサービスは何ですか?
-Azureの監視データを一元的に管理するために推奨されるサービスはLog Analyticsです。Log Analyticsは、診断ログやサーバーからのイベントログを一元的に保持し、検索やアラートの設定ができるサービスです。
IaaS環境におけるシステム監視の具体例を教えてください。
-IaaS環境におけるシステム監視の具体例として、WindowsやLinuxのマシン上でイベントログやsyslogを取得し、さらにIISやApacheのミドルウェア、.NETなどのランタイム、アプリケーションのログを監視することが挙げられます。
PaaS環境におけるシステム監視の違いは何ですか?
-PaaS環境におけるシステム監視の違いは、OSやランタイム、ミドルウェアがMicrosoftの管理範囲内にあるため、これらのログを取得する必要はありません。しかし、アプリケーションのログはユーザーの責任範囲にあるため、Application Insightsを使用してデータを取得します。
Azureのコンテナサービスでの監視方法について説明してください。
-Azureのコンテナサービスでの監視方法は、OSやオーケストレーターがMicrosoftの管理範囲にあるため、PaaS環境と同様にMicrosoftが提供する仕組みを使用してログやメトリックを取得します。コンテナ内部のランタイムやミドルウェアはユーザーの責任範囲となります。
Azureの監視ログを長期間保持するためにはどうすればよいですか?
-Azureの監視ログを長期間保持するためには、Log Analyticsワークスペースにデータを送信することが推奨されます。Log Analyticsを使用すると、最長12年間データを保持することが可能です。
Outlines
😀 Azureシステム監視の概要
第1段落では、Microsoftの上坂さんがAzure上で構築されたシステムの監視方法について紹介します。大井さんがIaaSやPaaSなど、様々なリソースの組み合わせで構築されたシステムの監視について話します。主に3つのパターンが考えられるとされ、社内システムをIaaS上で構築し、オンプレミスと接続する場合、外部向けのサービスではPaaSを使い、App ServicesやFunctionsなどのPaaS、Azure Front Door、CDN、WAFなどの構成が紹介されています。また、コンテナを使用する場合のKubernetes ServicesやContainer Appsなどの選択肢も説明されています。
📊 Azure監視におけるメトリック、ログ、トレースの重要性
第2段落では、Azureのシステムを監視する際に必要なデータの種類について説明しています。メトリックとしてCPUの利用率、レスポンス時間、エラー発生数などの数値データをリアルタイムに取得し、システムの正常性や問題のアラートを出す方法が説明されています。ログはアプリケーションやOSからテキスト形式で出力されたイベント記録であり、具体的なシステム状態やエラー内容、ユーザーアクセス情報を確認できます。トレースは分散型システムにおいて特に重要で、サービス間の通信や処理を捕捉し、パフォーマンスの劣化やエラーの原因を追求するのに役立ちます。
🔍 Azure Monitorを使った監視データの取得と活用
第3段落では、Azure Monitorというサービスを通じて監視データを取得し、監視システムを構築する方法について説明されています。プラットフォーム基盤のアクティビティログやメトリック、サービス固有の診断ログ、エージェントを用いたデータ取得方法などが紹介されています。また、IaaSやPaaS、コンテナなど、様々な環境においてのログとメトリックの取得方法についても解説されています。クラウドプロバイダーであるMicrosoftが管理する範囲とユーザーの責任範囲の境界についても触れられ、それぞれの環境での監視の重要性が強調されています。
👀 Azureアクティビティログの有効化と監査ログの取り方
第4段落では、Azureアクティビティログの有効化方法と監査ログの取り方について詳しく説明されています。アクティビティログはリソースの操作やサービスの正常性を記録するもので、Azure Monitorを通じて確認できます。また、Microsoft Entra IDを使用する場合の認証記録もLog Analyticsに保持することが推奨されています。アクティビティログのデータは90日間保持され、長期間の監査要件を満たすためにはエクスポート機能を利用してLog Analyticsにデータを送信することが紹介されています。さらに、Log Analyticsを使用することで監査ログの検索やアラートの設定、ダッシュボードの作成が可能になるという利点も説明されています。
Mindmap
Keywords
💡Azure
💡IaaS
💡PaaS
💡Azure Monitor
💡メトリック
💡ログ
💡トレース
💡Application Insights
💡アクティビティログ
💡Log Analytics
Highlights
Azure 上で構築されたシステムを監視する方法について紹介。
IaaSとPaaSなど、様々な種類のリソースが組み合わさってシステムが構築されている。
Azureで構築するシステムの主要な3つのパターンが存在する。
IaaS上での社内システム構築とオンプレミスとの接続方法について。
PaaSを使用した外部向けサービスの展開とApp Services、Functionsなどの利用。
Azure Front DoorやCDN、WAFを用いたフロントエンド構成の例。
コンテナを使用する場合のAzure Kubernetes ServicesやAzure Container Appsの活用。
マイクロサービスとしてサービスを配置し、コンテナ間で通信させる構成の増加。
監視に必要なデータの種類としてメトリック、ログ、トレースの3つが挙げられる。
メトリックはリアルタイムにデータを取得し、システム正常性やアラート発行に利用。
ログはイベントをテキスト形式で記録し、システム状態やエラー内容を確認可能。
トレースは分散型システムの通信や処理を捕捉し、パフォーマンスの劣化やエラー原因を特定する。
Azure Monitorサービスを使用して監視データを一元管理可能。
プラットフォーム基盤のアクティビティログをAzure Monitorで取得方法について。
Microsoft Entra IDによる認証基盤とアクティビティログの関係について。
アクティビティログの長期保存とLog Analyticsへの送信の推奨について。
Log Analyticsを使用した監査ログの検索とアラート作成の方法。
次回のトピックとしてIaaS、PaaS、コンテナサービスの監視方法が紹介される。
Transcripts
皆さんこんにちは日本 Microsoft 上坂です 今日は Azure 上に構築した
システムをどうやって監視するのかについて ご紹介いただきます ご紹介いただくのは
大井さんです 大井さんこんにちは こんにちはよろしくお願いします
よろしくお願いいたします では始めましょう
大井さん Azure 上のシステムを監視 すると言っても IaaS もあれば PaaS とかですね
いろんな種類のリソースの組み合わせで システムって構築されてると
思うんですけども そもそも Azure で 構築するシステムってどういうパターンが
あるんでしょうか そうですね 主に3通り あげられるかなと思います
まず1つが IaaS 上で社内システム |といったものをですね 構築する
ケースが上げられるかなと思います この 場合はオンプレミスと接続されることが多い
ですけども例えば ExpressRoute と いう閉域網を使ってですね オンプレミスからも
アクセスできるような形 で例えばWeb サーバーですとかアプリケーション
サーバーまたデータベースといったものを ですね サーバーで構築いただくような
ケースかなという風に思います 2つ目、より外部向けに展開される
ようなサービスですと PaaS を使って 構成されることが多いです その場合は
App Services ですとかまた Functions といったですね PaaS
もしくはサーバレスの環境に アプリケーションですとかコードを置いて
いただく またバックエンドの データベースやストレージというのもですね
マネージドサービスを使っていただく ような構成を取ることが多いです でまた
フロントには例えば Azure Front Door と いったですね CDN また WAF を置いたような
構成っていうのもよく取られます もしくは最近ですとコンテナーを
使うことも増えてきています こちらは Azure のKubernetes Services を使うこともあれば
よりマネージドな Azure Container Apps を 使うケースというのも増えてきています
こちらを使っていただく際はですね もちろんアプリケーションを1つ
ホストいただくことも可能ですけどもそうでは なくて複数のサービスをいわゆる
マイクロサービスとして置いていただいて 各コンテナ感で通信をさせるような構成
っていうのも増えてきています
大きくは3種類あるという感じですかね それぞれについて監視ってやら
ないといけないというわけなんですけども あのそもそも監視ってデータを元にする
と思うんですよ どういうデータを Azure では取得できるんでしょうか
そうですね まず Azure のシステムにおいても 他のシステムと同じく3つほど監視の
要素が上げられるかなと思います まず1 つがメトリックですね 例えば時系列の
数値化されたデータCPUの利用率ですとか レスポンスの時間ですとか またエラーの
発生数ですとかそういったこう数値的な データというのを監視にお使い
いただきます こちらはリアルタイムに データを取得をしてその中でシステムの正常性ですとか
もしくは何か問題がある時にアラートを即時に発行する というような使い 方をされるものになります
同じくログですね Azure のシステムでも当然 重要になります でこちらはアプリケーションですとか OS といった
ものがイベントをテキスト形式で出力をし た記録になります
メトリックよりもですねログは具体的な内容が含まれ ますのでシステムの状態ですとかエラーの
内容ですとかまたユーザーのアクセス情報 とか操作の内容ですとかそういったものが
検索をしたりして確認をすることができます
もう1個ですね あの近年の特に分散型の システムにおいて重要視されるのがトレース
もしくは分散トレースの情報になります こちらのデータを取っていただきますと仮に
システムが分散していたとしても その複数のサービスの間の通信ですとか
処理っていうものを捕捉をして 具体的に どこでパフォーマンスの劣化が起こっているかですとか
1つのエラーのですね 原因を追求していくですとか
そういった用途でお使いいただけます
この3種類のデータなんですけどこれ1つ の Azure のリソースから全部取得できるんですかね
それともこのデータはここから取らないといけないみたいな 何か決まりみたいなものってあるんでしょうか
そうですね まず Azure の監視自体は
Azure Monitor というサービスを 使って一通りあの取りまとめることができます
そういった意味ですと Azure Monitor を使ってください というのが回答になります
ただ実は Azure Monitor という 大きなサービスの中に色々なこう仕組みが
入っていまして その機能を1個1個こ 上手に使っていただくことで
今のメトリックログもしくはトレースといった データを取得することができるようになっています
特にですね 左側に書かせていただいているんですけども
Azure のシステムと言っても
色々なレイヤーを見てそれぞれのデータを取得して あげる必要があります Azure はまず
プラットフォーム基盤があるんですけども こちらはアクティビティログという操作を
Azure Monitor で取得することができますので まずはこれを使っていただく
加えて Azure 側で記録をしてるメトリック というのもありますので
これもモニターの中でお使いいただけます 加えて Azure のサービスの中には
診断ログというサービスに特化した ログを取る仕組みですとか
もしくはAzure Monitor の中にエージェントを使って データを取る仕組みとかもありますので
そういったものを使って主にログの方を取 とていただくという形ですね
加えて Azure の IaaS もしくは PaaS 上の アプリケーションからは
Application Insights といういわゆる APM のツール があります こちらもAzure Monitor の1つになる
んですけどもこの Application Insights を使ってアプリのログだけではなくて
いわゆる分散トレーシングのデータという のも取得いただけます クラウドの1番
難しいところはクラウド プロバイダーがある程度こうマネージド
サービスとして管理している範囲があると いうところかなと思うんですね
さらに IaaS, PaaS もしくは他のですね こう色々な Azure のサービスも各サービスに
よって どこまでクラウドの プロバイダーであるMicrosoftが
管理をしてるか もしくはどこまでは ユーザーの責任でやらなければいけないの
かっていうのが少し分かりづらくなっています ですのでちょっとこちらのですね 絵の
方にその構成というものをまとめてみています あの先ほどご紹介を
したようにプラットフォーム基盤というのは どんなサービスでも
Microsoftの範囲で例えば 操作を受け付けるですとか
サービスが正常に動いているっていうのを 記録しますのでここはどんな仕組みで
あってもあの必要になります ただ例えば 左側のネットワーク系サービスっていう
ところを見ていただくとマネージドサービスと 書かれていますけども例えば
Firewall、WAF というサービスは 上で動かす部分もインフラの部分も
全てMicrosoftが管理しているので その中で何を監視する必要があるかって
いうのを考える必要があります 一方で IaaS でアプリケーションを作っていただく
場合は Windows や Linux の マシンを作っていただいてその上で監視を
していくわけなんですけどもその 場合は Windows Linux からお客
様の責任範囲で管理をしていくことになります ここは監視においても同じく
WindowsとかLinuxの例えば イベントログですとか syslog といった
ログを取っていただいて Windows OS でどういう例えば設定
変更が行われているかとかアクセスが行わ れているかっていうものを見ていただく
加えて例えば IIS とか Apache とか インストールしていただいている場合は
そのミドルウェアですとかもしくは 例えば .NET といったミドルウェアを
動かされてる場合は あ ごめんなさい ランタイム動かされ ている場合はそれを監視していただく
必要も出てきます 加えて アプリケーションですとかデータを
置かれている場合はその監視というのも IaaS だと必要になります 一方で PaaSの場合は
そういったOS ランタイム ミドルウェアって いうのは Microsoft の管理する
範囲になります 一方でただその 例えばミドルウェアが持っているアクセス
ログみたいなものも取得したいかなと思い ますので そういったものは
Microsoftのその PaaS の仕組み を使ってログをどう取るかっていうのを
考える必要があります アプリケーション は当然 IaaS と同じくユーザーの責任範囲に
なりますのでそこの部分は先ほどの出てい た中だと Application Insights を使って
どうデータを取れるかっていうところを 見ていくことになります コンテナの場合は
ややその IaaS と PaaS の中間のような 位置付けになりますけども OSや
オーケストレーターは Microsoft の管理範囲になりますのでそのログっていうのは
先ほどの PaaS と同じくですね Microsoft が管理する世界のものを
どうログとして取得をするか もしくはメトリックとしてどう取得をするか かっていうことが
求められます
ただランタイムとかミドルウアっていう のはコンテナ化した中に入ってきますので
そこはユーザーの責任範囲でどういう風にデータを取るか っていうのが必要になります
データベースやですね例えば Azure OpenAIといったAPIで利用 していただくサービスに関しては
基本的には Microsoft の管理範囲なり ますのでこちらのネットワーク系の
サービスと同じく Microsoft の 提供する仕組みを使ってどういった
ログとかメトリック取れるかっていうのを 見ていただいて必要に応じて取って
いただく形になるかなという風に思います
Azure のリソースから監視用 のデータを取得する場合に
Microsoft がマネージしている サービスについては基本的にはデータを
出力できる機能があるんだけども実際に 出力するためにはですね ユーザー側で
その機能を使う設定が必要という理解で あってますでしょうか
そうですね はい基本的にはあってます先ほどご紹介してきた
Azure Monitor の機能をユーザーの側で
有効にしていただいて見ていく形に なります ただ実際にその Azure の
モニターの機能を有効にしていくには各 サービスですとか仕組みによって若干動きが
異なっていたりします なのでここから それぞれに対してどういった
仕組みがあってどういう風に有効化して いくかっていうところを一緒に見ていければと
思っています
最初にご紹介をしたいのが Azure の プラットフォーム基盤の形で先ほどから出ている
アクティビティログっていう仕組み を有効にするっていうことになります
リソースの操作ですとか例えば 作成や削除というか操作ですとか
もしくはサービスの正常性ですね Azure の 基盤に何か障害を起こっていないかっていうのは
アクティビティログていう 仕組みに記録がされます 基本的には なので
Azure の監査ていう観点ですと こちらのアクティビティログを見て
いただくていうところになります ただ1つ 注意点として Microsoft Entra ID というですね
認証基盤を Azure 使われる 場合は必ず使われているかと思います
こちらの例えばユーザーを追加をしたとか ユーザーを削除したっていう記録ですとか
もしくは個々のユーザーが例えば Azure ポータルにログインをしましたよっ
ていうサインインの記録ですね この辺りは Entra IDのリソースログの方で記録がされています
なので 実際に監査をされるっていう観点ですと それぞれ両方ですね
ログを記録する必要があって ちょっと後ほど具体的にどういう風に
記録を Log Analytics という サービスに保持できるかっていうのは
ご紹介していくんですけども結論から言う とあのアクティビティログも
Entra IDのログもこの Log Analytics に 保存していただくということが推奨になります
かつですね 両方とも セキュリティの監視とっても重要なデータだと
思いますので Sentinel というSIEM の機能を有効にしていただいてるような
ワークスペースに送っていただくことが いいのかなという風に思います
そしたらここから具体的に Azure アクティビティログをどういう風に見たり
取ったりすることができるかっていう ところを見ていきます 先ほどご紹介した
ようにまず Azure の監視は Azure Monitor という サービスの中に色々仕組みが入っています
このメニューの中にアクティビティ ログっていうですね メニューが入っていまして
こちらで先ほどの監査の記録 っていうことを見ていくことができます
既定で90日ほどログはこちらに入っていますので まず最低限ですね
直近のデータを見るのはこちらの画面で見 ていただけます 例えばそうですねこちらの
記録見てみると Create or Update Virtual Machine っていう風に書かれていますけども
仮想マシンを作ったよっていうログですね 具体的に出ています 例えば
Create の作業がですね始まっていて これにどういったですね 操作が入ってるかっていう
ところを見ていただけます はい ただこちらあくまで既定90日に
なっていますので大半の監査の要件 例えば半年ですとか1年データを持っておきたい
という場合にはおそらく足り なくなってくるかなと思います
その場合はこちらのエクスポートというボタンを. 押していただきまして
こちらでですね送信先をさらに 指定することができます
ストレージアカウントという オブジェクトストレージですとか
Event Hub というですねあのサードパーティの SIEM と連携するようなそういった仕組みも
ご用意しているんですけども 特に お勧めなのが上の Log Analytics ワークスペースへの
送信っていうことになります こちらは 後ほど後日ご紹介するような
診断ログですとかサーバーからのイベント ログ syslog も同じ場所に取っておきますので
ログを一元的に保持したり検索したりする場所として お使いいただけるサービスです
こちらを指定先にしておくとですね Log Analytics の側で
最長12年間ほど保持することも できますのでおおよその監査要件っていうのは
こちらで満たしていただけるかなと思い ます
実際にですね Log Analytics ワークスペースを作っていただいて
データを送っていただくと
こちらで検索をかけることができます 監査ログの場合は AzureActivity という
テーブルにデータが入っていますので こちらでクエリをですね かけて
いただくとその情報っていうのを見て いただくことができます 例えばそうですね
先ほど出ていたような仮想マシン の作成ですとかそういった記録っていうのも
こちらで見ていただくことができます 例えばこの VIRTUALMACHINE/WRITEって
書かれているものですね 仮想マシンの 作成のログになりますけども こちらを
こう見ていただくことができます こちらのクエリでですね 絞って
いただくこともできますので 例えばですね
私の 自身の投げた命令だけを含んで欲しいみたいな
絞っていただくとこのユーザーが行った ログだけをこう検索をするというようなですね
ことも行っていただけます こんな感じですね なのでこちらの Log Analytics にデータ保管していただくと
より検索ですとか この検索した
クエリをベースにアラートを作ったりとか ダッシュボード作ったりっていうことも
できますので より有効に監視に役立てて いただけるっていうものになっております
大井さんちょっと質問していいですか 突然ですけど この今の先ほどの診断設定って
1度設定したらずっとデータが Log Analytics ですとかストレージに
ずっと送信され続けると思って良いですか? はいその通りです
大井さんアクティビティログのデモ ありがとうございました 今回は時間が
来てしまいましたけれども監視については まだまだ知ることがいっぱいありそうですね
次回はどういった内容をお話し いただけるのでしょうか
そうですねあの今回は IaaS PaaS またコンテナを使った サービスをどう監視していくかていう
ところの全体像とあのプラットフォームの 監査ログの取り方というところをご紹介を
しました ですので次回はその IaaS であれ ば IaaS で使うサービスがどういう方式で
OSとかその上のアプリケーション のログを取ることができるかまたコンテナや
PaaS だったらどう変わっていくのかそれ 以外にネットワークとかデータベースの
サービス使う場合にはどういう取り方が できるかっていうのをそれぞれ見ていければなと
いう風に思っています
わかりました 次回も楽しみにしています
では今回はここまでとさせていただきます ご覧いただきましてありがとうございました
日本 Microsoft上坂と大井でした ありがとうございました ありがとうございました
Voir Plus de Vidéos Connexes
Aggregates Composition: A new view on Aggregates - Jérémie Chassaing - DDD Europe 2023
Introduction: Monitoring and Automations Essentials with LangSmith
【必修】復帰勢&初心者必見!絶対ミスれない新育成法完全攻略!チムスタの秘密も徹底解剖だ!!イーフト初心者講座 Part2【eFootball/イーフト2023アプリ】
【革命】Googleカレンダーで予約システムを作る方法を徹底解説!
【12分で解説】仮説思考 BCG流 問題発見・解決の発想法(内田和成 / 著)
NEW Copilot in Azure AI Studio *2024*
5.0 / 5 (0 votes)