Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実践で学んだLog Analytics

実践で学んだLog Analytics

Global Azure Bootcamp 2018@Tokyo - 2018/04/21

Tetsuya Odashima

April 21, 2018
Tweet

More Decks by Tetsuya Odashima

Other Decks in Technology

Transcript

  1. 自己紹介 • 小田島 哲也 (おだしま てつや) • パーソルプロセス&テクノロジー株式会社 • Azure

    導入コンサル、技術支援 • Office 365 もやるよ • そもそも .NET (主に C#) デベロッパー • Qiita https://qiita.com/tetsuya-ooooo • ET ソフトウェアデザインロボットコンテスト 実行委員会 http://www.etrobo.jp/ • 本部技術委員 兼 東京地区技術委員長 (組み込めないけど) • 「ET ロボコンランキングサイト」の中のひと (各大会の競技結果の全国ランキング) http://etroboranking.azurewebsites.net/ • 新たなインフラ案件 (審査系システム) に着手 2
  2. はじめに • 本セッションは、2018 年 3 月 31 日現在の情報を基に作成して います。 •

    個人的な意見が多少あり、マイクロソフト公式情報ではない部分も 含まれています。あくまで参考情報として捉えてください。 • 主に Windows 仮想マシン (ARM) を対象としたナレッジを共有 しようと思います。 3
  3. アジェンダ • 事例プロジェクトの紹介 • Log Analytics の概要 • 便利な管理ソリューションあれこれ •

    Log Analytics を利用する上で念頭に置くこと • ログデータを検索してみよう • カスタム ビューを作ってみよう • まとめ 4
  4. 自治体に求められる情報セキュリティ対策 地方公共団体における情報セキュリティポリシーに関するガイドライン http://www.soumu.go.jp/denshijiti/jyouhou_policy/ 日本年金機構の情報漏えい事故 (2015 年) を受けて、総務省は各自治体に対して、 2017 年 7

    月までに以下の 2 点を実施するように通達 ① 庁内ネットワークの 3 分割、および適切な強靭化の実施 ② 市区町村でそれぞれ持っているインターネット接続口を都道府県レベルで集約し、 集中的に高度なセキュリティ対策を実施 • 「セキュリティクラウド」の構築 6 マイナンバー 利用事務系 • 住基台帳 • 税 • 社会保障 LGWAN (統合行政 ネットワーク) 接続系 • 人事給与 • 庶務事務 • 文書管理 インターネット 接続系 • 情報収集 • メール • Web ページ作成
  5. 某地方自治体様向け 強靭化 I プロジェクト (2016/10 ~ 12) • "インターネット接続系" 環境を

    Azure 上に構築 • 同時に Office 365 (Exchange Online) も導入 • ユーザー 4,300 名 • 2016/11 末までに導入必至だったが、 プロジェクトが頓挫 ⇒ 急遽依頼 • 超短期間で環境を用意するため、 Azure RemoteApp (ARA) ※を採用 ⇒ あくまで暫定対応として構築 ※ARA は 2017/08でサービス終了 7
  6. 某地方自治体様向け 強靭化 II プロジェクト (2017/05 ~ 08) • 暫定対応から恒久対応へ、Azure IaaS

    で "リモート デスクトップ サービス (RDS)" 環境を構築 • ユーザー 4,300 名、平日日中帯に 1,100 名 (≒25%) が業務に支障 なく利用できる環境を構築 ⇒ 国内最大規模の RDS 環境!! • 2017/08 で ARA サービス終了 ⇒ 納期厳守!! 待ったナシ!! • 同時進行で、 セキュリティクラウドを 2017/07 までに導入 ⇒ 歩調は乱すな!! 8 セッションホスト 28 台 合計 43 台が稼働中 ARA 環境を撤去
  7. なぜ Log Analytics を採用したか? • (諸事情で) サーバーなどを監視する仕組みが利用できない • Azure 環境内で完結したい

    • ランニングコストの予算内であれば、提案時に示したサービス以外の ものを使っても良い 9 Azure Log Analytics と Azure Monitor (Alerts etc.) 導入
  8. Log Analytics とは • Log Analytics はログデータを収集、検索、分析機能を提供する プラットフォーム 対象コンピューターにエージェント (Microsoft

    Monitoring Agent) をインストール するだけ • Windows も Linux も、Azure もオンプレミスも対応 11 Windows Linux Azure オンプレミス その他クラウド Hyper-V VMware 物理サーバー ログ Azure Log Analytics
  9. 取り扱えるデータソース データソース 説明 Windows イベント ログ Windows コンピューター上のイベント ログから収集された イベント

    Windows パフォーマンス カウンター Windows コンピューターから収集されたパフォーマンス カウンター Syslog Linux コンピューターの Syslog イベント Linux パフォーマンス カウンター Linux コンピューターから収集されたパフォーマンス カウンター IIS ログ IIS ログ (W3C 形式) カスタム ログ Windows エージェントまたは Linux エージェント上の、 ログ情報を含んだテキスト ファイル https://docs.microsoft.com/ja-jp/azure/log-analytics/log-analytics-data-sources ※管理ソリューションは、上記とは別に、接続されたソースからデータを収集してレコードを作成する 13
  10. データソースの構成 • Azure ポータル > Log Analytics ワークスペース > 詳細設定

    > データ 14 今回は以下のログを指定 • Application • Operation Manager • System 今回は初回の設定時に表示 された全パフォーマンス カウンターを指定して、 300 秒間隔で送信
  11. OMS から Azure にアラートを拡張 • すべてのアラートをAzure ポータルで一元管理 • メリット •

    OMS でのアラート数の上限「250 件」が撤廃 • すべての種類のアラートを一元管理 • サービス正常性 • メトリック • アクティビティ ログ • Application Insights • Log Analytics • アクショングループを使って、各アラートに 複数のアクションが指定可 • メール送信 • SMS • 音声通話 • Webhook • Azure Automation Runbook など https://docs.microsoft.com/ja-jp/azure/monitoring-and-diagnostics/monitoring-alerts-extend 16
  12. 管理ソリューション • 特定の問題点に関するメトリック (測定基準) を提供するロジックや データの視覚化、データの取得ルールをパッケージ化したもの • 追加するだけで使える、不要になったら削除、とてもカンタン • どこから入手できるの?

    • Azure Marketplace > Monitoring + Management > Management Solutions https://azuremarketplace.microsoft.com/en-us/marketplace/apps/category/monitoring- management?subcategories=management-solutions • OMS ポータル > ソリューション ギャラリー • Azure クイック スタート テンプレート → "OMS" で検索 https://azure.microsoft.com/ja-jp/resources/templates/?term=OMS • ものによっては、Log Analytics ワークスペースとAutomation アカウントの関連 付けが必要 https://docs.microsoft.com/ja-jp/azure/operations-management-suite/operations-management-suite-solutions https://docs.microsoft.com/ja-jp/azure/log-analytics/log-analytics-add-solutions 18
  13. Active Directory 正常性チェック (AD Health Check) Windows Server Active Directory

    を定期的に評価 https://docs.microsoft.com/ja-jp/azure/log-analytics/log-analytics-ad-assessment 20
  14. 更新プログラムの管理 (Update Management) • 更新プログラムの適用状況の確認、スケジュール実行 • Windows も Linux も、Azure

    もオンプレミスも利用可能 • Azure Automation の一機能として → Log Analytics ワークスペースと Automation アカウントの関連付けが必要 • メリット/デメリット • 複数のコンピューターに対して Azure ポータルから 更新プログラムの適用状況や適用スケジュールを 管理できる • コンピューター内では、Microsoft Monitoring Agent、 Hybrid Runbook Worker、Windows Update といった 機能を使用して動作しているため、問題発生時の トラブルシューティングはこれら機能ごとにそれぞれ 対応する必要がある 適用状況 分析 https://docs.microsoft.com/ja-jp/azure/automation/automation-update-management Hybrid Runbook Worker Microsoft Monitoring Agent Automation Log Analytics 24
  15. Azure Backup の状態 (OMS Monitoring solution for Azure Backup) Backup

    ジョブの実行結果、ストレージの使用状況を確認 https://azure.microsoft.com/ja-jp/blog/oms-monitoring-solution-for-azure-backup-using-azure-log-analytics/ 28
  16. ログデータが検索 "できる" までの流れ https://docs.microsoft.com/ja-jp/azure/log-analytics/log-analytics-alerts#considerations リソースから ログデータ収集 各エージェントから送信される ログデータの間隔は、各データ ソースで決まっている ログデータ検索

    インデックス処理 収集されたログデータを 検索可能にするための処理 通常、この処理は 1 分以内に完了 負荷状況によっては、時間 (数分 程度?) がかかる場合もある インデックス処理が完了して、 はじめて検索可能となる 30
  17. • Advanced Analytics ポータル https://portal.loganalytics.io/ – IntelliSense (自動補完) – タブ形式のエディタ

    – 利用できるデータのタイプやその中 の属性が一覧表示 ログデータの検索はどこでできるの? • Azure ポータル > Log Analytics ワークスペース > ログ検索 OMS ポータル > ログ検索 と同じ UI クリック https://docs.microsoft.com/ja-jp/azure/log-analytics/log-analytics-log-search-portals 32
  18. クエリの基本構文 • テーブル名 | コマンド① | コマンド② … • テーブル名

    • Event … Windows イベントログ • Syslog … Linux の Syslog • Perf … パフォーマンス カウンター • Heartbeat • Update • コマンド • ログデータを絞り込む条件 • ソート、上位 N 件、集計 (件数、最大、最小、平均) などのアクション 管理ソリューションが作成したレコードも検索可能 https://docs.microsoft.com/ja-jp/azure/log-analytics/log-analytics-log-search https://docs.loganalytics.io/index パイプ パイプ 33
  19. クエリの基本構文 (例 1) 例:Windows イベントログ 名前に「RDS-RP」が含まれるコンピューターで警告のイベントログを 過去 12 時間分収集し、ログ日時の降順で表示する Event

    // テーブル名 : Windows イベントログ | where Computer contains “RDS-RP“ // コンピューター名に「RDS-RP」が含む | where EventLevelName == “Warning” // イベントレベルが警告 | where TimeGenerated >= ago(12h) // 過去 12 時間以内のもの | sort by TimeGenerated desc nulls last // ログ日時の降順でソート 34
  20. クエリの基本構文 (例 2) 例:Windows パフォーマンス カウンター 名前に「RDS-RP」が含まれるコンピューターの CPU 使用率を過去 1

    日分 収集し、コンピューターごと、かつ 1 時間ごとに平均値を集計して、 折れ線グラフで表示する Perf // テーブル名 : パフォーマンス カウンター | where Computer contains “RDS-RP“ // コンピューター名に「RDS-RP」が含む | where CounterName == “% Processor Time” // CPU 使用率 | where TimeGenerated > ago(1d) // 過去 1 日分 | summarize avg(CounterValue) by Computer, bin(TimeGenerated, 1h) // 1時間ごとの CPU 使用率の平均値 | render timechart // 折れ線グラフ (タイムチャート) で表示 35
  21. クエリの基本構文 (例 3) 例:複数の検索を合成 利用時間が最も長いユーザーを上位 10 件表示する SecurityEvent | where

    EventID == 4624 | project Computer, Account, TargetLogonId, logonTime=TimeGenerated | join kind = inner ( SecurityEvent | where EventID == 4634 | project TargetLogonId, LogoffTime=TimeGenerated ) on TargetLogonId | extend Duration = LogoffTime - logonTime | project-away TargetLogonId | top 10 by Duration desc 36 Windows へのログオン の記録 (EventID=4624) と、 ログオフの記録 (EventID=4634)を join ログオン時間とログオフ 時間の差=利用時間が 最も長い順に10件を表示
  22. カスタム ビュー • 作る前に決めること • どのログデータを使って、どんな情報を伝えたいか (表示する) • カスタム ビューの構成

    • タイル Log Analytics ワークスペース > 概要 に掲載される 視覚的な概要を表示するパーツ https://docs.microsoft.com/ja-jp/azure/ log-analytics/log-analytics-view-designer-tiles • 視覚化パーツ 1 つまたは複数のログデータ検索に基づくデータの 視覚化を表すパーツ https://docs.microsoft.com/ja-jp/azure/ log-analytics/log-analytics-view-designer-parts • ダッシュボード タイルをクリックすると表示されるページ、1 つまたは複数の視覚化パーツで構成 タイル ダッシュ ボード 視覚化 パーツ https://docs.microsoft.com/ja-jp/azure/log-analytics/log-analytics-view-designer 40
  23. カスタム ビューを作ってみよう (タイル編) • カスタム ビューは [ビュー デザイナー] で作る •

    Azure ポータル > Log Analytics ワークスペース にある [ビュー デザイナー] をクリック • やること ① ギャラリーからタイルを 選択 ② ビューの名前、説明など を入力 ③ 実行するクエリを入力 41 例:数値タイルの場合 →数値を返すクエリを入力
  24. カスタム ビューを作ってみよう (ダッシュボード編) • やること ① ギャラリーから視覚化パーツを選択 例:折れ線グラフとリスト ② 各部位の項目と実行するクエリを入力

    42 [折れ線グラフ] →テキスト、間隔 (X)、数値 (Y) のレコードを返すクエリ を入力 [リスト] →テキストと数値のレコード を返すクエリを入力 ※上位 10 件まで表示 [ナビゲーション クエリ] →視覚化パーツ内をクリック するとログ検索(既定)に遷移 そのログ検索で実行するクエ リを入力
  25. まとめ • なんと言っても、ログデータはタダで手に入る • コンプライアンス的に保管している…だけとなっていませんか? • ログデータを分析すれば Next Action が見出せます!

    (きっと) • 「ログデータが検索できるまでの流れ」を把握した上で、 Log Analytics を使いましょう • ログデータの送信間隔は、データソースによってまちまち • ログデータを検索可能にするためのインデックス処理 • ログデータを見える化することで伝えるが伝わるに変わる • まずはログデータの検索からチャレンジ! 45
  26. OMS から Azure へのアラート拡張 (1/6) • OMS ポータル > 設定

    > アラート • [Extend into Azure] をクリック https://docs.microsoft.com/ja-jp/azure/monitoring-and-diagnostics/monitoring-alerts-extend-tool 47
  27. OMS から Azure へのアラート拡張 (3/6) • アラートに対する変更内容 (アクショングループとアクション) が示される •

    [Next] をクリック https://docs.microsoft.com/ja-jp/azure/monitoring-and-diagnostics/monitoring-alerts-extend-tool 提案された 変更内容 49
  28. OMS から Azure へのアラート拡張 (5/6) • バックグラウンドで OMS アラートを Azure

    へ拡張する処理が実施中 • Azureへの拡張完了後、これらの アラートは Azure ポータルで管理することとなる https://docs.microsoft.com/ja-jp/azure/monitoring-and-diagnostics/monitoring-alerts-extend-tool 51
  29. OMS から Azure へのアラート拡張 (6/6) • OMS ポータル > 設定

    > アラート で編集操作を行うと、 Azure アラートの編集画面に遷移される https://docs.microsoft.com/ja-jp/azure/monitoring-and-diagnostics/monitoring-alerts-extend-tool 52
  30. その他の参考文献 • 【Tech Summit 2017】DEP007 新しく生まれ変わった Azure Log Analytics と

    Azure Security Center によるITインフラの分析と保護 https://youtu.be/RixW-Z2rFCU • アラートの webhook アクションについて • MSOMS のアラートをMicrosoft Teams に投げる | Unlimited Root http://www.projectsr.net/wp/?p=5474 • ログ アラート ルールの webhook アクション https://docs.microsoft.com/ja-jp/azure/monitoring-and-diagnostics/monitor-alerts-unified-log- webhook • OMS Log Analytics で アラート webhook アクションを作成して、メッセージを Slack に送信する https://docs.microsoft.com/ja-jp/azure/log-analytics/log-analytics-alerts-webhooks • Azure の監視サービスの新たな購入方法をご紹介 https://blogs.technet.microsoft.com/mssvrpmj/2018/04/09/introducing-a-new-way-to-purchase- azure-monitoring-services/ • 2018 年 4 月より、料金モデルが「ノード単位」からデータ収集量に基づく「GB 単位」に変更 • 既に「ノード単位」で利用している場合は引き続き利用可能 54