アラートと通知
DOG StackはGrafanaを統合しているため、Grafana内で直接アラートを作成・管理することができます。この記事では最も一般的なアラート操作を紹介します。より高度な機能については、Grafana Alerting documentationを参照してください。
図に示すように、Grafana Alertの中核メカニズムは次の通りです:
- ユーザーは基盤となるクエリとトリガー条件を含むアラートルールを定義します。
- システムは定期的にルールのクエリを実行し、トリガー条件を評価します。
- トリガー条件が満たされた場合、アラートインスタンスが生成されます。
- その後、アラートが送信されます — 連絡先に直接送信されるか、通知ポリシーを通じて柔軟にルーティングされます。

典型的なアラートルール作成・管理フローは次のようになります:
1. Grafana Alerting → Alert rulesを開き、「Create alert」をクリックします

2. クエリとトリガー条件を定義します
まずDorisなどのデータソースを選択します。Builderモードでは、ビジュアルインターフェースをクリックして簡単なクエリを構築できます。Codeモードでは、より複雑なクエリのためにSQLを記述できます。この例では、Codeモードを使用して、bodyフィールドがerrorキーワードにマッチする過去10分間のotel.otel_logsの行数をクエリします。
次に、Expressionセクションで、クエリ結果をさらに集約する方法を選択し(オプション)、アラートをトリガーする閾値を設定します。この例では、閾値を「result > 10」に設定し、追加の集約は適用されません。
最後に、Previewをクリックしてクエリ結果とアラートが発火するかどうかをプレビューします。ここでは、クエリが882を返し、閾値の10を超えているため、ステータス1 Firingが表示されます。
詳細については、Grafana docsを参照してください。

3. 評価間隔と組織を設定します
まず、アラートを整理するフォルダを選択し、次にアラートの評価間隔を設定し、最後にPending期間を選択します。この例では、毎分実行される評価グループを作成し、Pending = Noneを選択しています — これは、条件が満たされたときに(例えば1分間など)一定時間継続した後ではなく、即座にアラートがFiring状態に移行することを意味します。
詳細については、Grafana docsを参照してください。

4. 通知チャネルを設定します
Grafanaは多数の通知チャネル — Email、Slack、Discord、PagerDuty、Webhookなど — をサポートしています。既存の連絡先を選択するか、独自の連絡先を作成できます。また、ラベルに基づいてアラートをルーティングする柔軟な通知ポリシーも設定できます。
詳細については、Grafana docsを参照してください。


5. 通知メッセージを設定します
概要、説明、対処を案内するrunbook URLを含む通知内容をカスタマイズできるため、受信者が何が起こったかをより迅速に把握できます。

6. アラート管理
アラートルールの作成後、それらを管理できます — アラートの一時停止、一定期間の通知消音、ルールの変更、通知チャネルの変更など。
詳細については、Grafana docsを参照してください。
