Logstore にログを収集した後、アラートルールを作成してデータを監視できます。この例では、DingTalk グループに通知を送信するログアラートを設定します。
概要
この例では、アラートルールが 15 分ごとに対象の Logstore のデータをチェックします。データが見つかった場合、アラートがトリガーされ、DingTalk ボットが通知を送信します。手順は次のとおりです。
-
通知受信者の設定: ユーザー
Bobを設定し、Bobをユーザーグループに追加します。 -
アラートルールの設定:アラートルールは 15 分ごとに対象の Logstore のデータをチェックします。データが存在する場合にアラートをトリガーします。
-
通知ポリシーの設定: Simple Log Service の組み込みアラートテンプレートを使用して、DingTalk グループにアラート通知を送信し、
Bobをメンションします。 -
アラートトリガー記録の表示:アラートがトリガーされた後、アラートダッシュボードと通知の詳細を確認します。
手順
アラートを設定する前に、Logstore にログが想定どおりに収集されていることを確認してください。
SLS のアラートは、Logstore 内のログデータに基づいてトリガーされます。SLS は Web エンドポイントのヘルス状態を直接プローブできません。エンドポイントの可用性を監視するには、まずエンドポイントの HTTP アクセスログを Logstore に収集し、その後、ログクエリ結果に基づいてアラートルールを作成します。
手順 1:受信者の設定
アラート通知用のユーザーとユーザーグループを作成します。
-
SLS コンソール にログインします。
-
[プロジェクト] セクションで、対象のプロジェクトをクリックします。
-
左側のナビゲーションペインで、アラート をクリックします。アラートセンター ページで、
Bobという名前のユーザーを設定し、確認 をクリックします。[通知受信者] タブをクリックし、[ユーザー管理] を選択して、[作成] をクリックします。 [ユーザーの追加] ダイアログボックスで、[識別子]、[名前]、[電話番号] を入力します。 必要に応じて [SMS] と [音声通話] をオンにします。 [メールアドレス] を入力し、[有効] がオンになっていることを確認します。
-
[ユーザーグループの追加] ダイアログボックスで、ユーザー
Bobをtestグループに追加し、確認 をクリックします。[ユーザーグループ管理] タブをクリックし、[作成] をクリックします。[ID] フィールドに
testと入力します。対象のメンバーを選択し、[>] をクリックしてメンバーを追加します。[有効] がオンになっていることを確認します。
手順 2:アラートルールの設定
このルールは 15 分ごとに対象の Logstore をチェックします。データが見つかった場合、アラートがトリガーされ、DingTalk に通知が送信されます。
-
タブで、アラートの作成 をクリックします。
-
アラートの作成 パネルで、[クエリ統計] の設定を行い、追加 をクリックします。
[ルール名] を
New Alert Ruleに設定し、[チェック間隔] を [固定間隔] の15分に設定し、[グループ評価] を [グループ化しない] に設定します。 -
[クエリ統計] ダイアログボックスで、対象の ログストア を選択し、プレビュー をクリックしてデータを表示し、次に 確認 をクリックします。
[詳細設定] タブをクリックします。[タイプ] を [Logstore] に設定し、クエリを
* | select *に設定します。 -
アラートの作成 パネルで、トリガー条件 を [データが返される] に、重大度 を 中 に設定します。OK をクリックします。
手順 3:通知ポリシーの設定
アラートテンプレート
アラートテンプレートは通知の内容を定義します。 SLS 組み込みアラートテンプレートは、DingTalk を介してアラートを送信します。
-
タブで、[SLS 組み込みアラートテンプレート] を見つけ、[操作] 列の 変更 をクリックします。
-
DingTalk アラートの送信内容を設定します。
[タイトル] を
SLS Alertに設定します。[内容] フィールドに次のテンプレート変数を入力します:Alert Rule Name: ${alert_name}、Alert Severity: ${severity}、Annotation String: {{ alert.annotations | to_json }}、Alert Host: {{alert.fire_results[0].__source__}}。[OK] をクリックします。
SLS 通知
アラートは、ターゲット Logstore で設定されたチャネルを通じて送信されます。 この例では、SLS 通知はDingTalk チャネルを通じてアラートを送信します。
-
前提条件
DingTalk でアラート通知を送信するには:
-
DingTalk クライアントを開き、DingTalk グループに移動し、右上の設定アイコンをクリックします。
-
を選択します。
-
[カスタム (Webhook を介したカスタムメッセージサービス)] をクリックし、次に 追加 をクリックします。[チャットボット名] を設定します。セキュリティ設定 で [カスタムキーワード] を選択し、アラート を入力して、次に 完成 をクリックします。
-
グループチャットのチャットボット管理ページで、作成したボットを見つけ、Webhook URL をコピーします。
-
通知の受信者の設定
[新しい Webhook] ダイアログボックスで、コピーした Webhook URL を リクエスト URL フィールドに貼り付けます。次の設定を行い、OK をクリックします。
ダイアログボックスで、[識別子] と [名前] を入力します。[タイプ] を [DingTalk] に設定します。[署名シークレット] は任意で、署名検証が有効な場合にのみ必要です。
-
通知チャネルの設定
アラームルール タブで、目的のルールを見つけ、編集 をクリックします。
アラートの編集 パネルで、以下の設定を構成し、OK をクリックします。
[送信先] セクションで [SLS 通知] を選択し、[有効] スイッチをオンにします。[アラートポリシー] を [ミニマリストモード] に設定します。[アクショングループ] セクションで [DingTalk] 通知チャネルを追加します。[Webhook を選択] を [sample_test] に、[通知方法] を [指定メンバー] に、[受信者タイプ] を [静的受信者] に、[受信者] を [田中一郎] に設定します。[アラートテンプレート] を [SLS の組み込みアラートテンプレート] に設定し、[送信時間] を [任意] に設定します。
手順 4:アラート履歴の表示
アラートダッシュボード
に移動して、アラートがトリガーされた回数を表示します。
このページには、[アラートルール統計]、[アラートルール評価ステータス]、[アラートトリガー傾向]、[アラートトリガー回数] が表示されます。[プロジェクト]、[アラート ID]、または [アラート名] で絞り込めます。
通知の詳細
-
ページで、対象のルールをクリックします。
-
アラートの詳細を確認します。[トリガーアラート] が true の場合、アラートが正常にトリガーされたことを示します。
[アラート履歴] テーブルで、[実行結果] が
Success、[詳細] がSuccessfulであることを確認します。