ユニークカウントアラートの設定

データ量が増加し、ログ、メトリクス、およびセキュリティ・システムによって生成されるアラートの数が指数関数的に増加するにつれて、アラートの重要性を示す最も強力な指標の1つは、アラートによって影響を受ける要素の数です。 たとえば、APIを呼び出したときに 5XX エラーに遭遇したユーザーの数、エラーを返した Kafka コンシューマーグループの数、現在3秒以上サイトをロードしているCDNロケーションの数、または1人のユーザーがクラウドサービスコンソールにログインしようとした異なるパスワードの数などがあります。

一意カウントアラートは、クエリ条件に一致するログ内の指定されたキーに関連する一意値の数に基づいてトリガされます。

この種のアラートは、データやダッシュボードを分析することなく、潜在的な問題の深刻度や広がりを理解するのに役立ちます。

前提条件

  • アラートについてはIBM Cloud Logsを参照してください。 詳細については、アラート を参照してください。
  • Event Notificationsインスタンスが IBM Cloud Logsインスタンスと同じアカウントにあり、Event Notificationsインスタンスにリソースを設定する権限があることを確認してください。
  • IBM Cloud LogsインスタンスとEvent Notificationsインスタンス間のアウトバウンド統合が構成されていることを確認する。 詳細については、接続するアウトバウンドインテグレーションを設定する を参照してください。

起動アラート管理

以下のステップを実行します。

  1. コンソールで、 ナビゲーション・メニュー・アイコン Navigation Menu icon > Resource list をクリックする。
  2. IBM Cloud Logs のインスタンスを選択します。
  3. IBM Cloud Logsナビゲーションで、アラートアイコン >アラー管理をトクリックします。
  4. 新しいアラートをクリックします。

設定するアラートの種類を選択する

以下のステップを実行します。

  1. アラートの種類を選択します。 詳細については、 「アラートの種類」 を参照してください。

  2. Details セクションで、以下のステップを完了する:

    1. 名前を入力します。

      • 名前の最大長は4096文字。
    2. [オプション]説明文を入力します。

      • 説明文の最大長は4096文字です。
    3. [オプション] 1つ以上のラベルを追加する。

      ラベルは、後で簡単に検索するために使用できるキーと値のペアです。

フィルタリング基準に照らして分析されるログを指定します

フィルタリング基準に照らして分析するログを指定するには、以下の手順を実行します:

  1. アラートの一部として返されるログを指定するために、 Lucene 検索クエリを指定します。

    フリー・テキスト文字列に基づいてフィルタリングするクエリを定義できます。 例えば、リターンコードが403のPOSTリクエストが識別されたときにアラートをトリガーするには、検索クエリーとして "POST 403" を入力します。 クエリーは、値 403POST を含むログを探す。

    特定のフィールドがクエリの値と一致するログをフィルタリングするクエリを定義できます。 例えば、environmentフィールドのproductionという値を検索するクエリを定義することができます: environment:"production"

    特定のフィールドが数値の範囲に一致するログをフィルタリングするクエリを、[START_VALUE TO END_VALUE] という書式を使って定義することができます。 例えば、フィールド RC に対して 2xx ステータスコードを持つログを検索するには、クエリーを使用することができる: rc.numeric:[400 TO 499]

    特定のフィールドが正規表現RegEx)に一致するログをフィルタリングするクエリを定義できます。 RegEx式を / で囲む。 たとえば、フィールド領域で west-europe-1, west-europe-2, west-us-1 のような異なる領域を検索するクエリを定義することができます:region:/west-(europe|us)-[12]/

    ブール演算子 ANDORNOT を使用する複雑なクエリーを定義することができます。 たとえば、次のようなクエリーを定義できます environment:"production" AND status.numeric:[400 TO 499] NOT region:/west-(europe|us)-[12]/

  2. 1つ以上のアプリケーションを選択して、ログのフィルタリングを追加します。

  3. 1つ以上のサブシステムを選択して、ログのフィルタリングを追加する。

  4. 1つ以上のログの厳しさを選択して、ログのフィルタリングを追加します。

    有効な値は、DebugVerboseInfoWarningError、および Critical です。

トリガー条件の指定

このアラートの分析に含まれるデータに対して評価されるトリガー条件を指定します。

