ログからのメトリックの収集の構成

IBM® Cloud Logs では、 優先順位の洞察 のログと 分析とアラート のログからメトリクスを生成できます。

ログからメトリックを定義する際には、以下の情報を考慮してください。

  • メトリックは、定義された時点から収集されます。
  • 最大 30 個のメトリック・ルールを作成できます。
  • 保存期間は任意の長さに設定できます。 メトリック・バケットを管理し、必要な期間だけデータを保持することができます。
  • 1 日あたり合計 10M 個のメトリック順列の割り当て量があります。
  • Events2Metrics 索引の最大照会時刻範囲は 90 日です。

前提条件

ログからメトリックを定義する前に、以下の要件を確認してください。

  • IBM Cloud Logs インスタンス用に メトリック・バケット を構成しておく必要があります。

    メトリック・バケットが構成されていない場合は、以下のメッセージが発行され、メトリック・データへのイベントは数時間しか使用できません。

    WARNING - Metric Bucket is Missing
    To extend the retention period of your metric data beyond a few hours, it is essential to
    configure a metric bucket. Without this configuration, your data may be automatically purged
    after a short time frame, resulting in potential data loss.
    
  • 優先順位の洞察 ログおよび 分析とアラート ログのメトリックのみを定義できます。

メトリックに対するイベントの構成

ご使用の環境でメトリックに対するイベントを構成するには、以下を実行します。

  1. IBM Cloud Logs UI を起動します。

  2. 「データ・パイプライン」 アイコン 「データ・パイプライン」アイコン > 「メトリックへのイベント」 をクリックします。

  3. New Events2Metrics をクリックする。

  4. メトリックの詳細を定義します。

    「名前」 には、長期索引で使用されるメトリックの名前を指定します。

    「説明」 に、メトリックの説明を入力します。

  5. イベントソースを選択します。 ログのみ対応。

  6. 「照会」 セクションでは、テキスト照会または Lucene 照会を使用できます。 query を入力して、メトリックのログを選択します。

  7. 「有効範囲」 では、アプリケーション、サブシステム、または重大度でログをフィルターに掛けることができます。

  8. (オプション) max、 min、 count、 average、または集約 (histogram または samples) に基づいてデータを抽出するためのメトリック・フィールドを定義します。

    • メトリックを収集する最大 10 個のフィールドを定義します。

    • メトリックごとに、データのストリームを集約する集約関数を定義できます。

    • histogram バケットは、ヒストグラム内の値の範囲です。 ヒストグラムを作成するときに、データのグループ化に使用される値の範囲を指定します。 ヒストグラム内の各バケットは、そのバケットの値の範囲内にある観測の数を表します。 細分化されたバケットは、照会時により正確なパーセンタイルを提供しますが、時系列とストレージの数は増加します。

    • histogram 集約を選択する場合は、データの分布を表すバケットを指定する必要があります。 例えば、CPU メトリック・ヒストグラムは 0, 10, 30, 45, 50, 60, 70, 85, 90, 100 のようになります。 値は、コンマ区切りリストとして指定します。

    • sample 集約を使用して、1 分に 4 つのサンプルを収集できます。各サンプルは 4 分の 1 分を表します。 データが同じ四半期内に受信されると、データの最小値または最大値が保持されます。 収集するサンプルごとに最小値と最大値のどちらを収集するかを定義する必要があります。

  9. 視覚化に使用するラベルを定義します。 最大 6 個のラベルを作成できます。

  10. メトリックに許可されるメトリック順列の最大数を選択します。 以下の点に注意してください。

    • 各環境は、1 日あたり 10M メトリックの順列に制限されます。
    • 各メトリック・ルールには、順列割り当て量があります。
    • メトリック・ルールは、特定の割り当て量または組織の割り当て量が満たされるとブロックされます。
    • 過去 7 日間のロギングに基づいて、高優先度のログの結果を推定するグラフが表示されます。 この情報を使用して、構成する順列の最大数を決定することができます。 平均的な日次データには十分であるが、日次割り当て量にはあまり影響しない、いくつかの順列を選択する必要があります。

デフォルト・メトリック

「メトリックに対するイベント」で定義されたメトリックごとに、デフォルトのメトリックが作成されます。 このメトリックは、照会と構成されたスコープに一致するログの総数をカウントします。 メトリック名は <Metric Name>_cx_docs_total で、他のすべてのメトリックと同じように照会できます。 デフォルトのメトリックは、ラベルとともにグループ化することもできます。

メトリック照会に対するイベントの構成

メトリックに対するイベントの構成に使用される照会は、単純なものでも複雑なものでもかまいません。

フリー・テキスト照会

フリー・テキストの検索を定義するテキスト・ストリングを入力します。

例えば、GET 要求ですべての response_code 200 ストリングを検索するには、 GET 200 と入力します。 この照会では、ストリング 200 および GET を含むログが検出されます。

句照会

特定の語句に一致する検索を定義するには、その語句を二重引用符で囲んで入力します。

例えば、 "GET 200" は、その正確なストリングを含む行のみに一致します。

フィールド・クエリー

特定のフィールドの値の検索を定義するには、値の前にフィールド名を接頭部として付けます。

例えば、 environment:production は、 environment フィールドで値 production を検索します。

数値範囲照会

値の範囲を検索するには、大括弧 ([START_VALUE TO END_VALUE]) 内の数値の範囲を指定します。

例えば、 status フィールドに 4xx 状況コードが入っているすべての行を検索するには、 status.numeric:[400 TO 499] を指定します。

複雑な照会

検索で正規表現を使用できます。 正規表現は / 文字でラップする必要があります。

例えば、すべての EU 地域を検索するには、 region:keyword:/eu-(fr|es)/ と指定します。

ブール演算子 AND、 OR、および NOT を使用することもできます。

例えば、状況コードが 4xx で拡張子が php の行の検索を定義するには、 status.numeric[400 TO 499] AND extension.php と指定します。

もう 1 つの例は、EU 地域を起点としない状況コード 4xx で、実稼働環境からすべての回線を検索することです。

environment:production AND status.numeric:[400 TO 499] NOT region:/region:/eu-(fr|es)/

JSON 構造化ログでのキーワードの使用

索引付けを行わずにデータを照会するために、フィールド名に .keyword 接尾部を追加することができます。これにより、 key.keyword:/first-name*/ はログ "Key":"first-name: John" および "Key":"first-name: Bob" も返しますが、 "Key":"The first participant's name is John" 句が完全に一致するように見えるため、 first-name ログは返されません。

正規表現ストリングの前後にスラッシュ (/) を使用する必要があります。

256 文字より長いフィールドに対しては、キーワードは作成されません。