GRAFANA
モニタリングツールの導入
Grafanaを用いたモニタリングツールを導入します。必要なスクリプトは以下のGitHubリポジトリにまとめてあります。 このREADMEを参照しながら実行することで、広島サイトではホストサーバー(grid02)から各ノードの監視を行っています。
Contribute to mochimochino/setup_prometheus_grafana development by creating an account on GitHub.
アラートの設定
Grafanaから異常を検知したときに、Gmailへアラートが飛ぶように設定を行います。
設定手順(Gmail通知)
Grafanaのアラート設定は大きく4ステップで構成されます。
- アラートルールの作成
- 通知先の作成
- 通知ポリシーの設定
- SMTP設定
Step 1: アラートルールの作成
アラートを発動させる条件を定義します。
- Grafanaの左側メニューから Alerting → Alert rules を開きます。
- New alert rule をクリックします。
-
クエリと条件の設定 (Set up queries and expressions)
- A (Query): 監視したいデータ(メトリクス)を選択します。 (例: サーバーのCPU使用率やディスク空き容量など)
- B (Expression): アラートを発動させる「しきい値」を設定します。
Classic conditionを選択し、WHEN last() OF B IS ABOVE 80のように記述します。(意味:クエリBの結果が80を超えたら)
-
ルールの詳細設定 (Add details for your alert rule)
- Rule name: アラートルールの名前を入力します。(例:
High CPU Usage) - Evaluate every: アラート条件をチェックする頻度を設定します。(例:
1m= 1分ごと) - For: 条件が継続したらアラートを確定させる時間を設定します。(例:
5m= 5分間継続したら)※一時的なスパイクでの誤報を防ぎます。 - Summary and annotations: 通知メールの件名や本文になる内容を記述します。
- Rule name: アラートルールの名前を入力します。(例:
- 最後に Save rule and exit をクリックして保存します。
Step 2: 通知先 (Contact Point) の作成
アラート通知を送るメールアドレスを登録します。
- Alerting → Contact points を開きます。
- New contact point をクリックします。
- Name: 通知先の名前を入力します。(例:
Gmail Admins) - Integration:
Emailを選択します。 - Addresses: 通知を受け取りたいアドレスを入力します。(今回は大学メールを設定しました)
- Save contact point をクリックします。
Step 3: 通知ポリシー (Notification Policy) の設定
どのアラートルールが発動したときに、どの通知先に連絡するかを関連付けます。(今回はすべての通知をデフォルトの通知先に送る設定です。)
- Alerting → Notification policies を開きます。
- Default contact point のドロップダウンメニューから、先ほど作成した
Gmail Adminsを選択します。 - Save policy をクリックします。
Step 4: SMTP設定 (Grafanaからメールを送るための設定)
GrafanaがGmailのサーバーを使ってメールを送信できるように設定します。(Googleアカウントを新規作成して行いました。)
-
【Google側での準備】
- お使いのGoogleアカウントで「2段階認証プロセス」を有効にします。
- Grafana専用の「アプリパスワード」(16桁)を生成します。(一度しか表示されないので注意)
-
【Grafana側での設定】
Grafanaの設定ファイル
/etc/grafana/grafana.iniを開き、[smtp]セクションを以下のように編集・保存します。[smtp] enabled = true host = smtp.gmail.com:587 user = your-email@gmail.com # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" password = abcd efgh ijkl mnop skip_verify = false from_address = your-email@gmail.com from_name = Grafana Alerts -
【Grafanaの再起動】
設定ファイルを保存し、Grafanaサーバーを再起動して設定を反映させます。
sudo systemctl restart grafana-server
Step 5: 最終テスト
全ての設定が完了したら、動作確認を行います。
- Alerting → Contact points を再度開きます。
- 作成した
Gmail Adminsの右側にある Test ボタンをクリックします。 - テスト通知の画面が表示されたら Send test notification をクリックします。
指定したGmailアドレスに「[FIRING:1] (Test notification)」のような件名のテストメールが届けば成功です。