Azure Database for MySQLからのログ取り込み

下記のエントリがまとめエントリになっていますのでそちらも参照下さい。 Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回はAzure Database for MySQLからログを取り込みます。 まずは、ログの取り込み対象のAzure Database for MySQLを作成します。 診断設定からログの取り込み設定を行います。 以上でログ収取設定は完了です。とても簡単ですね。 今回はさらに、監査ログも有効化してみました。 少しDBを操作して、ログを出力させます。今回は下記のチュートリアルに従って操作しました。 クイック スタート:Python を使用して接続する - Azure Database for MySQL | Microsoft Docs しばらくたつと、きちんとログが検索可能となりました。 きちんとクエリ内容も含めて出力されています。 なお、Azure Monitorでログを収集する場合にはファイルへのログ出力はOFFにしておいてかまいません。OFFにした方がサーバーの負荷が下がりますのでお勧めです。

July 16, 2021 · 1 min · 胡田昌彦

Azure Database for PostreSQLからのログ取り込み

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回はAzure Database for PostreSQLからログを取り込んでみます。 まず、Azure Database for PostreSQLを作成します。 これも、PaaSであり、診断設定からLog Analyticsワークスペースへのログの取り込みが可能です。 今回はさらに監査ログも取得するようにします。下記の記事に従って設定します。 監査ログ - Azure Database for PostgreSQL - Single Server | Microsoft Docs https://docs.microsoft.com/ja-jp/azure/postgresql/concepts-audit サーバーを再起動します。 pgAudit拡張機能を有効にします。 サーバーパラメーターにて対象のログを選択します。 少しDBを触って、実際にログを出したいと思います。今回は下記のクイックスタートの記事に従って操作しました。 クイック スタート:PostgreSQL に対する接続およびクエリ - Azure Data Studio | Microsoft Docs しばらく待つと、きちんとログが検索可能となりました。 ただし、ちょっとさすがにログの量が多すぎる感じがあります。監査ログでALLを選択していることが原因ですので、ALLは外しておくのが現実的かなという印象です。 ちなみに、docsのドキュメント含めてあちこちに、「Azure Monitorでログを収集するならlogging_collectorはOFFにしておいたほうがいいぞ」と書かれているにもかかわらず、サーバーパラメーターにはlogging_collectorの設定がなくて戸惑ってしまいました。 実際にクエリしてみるとOFFになっていたので、何もしなくてよいようです。

July 16, 2021 · 1 min · 胡田昌彦

BIG-IP Cloud Editionからのログ取り込み

下記のエントリがまとめエントリになっていますのでそちらも参照下さい。 Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回は、BIG-IPのVMからのログ取り込みを行ってみたいと思います。 BIG-IPはAzure上に展開できるものを使いました。 BIG-IPからは、リモートのSyslogサーバーにログを送信するように構成します。 Syslogサーバーは別途構築してログを受けられるようにしておきます。今回はCentOSをSyslogサーバーとして構成しました。 まず、Rsyslogパッケージをyumでインストールします。 s u d o y u m - y i n s t a l l r s y s l o g https://support.f5.com/csp/article/K13080 によるとBIG-IPからのsyslog送信はTCPを利用しているようです。TCPを利用するように/etc/rsyslog.confを構成します。 # $ $ M I P o n r d p o L u v o t i a T d d C e P s i S m e T t r C c v P p e r s R y u s n l o 5 g 1 4 r e c e p t i o n rsyslogを再起動します。 ...

July 16, 2021 · 1 min · 胡田昌彦

App Serviceからのログ取り込み

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators さて、今回はApp Serviceからのログを取り込んでみます。 もともと作成してあったfunctionsの実行環境がありましたので今回はそちらを対象にしてみます。 診断設定からログを取り込む方法と、Application Insightsからログを取り込む方法の大きく2つがあります。 診断設定 まずは診断設定から見ていきます。 Functionsに関してのログがLog Analyticsワークスペースに取り込まれ検索可能となりました。 診断設定から取得できるのは、生のログに近いもの…というイメージでしょうか。 Application Insights より詳細な監視、分析はApplication Insightsを使うことで可能です。これも裏ではAzure Log Analyticsワークスペースにデータがため込まれておりそれが使われますが、1つのサービスとして利用可能となっています。 有効化するのも簡単です。 Application Insightsでは様々な観点で監視ができます。 かなりリッチな画面が並んでいますが、裏にあるのはどれもAzure Log Analyticsワークスペースのデータです。 Application Insightsにより様々なテーブルが定義されています。 こんな分析も… 裏にあるのはAzure Log Analyticsワークスペースのログです。 Azure Log Analyticsワークスペースにどのようにデータをためて、どのようなクエリでどんな分析ができるのか?という点のわかりやすいサンプルとしても、Application Insightsは優秀ですね。