Conditions(条件) セクションでは、 Unique count by key(キーによる一意数)Max unique values(最大一意値 )、 In timeframe(時間枠内 )を設定する必要があります。

  1. Unique count by keyで、監視したいキーを選択する。

  2. 最大一意値] には、アラートがトリガーされるまでの監視時間枠内の[ キー・キーによる一意カウント ]の一意値の最大数を指定します。

  3. In timeframe(時間枠内) ]では、一意の値を監視する時間枠を選択します。 時間枠は 1 minute から 36 hours の間で選択できる。

また、[ Group unique count per specific key] を選択し、次のように設定することで、[ Unique count by key] で指定したキーの値を2つ目のキーでグループ化することもできる:

  1. Group by keyでUnique count by keyで指定したキーのキー値をグループ化するために使用するキーを選択します。

  2. グループ・バイ・キーの最大一意値スライダーを使用して、 グループ・バイ・キーでグループ化される一意値を示します。 ユニークカウントの最大値は、スライダーの選択に基づいて計算されます。 全体の最大全体カウントは10000に制限されているので、 最大ユニークカウント値は、表示された値のユニーク値の値を超えてはならない。

例えば、 ユニーク値が 663の場合、663 * 15 = 9945なので、 ユニークカウントの最大値は15を超えてはならない。 この場合、 Max unique count values should not exceed of 16は、許容される全体の最大カウント10000より大きくなる。

一意カウントの最大値がしきい値を超えてはならないキーグループに達すると、アラートがトリガーされます。

通知の詳細を設定する

以下のステップを実行します。

  1. Notify every を設定して、アラートがトリガーされた後のイベント取得頻度を定義します。 デフォルトでは0時間10分に設定されている。

  2. Resolve automaticallyを有効にすると、イベントが解決されたときにイベントを取得します。

    アラートの条件がイベントをトリガーしなくなると、最初にトリガーされたイベントは解決済みとしてマークされる。

  3. Enableファントムモードを有効にして、このアラートがファントムアラートであることを示す。

    ファントムアラートは、フローアラートのビルディングブロックとして機能する。

    ファントムアラートは、独立したイベント通知をトリガーしない。

    このオプションを有効にすると、アラート定義から通知セクションが削除されます。

  4. 統合を追加する。

    統合を追加するには、送信統合が定義されている必要があります。 詳細については、Event Notificationsサービスとの統合を設定する を参照してください。

スケジュールと含めるログの内容を設定する

以下のステップを実行します。

  1. *スケジュール]*セクションで、このアラートを有効にするタイミングを制御するスケジュールを設定します。 特定の曜日と時間を選ぶことができる。

  2. *Notification Content(通知内容)*セクションでは、トリガーされたイベントにログ行のサンプルを含めるか、一部のフィールドのみを含めるかを定義します。

    アラート通知に含める特定のJSONキーを選択するか、アラートメッセージにログテキスト全体を含めるには空白のままにします:

    • オプション1:アラートのフィルタリング条件に一致するログ行を1行含めるには、空白のままにします。

    • オプション2:JSONキーを指定し、key:valueのペアの形式で選択したフィールドを含める。 フィールドを追加するには、ログ記録がJSON形式でなければならないことに注意してください。

      名前に . を含む JSON キーは、選択フィールドとして使用できません。

    • オプション3:フィルターとしてJSONパスを指定する。

アラートがトリガーされると、イベントに含まれるデータ量には制限がある。 これらの制限の詳細については、データサイズ を参照。

アラート設定を保存する

以下のステップを実行します。

  1. 警告を確認する。

    Verify(検証)」をクリックしてデータを評価し、過去24時間にアラートが何回条件に一致したかを調べます。

    Verifyは優先順位の洞察パイプラインのデータのみを評価する。 アラートが分析とアラートパイプラインで利用可能なデータでトリガーされるように構成されている場合、この機能は利用できないことに注意してください。

  2. **「アラートの作成」**をクリックします。

アラートの確認

アラートを作動させる。 アラートがトリガーされ処理されると、システムは、電子メール、Slack、SMS、または統合されたインシデント管理プラットフォームなどのさまざまなチャネルを通じて、指定されたユーザーまたはチームに通知を送信します。 その後、*「インシデント」*ページに移動し、トリガーされたアラートに関する情報を見ることができます。 詳細については、IBM Cloud Logsのトリガーされたアラートの管理 を参照してください。