PowerShellでWindowsイベントログにエラーログを出力します。Analyticsに転送します。Alertには条件とアクションがセットになったルールがあります。Analyticsを検索(監視)します。Monitorは様々な統計情報やログを収集、分析してそれに対する包括的なソリューションを提供するサービスです。Analytics」と「Alerts」を使用してみたいと思います。Analyticsについてざっくり説明しておきます。Monitorのなかの一つの機能として位置づけられています。Analyticsとはログやメトリックを蓄積し、それを検索し、可視化することができるサービスです。ログにはWindowのイベントログや、LinuxのSysLog、テキストログ等様々なログを蓄積できます。サーバー内で作られたログではなく、ポータルから操作したときの履歴であるアクティビティログも蓄積することができます。メトリックとはサーバのCPU使用率、メモリ使用率などのサーバー内の計測できる指標値のことを言いますが、このメトリックを蓄積することができます。Analyticsワークスペース」というリソースを作りそこにサーバーを接続することでログが蓄積され始めます。Monitorのなかの一つの機能として位置づけられています。Alertsは、様々なリソースから生成されるログやメトリックなどの情報を監視します。条件に合致した情報を見つけると、アクション(今回はメール送信)を実行します。Alertsは「アラートルール」と「アクショングループ」の二つで構成されます。アラートルール監視の単位はルールと呼ばれ、以下の3つで構成されます。何をするか監視の条件に指定可能なリソースから生成される情報は以下に記載してある通り5種類に分類されます。Insights)ただし、リソースから生成される情報はリソースごとにあったりなかったりするので、監視できる情報は事前に調べておくことをお勧めします。アクションには次に説明するアクショングループをリンクすることで監視の条件に合致した場合にそのアクションを実行することができます。アクショングループアラートルールのアクションに複数のアクショングループをリンクさせることで条件に合致したときにそのアクションを実行させることができます。アクショングループを一つ作っておくことで複数のアラートルールからリンクすることができます。アクショングループに指定できるアクションは結構いろいろとあります。Runbook(PowerShell等のスクリプト実行)それでは実際に構築していきたいと思います。ワークスペースを作成していきます。ワークスペース」の順に選択します。ワークスペースの作成画面では「新規作成」を選択します。Analyticsワークスペース」に、今回「demo-log-analytics-ws01」としてみました。「サブスクリプション」と「リソースグループ」は普段お使いのものを選んでください。「場所」こちらは2019年現在日本の場合は「東日本」しか選べません。「価格レベル」は2018年?に改定されたあとに作成する場合は「従量課金制(1GBあたり(2018))」しか選ぶことができません。入力が完了したら「OK」を選択します。「更新」ボタンを押すことで作ったリソースが表示されます。作ったリソースを選択して、「demo-log-analytics-ws01」の管理画面に遷移します。Analyticsに仮想マシンと接続するワークスペースを作成後は仮想マシンと接続します。Analyticsワークスペースへいろいろなログを送信してくれるようになります。Analyticsのリソースdemo-log-analytics-ws01のペインにある「ワークスペースのデータソース」の「仮想マシン」を選択します。すると右側に仮想マシンの一覧が表示されます。Analytics接続の状況は接続されていませんになっていますので、接続していきます。仮想マシンを選択すると接続確認の画面に遷移します。接続を選択すると接続が始まります。接続が完了すると状態にが「このワークスペース」になります。Analyticsエージェントがインストールされたも確認してみたいと思います。Machine」を選択して仮想マシンの管理画面を開きます。Analyticsワークスペースに接続した仮想マシン「ymstech-vm01」を選択します。「拡張機能」を選択します。succeeded」になっていてインストールが成功したことが分かります。Analyticsに設定するワークスペースを作成し、仮想マシンを接続しただけだと仮想マシンからログは送られてきません。Analyticsワークスペースに設定することで初めて仮想マシンからログが送られてきます。Beat」だけが仮想マシンから1分おきに送信されてきている状態です。収集するログの設定を行っていきましょう。Analyticsワークスペース「demo-log-analytics-ws01」の管理画面に行きます。左のペインの設定項目にある「詳細設定」を選択します。すると、詳細設定の画面に遷移します。詳細設定の画面では左から「Data」「Windowsイベントログ」を選択します。「次のイベントログからイベントを収取」に「demo-script」とします。この項目については後程詳しく説明します。)」について設定ができるようになります。今回はすべてチェックしておくことにします。「情報」をチェック入れるとログの種類によってはかなりの量を収集することなるので、事前に必要なログの種類を見極めておくことが大事です。収集するログの追加が終わったら「Save」をします。これは忘れがちなので必ずSaveしましょう。これでどんなログを収集するかの設定が完了です。今回はログ名が「demo-script」という名前のログを収集することにしました。ログからイベントを収集」に設定するイベントログについて詳しく説明したいと思います。」に指定するログの名前とは、上の図のイベントビューアで見えるログの名前のことを指します。このログの名前は左側の青い四角で囲んだ部分に表示されるものであれば収集が可能です。「Application」や「システム」のWindowsログを収集することもできます。Windowsログを収集すると非常に多くのログを収集することになります。Analyticsワークスペースに仮想マシンを接続すればするほどそのログの量は増えていきます。Analyticsの料金体系からしても不要にログを収集してしまうと費用に跳ね返ってくるのでそれは避けたいですよね。そこで、今回は自作のスクリプト専用に「demo-script」を作成し、収集するようにしました。Windowsイベントログへ出力するスクリプトを作成するイベントログへの書き込みは今回パワーシェルから実行します。イベントログを出力するためのサンプルスクリプトがこちらです。仮想マシンにログインして、このスクリプトをPowershellから実行してみます。"これはログ出力サンプルです。2イベントログへ出力がされました。表示されない場合は「最新の状態に更新」ボタンを押してみてください。イベントログの各項目に対応するパワーシェルのコマンドレットの引数です。これらの項目をLogAnalyticsでは検索をすることができます。※キーワードは検索できないですが、それ以外は検索可能です。次に、LogAnalyticsのワークスペースにログが転送されているか確認します。LogAnalyticsで収集したログを確認する送られてて来たログ確認してみます。Analyticsの管理画面から、「ログ」を選択します。クエリ作成画面に遷移します。LogManagementを展開します。展開すると項目が並んでいるので「Event」をダブルクリックします。右側にクエリとして反映されるので、「実行」ボタンを押すと下に検索結果が表示されます。LogAnalyticsで検索条件用のクエリを作成するここからはログを検索するためのクエリを作成していきます。Alertsの条件として設定することができるようになります。(kql)と呼ばれます。詳しい言語の使用方法はマニュアルを参照してください。今回は以下の検索条件で作りたいと思います。:demo-scriptコンピュータ名:ymstech-vm01イベントレベル:Error一度検索したいログを表示させ、「v」で詳細を開きます。「...」を選択し「=」を選択するとクエリ画面に反映されます。これを必要な条件分実施していきます。出来たら実行して問題がないか確認します。作った、クエリを保存します。Alertsで検索条件をとして採用するために「名前」を付けます。「Query」はそのまま変更はしません。「カテゴリ」は作ったクエリをカテゴリで分けて管理できますが、あまり重要ではないので、適当なものを付けておきましょう。Alertsの作成をしていきます。一息です!まずはメールを送信するアクショングループを作成します。Analyticsの「警告」を選択し、「アクションの管理」を選択します。「アクショングループの追加」を選択します。「アクショングループ名」には任意の名前を付けます。「短い名前」にはアクショングループ名を識別できる、短くした名前を付けます。使いどころが分からないので適当でOKです。メールやSMSに付与されどのアクショングループで実行されたメールなのかが分かります。「サブスクリプション」「リソースグループ」はいつものでOKです。「アクション」の項目に実行させる具体的なアクションタイプを選択していきます。今回はメールを送信するので「電子メール/SMS/プッシュ/音声」を選択します。電子メールにチェックを入れて、送信先のアドレスを設定します。「共通の警告スキーマを有効にします。」今回は「はい」を選択しました。これは、もともとアラートは各機能ごとにばらばらに実装されていたため、メールの本文フォーマットが統一されていませんでした。Monitorに統合されたことにより、メールの本文フォーマットが統一させることができるようになったようです。OKを押して次に進みます。アクションが登録されたので「OK」を押してアクショングループ作成完了です。Alertsのルール作成する次に、アラートのルールを作成していきます。ワークスペースの管理画面で、「警告」を選択し「+新しいアラートルール」を選択します。するとルールの作成画面に遷移します。「追加」を選択します。シグナルロジックの構成に遷移します。「LogAnalyticsで検索条件用のクエリを作成する」で作成したシグナル名「demo-script-ErrorOnymstech-vm01」を選択します。すると、詳細な条件を設定する画面に遷移します。ここではクエリの検索結果が表示されされるので条件を作成するときに参考にしながら設定を進めることができます。下へスクロールして設定をしていきます。図の設定は5分間隔でチェックし過去5分間にエラーログ1コでも見つけるとアクションを実行するということになります。「基準」には「結果の数」を指定します。受信したログの数を条件にするという意味です。「演算子」には「次の値より大きい」を指定します。「しきい値」には「0」を指定します。「期間」には「5」を指定します。チェック時点の過去5分間が検索範囲となります。「頻度」には「5」を指定します。5分ごとにチェックするということになります。「完了」を押して条件を設定完了です。次にアクショングループをリンクします。「アクショングループの選択」を選択します。アクショングループをチェックして、「選択」を押して完了させます。「アラートルール名」これはかなり大事な項目です。メールの件名として採用されます。一度作成してしまうと、変更ができません。「説明」はメールの本文の一部に表示されます。「重要度」は0~4の5段階が設定されます。メールの件名と本文に記載されます。「ルール作成時に有効にする」は「はい」で直ちに監視体制になります。「アラートを表示しない」にチェックを入れると、一度メールを送信してから次のメール送信までの抑止時間を指定することができます。今回はチェックはしません。「アラートルールの作成」を押し遂に監視開始です。有効になるまでに最大で10分くらい時間がかかるようです。作成したスクリプトを実行してみます。無事メールを受信しました。Monitorには様々な監視ソリューションがあります。重大な問題はしっかりとした監視を行うことで未然に防ぐことができます。これら様々な監視ソリューションをうまく使いこなして監視マスターになっていきましょう。最後まで読んでいただきありがとうございました。以上、やましー@データ活用クラウドエンジニア(@yamashi18041)でした。Databricksでデータを整形&統合&可視化する方法こんにちは。...Microsoftアカウントの作成方法こんにちは。学習するためのに必要な「Microsoftアカウントの作成方法」について解説したいと思います。...クラウドとは?こんにちは。今日は【クラウド】っていったい何なのかについて説明したいと思います。Factoryを使ってデータ基盤にデータを取り込む方法こんにちは。今日はデータ基盤にデータを取り込む方法について解説したいと思います。...データ基盤に欠かせないデータレイクとは?こんにちは。売り上げ促進、経費削減など様々なビジネス課題を解決する可能性を秘めているビッグデータの活用。その活用が進んでいないのもまた事実です。Notebookがサクッと使えたこんにちは。...2020/01/25やましーのプロフィールこんにちは。やましー@データ活用クラウドエンジニア(@yamashi18041)です。私は現在クラウド技術を使ってお客様企業のデータ活用基盤を構築しています。Databricksでデータを整形&統合&可視化する方法こんにちは。Databricksを使ってデータレイクのデータを表示する方法こんにちは。...プロフィールはじめまして!やましー@データ活用クラウドエンジニアです。クラウド未経験状態で転職し、3ヵ月でデータ活用基盤をクラウド上に構築できるようになりました。エンジニアとして尖るためにはアウトプット必須だろ!ってことで2019年6月からブログ開始。日々勉強したことを同じように悩んでいる方の為に記事を更新してます。得意領域はAzure、C言語、TCP/IP、サーバーインフラ構築です。未分類やましーデータ活用クラウドエンジニアになるSQLも叩けない、クラウドも触ったことがない三十代元インフラエンジニアの私。