July 11, 2021 · 1 min · 胡田昌彦

Azure SQL DBからのログ取り込み

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回はPaaSであるAzure SQL DBのログをAzure LogAnalyticsワークスペースに取り込んでみます。 まずはSQL DBとそれを動作させるSQL Serverを作成します。 作成後、診断設定を行います。 診断設定を追加する また、監査データもLog Analyticsワークスペースに取り込むことができます。これは「監査」で設定可能です。 既定の監査設定には、次の一連のアクション グループが含まれています。これにより、データベースに対して実行されたすべてのクエリとストアド プロシージャ、および成功したログインと失敗したログインが監査されます。BATCH_COMPLETED_GROUPSUCCESSFUL_DATABASE_AUTHENTICATION_GROUPFAILED_DATABASE_AUTHENTICATION_GROUP これでログの取り込み設定としては完了です。 実際にDBにクエリを実行しつつ、ログを確認してみます。(クエリは何でもいいので、適当にネットで検索して実行しています。) ログとしては、AzureDiagnostics, AzureMetricsというテーブルが定義され、データが取り込まれていることが確認できます。 SQLの実際のクエリなんかも記録されています。

July 11, 2021 · 1 min · 胡田昌彦

NSGフローログからのログ取り込み(Network Watcher)

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回はNSGのフローログを取り込みます。これはNetwork Watcherという独立したサービスのような仕立てになっています。 設定するには、対象のNSGにて、NSGフローログに移動します。 「NSGフローログの作成」をクリックします。 対象のネットワークセキュリティグループを選択し、保存対象のストレージアカウントを選択します。ストレージアカウントにまずデータが収集され、さらにそれをLog Analyticsワークスペースに送信する形になります。直接Log Analyticsワークスペースに収集するわけではないので注意が必要です。 「Traffic Analyticsを有効にする」にチェックを入れます。これが事実上Log Analyticsワークスペースにデータを送信するという設定です。対象のワークスペースを選択します。 作成します。 作成完了すると、裏側でNetworkWatcherRGというリソースグループにNSGフローログやネットワークウオッチャーが作成されています。(※下記の図は今回作成したもの以外のリソースも存在しています。) ネットワークセキュリティグループの視点でフローログが有効になっているものとなっていないものを一覧で識別することもできます。 ログの参照も含めて、様々なIaaS VMに対してのネットワーク関連の監視は「Network Watcher」というサービスから可能です。このサービスを支える基盤としてLog Analyticsワークスペースが存在しているイメージです。 有効化する対象のリージョンを選択できます。 Network Watcherには色々な機能があります。 NSGフローログを設定してある一覧は「NSGフローログ」から確認可能です。 Network Watcherのトラフィック分析にてログが様々な形に可視化され、見ることが可能です。 いろいろな見方ができて面白いですね。色々とビューはありますが、裏にあるのはすべてAzure Log Analyticsワークスペースに格納されたログです。実際のログはクエリを検索することで確認できます。 このようにログを取り込むところから可視化するところまでが、一つのサービスとなっていて、Azure Log Analyticsワークスペースをほぼ意識しなくてもよいようなものもあり便利ですね。だからこそ混乱する…という面も確かにあるのですが、このように簡単に目的ベースでログを収集してその文脈できちんと可視化してくれるのはとても良いことだと思います。

