はじめに
IBM Cloudでは、システムのモニタリングサービスとして「IBM Cloud Monitoring」を提供しています。モニタリング・エージェントを監視対象に導入することにより、CPU・メモリ・ディスク・ネットワークの使用率や、IBM Cloud Kubernetes Service(IKS)、Red Hat OpenShift on IBM Cloudのコンテナを監視し、取得したメトリクスをダッシュボードとして表示したり、設定したしきい値を超えた場合にメール、Slackなどで通知するといったことが可能です。
またIBM Cloud MonitoringはWindowsサーバーを監視することもできます。ただしWindows プラットフォームには、標準のモニタリング・エージェントをインストールすることができません。 IBM Cloud Monitoring を使用して Windows システムをモニターするためには、Windows Prometheus バンドルを使用して Windows システムからメトリックを収集します。
本記事では、WindowsサーバーのダウンタイムをIBM Cloud Monitoringで検知・通知する手順を記載します。(本記事は以下のIBM Cloud Docsに従います)
・IBM Cloud Docs: Windows 環境のモニター
前提
以下のリソースが作成されていることを前提とします。
・Windows 仮想サーバー (VPC環境)
・IBM Cloud Monitoring
手順
1. エージェントを導入
IBM Cloud MonitoringのAPIキー確認
IBM Cloud Monitoringダッシュボードを開きます。
IBM Cloudポータルの左上ハンバーガーメニューより「可観測性」→「モニタリング」をクリックし、監視を行うMonitoringリソースの「ダッシュボードを開く」をクリックします。
左下の「Monitor Operation」→「Sysdig PAI Tokens」をクリックします。
表示される User Profile
ページをスクロールし、「Sysdig Monitor API」の 「Sysdig Monitor API Token」をコピーして保管します(後ほど使用します)。
エージェントをダウンロード
はじめにWindowsサーバーへWindows Prometheus バンドルをインストールします。
Windows Prometheus バンドル・バイナリー・インストーラーを以下からダウンロードします。
・github: Sysdig-Windows-Prometheus-Bundle page
今回は以下をダウンロードしました。
・Sysdig_Windows_Prometheus_Bundle-1.3.0-x64.msi
Windows システムでインストーラーを実行
ライセンス許諾にチェックした後、リモート書き込み用の取り込みエンドポイント と Monitor API Tokenを構成します。エンドポイントはIBM Cloud Docsの該当リージョンからコピーします。
「Host Configuration」 では、ポートやIPアドレスの値を変更しないでください。 Windowsファイアウォールに必要な追加の CLI フラグ またはリモート IP アドレスを指定します。
2. 監視結果を表示
左2番目にあるアイコン「Dashboard」を開き、 「アプリケーション」 セクションにある「Windows Host Overview」をクリックし、メトリックを表示します。
「Windows Services Overview」 ダッシュボードは、 「service」 メトリックが有効になっている場合に使用できます。
3. 通知設定
使用可能なデフォルト・アラートについては、左4番目にあるアイコン「Alerts」を開き、「Library」 で Windows
と検索することで表示できます。
ダウンタイム通知を設定する
上記のWindows デフォルト・アラートではダウンタイムの通知を設定することはできません。
そこでサーバーから送られてくるデータのステータスが「No Data」の場合、通知を発報するよう設定したいと思います。
左4番目にあるアイコン「Alerts」を開き、「+ New Alerts」→「Metric」をクリックします。
「Metric & Condition」の「Metric」にて windows
と検索し、監視対象メトリックを指定します。(今回はwindows_memory_available_bytes
を指定しました)
次に「Team Scope」をクリックして「Entire Infrastructure」にて「instance」を選択、「Select Value」にてインスタンス名を選択します。
Metricを指定してからでないと候補に出てこないです。
「Notifications」にて、通知チャネルを選択します。必要であれば通知のタイミング (事象発生時・解決時・頻度)を指定します。
メール通知チャネル作成については以下を参照ください。
・Qiita:IBM Cloud Monitoring with Sysdig が東京で使えるようになったので Linux で使ってみる
「Settings」にて、「No Data」を「Notify」に設定します。
これによりサーバーダウン時に通知を発報することができます。その他の項目は必要に応じて変更します。