July 11, 2021 · 1 min · 胡田昌彦

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

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回は、以前、「カスタムログ」の機能を使って取り込んだApacheのログを解析しやすい形にしたいと思います。カスタムログで取り込む部分に関しては下記のエントリを参照して下さい。 Azure LogAnalyticsワークスペースへのApacheログの取り込み | Microsoft Cloud Administrators さて、取り込んだログを見てみると「RawData」という列にカスタムログの1行がすべて入っている状況です。これをより扱いやすい状態にしたいと思います。 やり方は大きく2種類あって「収集時にデータを解析して新しいプロパティを「カスタムフィールド」を使って定義する」か、「クエリを実行するときにそのクエリ内でデータを複数のフィールドに分けてあげる」かです。今回は後者の方法を試してみます。 LogAnalyticsワークスペースのログの検索、解析にはKustoという言語が使えます。 今回は正規表現でRawDataの中身から値を抽出することにします。すべてのレコードはスペースで区切られており、時間の部分は[]で囲まれていて、リクエストとリファラーとエージェントがダブルクオーテーション("")で囲まれている状況です。これを正規表現で表現します。 @ " ^ ( . ) [ ( . ) ] " " ( . ) " " " " ( . ) " " " " ( . * ) " " " あとは、extendで列を追加し、RawDataの中身をもとに順番に抽出してあげればよいですね。下記のようなクエリにしてみました。 h t t p d _ a c c e s s _ l o g _ C L | e x t e n d h o s t = e x t r a c t ( @ " ^ ( . ) [ ( . ) ] " " ( . ) " " " " ( . ) " " " " ( . ) " " " , 1 , R a w D a t a ) , i d e n t = e x t r a c t ( @ " ^ ( . ) [ ( . ) ] " " ( . ) " " " " ( . ) " " " " ( . ) " " " , 2 , R a w D a t a ) , u s e r = e x t r a c t ( @ " ^ ( . ) [ ( . ) ] " " ( . ) " " " " ( . ) " " " " ( . ) " " " , 3 , R a w D a t a ) , t i m e I n L o g = e x t r a c t ( @ " ^ ( . ) [ ( . ) ] " " ( . ) " " " " ( . ) " " " " ( . ) " " " , 4 , R a w D a t a ) , r e q u e s t = e x t r a c t ( @ " ^ ( . ) [ ( . ) ] " " ( . ) " " " " ( . ) " " " " ( . ) " " " , 5 , R a w D a t a ) , s t a t u s = e x t r a c t ( @ " ^ ( . ) [ ( . ) ] " " ( . ) " " " " ( . ) " " " " ( . ) " " " , 6 , R a w D a t a ) , b y t e s = e x t r a c t ( @ " ^ ( . ) [ ( . ) ] " " ( . ) " " " " ( . ) " " " " ( . ) " " " , 7 , R a w D a t a ) , r e f e r e r = e x t r a c t ( @ " ^ ( . ) [ ( . ) ] " " ( . ) " " " " ( . ) " " " " ( . ) " " " , 8 , R a w D a t a ) , a g e n t = e x t r a c t ( @ " ^ ( . ) [ ( . ) ] " " ( . ) " " " " ( . ) " " " " ( . * ) " " " , 9 , R a w D a t a ) 実行すると、きちんと狙ったところが狙ったプロパティとして抽出されていることがわかります。 ...

July 6, 2021 · 3 min · 胡田昌彦

VMSS(Virtual Machine Scale Set)のWindows仮想マシンからのログ取り込み

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回はWindows仮想マシンを使ったVMSSからログを取り込んでみます。以前やったLinux仮想マシンを使ったVMSSとやりたいことは同じです。 VMSS(Virtual Machine Scale Set)のLinux仮想マシンからのログ取り込み VMSSは適当に作成しました。 WindowsにはWindows用のCustom Script Extensionというものが存在してますが、これを利用してエージェントをインストールするのはUACが邪魔をしてうまくいきません。ですので専用の拡張機能を利用する形でよいでしょう。 拡張機能はAzure CLIからインストールします。Azure CLIはどこから使っても構いませんが、今回はAzure管理ポータルからCloud Shellを利用します。 実行するのは下記のコマンドです。 a z v m s s e x t e n s i o n s e t - n a m e M i c r o s o f t M o n i t o r i n g A g e n t - p u b l i s h e r M i c r o s o f t . E n t e r p r i s e C l o u d . M o n i t o r i n g - r e s o u r c e - g r o u p v m s s - n a m e - s e t t i n g s " { ' w o r k s p a c e I d ' : ' ' } " - p r o t e c t e d - s e t t i n g s " { ' w o r k s p a c e K e y ' : ' ' } " ...

July 6, 2021 · 2 min · 胡田昌彦

Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ)

LogAnalyticsワークスペースには様々な種類のログを取り込むことが可能です。工夫すれば事実上すべてのログの取り込みが可能です。 シリーズとしてログをあれこれ取り込みまくってみたいと思います。記事を作成したら下記に項目を増やしてリンクしていきます。 ログの取り込み Azure LogAnalyticsワークスペース作成(Azure Monitorログ) - Azure上の仮想マシンからのログ取り込み- Azure外のWidows仮想マシンからのログ取り込み(エージェントインストール編)- Azure外のLinux仮想マシンからのログ取り込み(エージェントインストール編)- Azure Arcと連動したAzure外の仮想マシンからのログ取り込み- エージェントの構成(エージェントから取得するログの設定)- Azure LogAnalyticsワークスペースへのApacheログの取り込み - VMSS(Virtual Machine Scale Set)のLinux仮想マシンからのログ取り込み- VMSS(Virtual Machine Scale Set)のWindows仮想マシンからのログ取り込み - NSGフローログからのログ取り込み(Network Watcher) | Microsoft Cloud Administrators- App Serviceからのログ取り込み- Azure SQL DBからのログ取り込み- Azure Database for MySQLからのログ取り込み- Azure Database for PostreSQLからのログ取り込み- BIG-IP Cloud Editionからのログ取り込み ログの解析 Azure LogAnalyticsのカスタムログで収集した「RawData」を扱いやすくする(クエリ実行時のデータ解析)

July 5, 2021 · 1 min · 胡田昌彦

Azure LogAnalyticsワークスペースへのApacheログの取り込み

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回はすでにAzure LogAnalyticsに接続しているLinuxVMに対してApacheを構成し、そのログを取り込んで検索可能となるところまでやってみたいと思います。 対象VMのAzure上での確認 対象のVMはlalinuxvmというlinux vmです。OSはCentOS 7です。 Apacheの導入~動作確認 まずは、VMにSSHでアクセスし、Apacheを導入します。 httpdをインストール s u d o y u m i n s t a l l h t t p d Apacheを起動 s u d o s y s t e m c t l s t a r t h t t p d このままだとNSGにブロックされてアクセスできないのでHTTPポート(TCP/80)をオープンします。 ...

July 5, 2021 · 1 min · 胡田昌彦

Azure上の仮想マシンからのログ取り込み

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回はAzure上のWindows仮想マシンからログを取り込むように設定します。LogAnalyticsTargetsというリソースグループにテスト用のWindows VM(Windows Server 2019)を用意しました。 ※サーバーに直接はアクセスしませんので、WindowsでもLinuxでも操作は全く同じです。 Azure上の仮想マシンは簡単な操作でログの取り込みができるようになっています。色々とやり方はありますが今回は「1データソースへの接続」の下の「Azure Virtual Machines(VM)」からアクセスします。 自分が権限を持っていて見られる範囲の仮想マシンの一覧と、その接続先のLog Analyticsワークスペースが確認できます。目的のVMをクリックします。 「接続」をクリックします。 ボタンを押すだけで、VMには直接アクセスすることなく、Log AnalyticsワークスペースとVMが紐づき、勝手にログが収集されるようになります。とっても簡単ですね! あるいは仮想マシンの方から「監視」-「ログ」にてLog Analyticsワークスペースに接続することもできます。 接続するサブスクリプションとLog Analyticsワークスペースを選択して有効化します。 しばらく待ちます。 以上で完了です。 どちらの手法でも裏では仮想マシンにエージェントがインストールされて、仮想マシンのエージェントの動きでログを収集~送信するようになります。 というわけで、これで完了です。とても簡単でした。 どのようなログを送信させるのかはあらかじめLog Analyticsワークスペースで設定しておきます。あるいはあとから設定を変更しても、エージェント側で設定変更を認識して新しい設定に従って動きます。 他のものも色々とログ収集することができます。下記エントリも参考にして下さい。 Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators

July 5, 2021 · 1 min · 胡田昌彦

Azure外のLinux仮想マシンからのログ取り込み(エージェントインストール編)

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators 今回はAzure外のLinux仮想マシンからのログ取り込みを行いたいと思います。 が、これは非常に簡単なのです…。 接続したい先のLog Analyticsワークスペースの「エージェント管理」で「Linuxサーバー」を選択したうえで、「Linux用エージェントをダウンロードおよびオンボードする」というところでワンライナーをコピーしてください。 あとはこれをそのままあるいはsudoを付けて実行してもらえばおしまいです。非常に簡単ですね。 なぜ、Windowsの方も同じようにしないんでしょうか…。

July 5, 2021 · 1 min · 胡田昌彦

Azure外のWidows仮想マシンからのログ取り込み(エージェントインストール編)

下記のエントリがまとめエントリになっていますのでそちらも参照下さい。 Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators Azure内のWindows仮想マシンからのログ取り込みはAzure管理ポータル上で仮想マシンを指定するだけの簡単操作でした。Azure外の仮想マシンに対してはもう少しだけ手間がかかります。とはいえ、それでもとても簡単です。 今回はエージェントを直接VMにインストールする方法です。他にも先にAzure ArcでAzureに接続する方法もありますが、まずは基本としてこちらの方法を抑えておいてもらっても良いと思います。(ですが、色々とAzureを活用するならAzure Arcに接続して管理することをお勧めします。) Log Analyticsワークスペースにてエージェント管理をクリックします。 このページからエージェントもダウンロードできますし、接続するためのワークスペースIDやキーも入手可能です。 今回はオンプレミスのHyper-V上にWindows Server 2019の仮想マシンを用意しました。NAT配下に存在している仮想マシンです。 エージェントのインストーラーを入手し、実行します。 ウィザードをすすめていきます。 「Azureログ分析(OMS)にエージェントを接続する」にチェックを入れます。 ※Azure LogAnalyticsなのか、OMSなのか、Azure Monitorなのか・・・、色々と混乱してしまってますね。 ワークスペースIDとワークスペースキーをAzure管理ポータルから入手して入力します。 これで、構成は完了です!簡単ですね!

July 5, 2021 · 1 min · 胡田昌彦

VMSS(Virtual Machine Scale Set)のLinux仮想マシンからのログ取り込み

Azure LogAnalyticsワークスペースに様々なログを取り込んでみます。他にも色々とやってますので下記エントリも確認お願いします! Azure LogAnalyticsワークスペースに様々なログを取り込む(まとめエントリ) | Microsoft Cloud Administrators すでに単体の仮想マシンからログを取り込む方法に関しては紹介済みです。 Azure上の仮想マシンからのログ取り込み- Azure外のWidows仮想マシンからのログ取り込み(エージェントインストール編)- Azure外のLinux仮想マシンからのログ取り込み(エージェントインストール編) ですが、VMSSを使って簡単にスケールアウト、スケールインができる環境ではどのようにエージェントインストールとLog Analyticsワークスペースへの接続を実現できるでしょうか?1台づつ接続して個別にインストールしていたのでは大変ですよね。 これは「拡張」を使うことで解決できます。手順を見ていきます。 VMSS作成 まずはVMSSを作成します。自動的にLog Analyticsワークスペースに接続できることを確認するのが目的のため、内容はあまり気にしなくて大丈夫です。Linuxを選択しているところは注意してください。 拡張機能の設定(専用の拡張を使う方法) Azure LogAnalyticsワークスペースに接続するための専用の拡張が存在します。なぜか、Azureポータルからの操作ではこの拡張は表示されませんので注意して下さい。Azure CLIで設定を行います。 下記のコマンドでvmssに拡張のセットが可能です。リソースグループ名、VMSSの名前、ワークスペースID、ワークスペースキーは実際の値に置き換えた上で実行して下さい。 a z v m s s e x t e n s i o n s e t - n a m e O m s A g e n t F o r L i n u x - p u b l i s h e r M i c r o s o f t . E n t e r p r i s e C l o u d . M o n i t o r i n g - r e s o u r c e - g r o u p v m s s - n a m e - s e t t i n g s " { ' w o r k s p a c e I d ' : ' ' } " - p r o t e c t e d - s e t t i n g s " { ' w o r k s p a c e K e y ' : ' ' } " 拡張機能の設定(Custom Script for Linuxを使う方法) もう一つの方法としてCustom Script for Linuxを使う方法も紹介しておきます。Custom Script for Linuxであれば任意のコマンド、スクリプトを使えるので本件に限らず任意のロジックを組み込めます。 ...

July 5, 2021 · 2 min · 胡田昌彦

エージェントの構成(エージェントから取得するログの設定)

Log Analyticsワークスペースに接続しているエージェント(Windows, Linux)からどのようなログを収集するのかはLog Analyticsワークスペースの「エージェント構成」で設定します。 Windowsイベントログ、Windowsパフォーマンスカウンター、Linuxパフォーマンスカウンター、Syslog、IISのログの項目があり、簡単に構成することができます。 Windowsイベントログは収集するログの名前を指定した上でエラー、警告、情報のどれを収集するのかを指定します。 例えば、下記のように設定できます。 Windowsパフォーマンスカウンターも同様に任意のものを追加できます。 「推奨されるカウンター」がありますので、まずはそこから設定し、さらに追加で必要なものを構成すると良いでしょう。 Linuxパフォーマンスカウンターも同様です。推奨されるカウンターから利用すると良いでしょう。 Syslogも簡単に収集設定を行うことができます。 IISのログは収集する、しないの2択です。 以上が、エージェント構成の設定です。 必要なものを集めるように構成すればよいだけなので簡単ですね!

July 5, 2021 · 1 min · 胡田昌彦