mcpField
C
cx-alerts

cx-alerts

github.com/coralogixクラウド・DevOps2153.7k 回インストール今日更新
リポジトリ

cx-alerts について

cx-alerts は、`cx alerts` CLI で Coralogix のアラート定義と抑制ルールを管理するスキルです。優先度の選択や作成後の確認を含め、作成、調査、保守を支援します。

主な機能

  1. 01アラートの一覧表示、確認、作成、削除
  2. 02アラート定義の有効化と無効化
  3. 03アラートイベントと統計の取得
  4. 04アラート抑制ルールの管理
  5. 05JSON または TOON 形式で出力
  6. 06複数プロファイルを対象に実行

活用シーン

  1. 01ログ、メトリクス、トレースのアラート作成
  2. 02発報中アラートの検索と確認
  3. 03メンテナンス中のアラート抑制
  4. 04アラートイベント統計の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/coralogix/cx-cli --skill cx-alerts

インストール後、Claude Code で/cx-alertsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
alert-schemas.md
dataprime-reference.md
logs-querying.md
promql-guidelines.md
spans-querying.md

詳細

アラート管理スキル

このスキルでは、cx alerts CLI コマンドを使用して、Coralogix のアラート定義の一覧表示、確認、作成、削除、有効化、無効化を行います。

CLI コマンド

コマンド用途主なフラグ
cx alerts listすべてのアラート定義を一覧表示します--name <filter>
cx alerts get <id>ID を指定して単一のアラート定義を取得します-
cx alerts createJSON 定義からアラートを作成します--from-file <path>(デフォルト:stdin)
cx alerts delete <id>アラートを削除します-
cx alerts enable <id>アラートを有効にします-
cx alerts disable <id>アラートを無効にします-
cx alerts eventsイベントを一覧表示します。フィルタリングにはアラートバージョンのエンドポイントを使用します--alert-version-id、--start、--end
cx alerts event-statsアラートイベントの統計情報を取得します-
cx alerts suppression-rules list抑制ルールを一覧表示します-
cx alerts suppression-rules get <id>抑制ルールを取得します-
cx alerts suppression-rules create抑制ルールを作成します--from-file <path>
cx alerts suppression-rules update抑制ルールを更新します--from-file <path>
cx alerts suppression-rules delete <id>抑制ルールを削除します-

出力形式: 機械可読形式で出力するには、list、get、create コマンドに -o json または -o toon を追加します。

複数のプロファイル: -p <profile>(繰り返し指定可能)を使用すると、複数のプロファイルを同時に対象にできます。

アラートタイプのリファレンス

Coralogix は 12 種類のアラートタイプをサポートしています。

タイプの enum表示名説明
ALERT_DEF_TYPE_LOGS_IMMEDIATELogs Immediate条件に一致するログエントリごとにトリガーします
ALERT_DEF_TYPE_LOGS_THRESHOLDLogs Threshold一定の時間枠内でログ数がしきい値を超えたときにトリガーします
ALERT_DEF_TYPE_LOGS_ANOMALYLogs Anomalyログ量に対する ML ベースの異常検知です
ALERT_DEF_TYPE_LOGS_RATIO_THRESHOLDLogs Ratio Threshold2 つのログクエリ間の比率に基づいてトリガーします
ALERT_DEF_TYPE_LOGS_NEW_VALUELogs New Valueフィールドに新しい値が現れたときにトリガーします
ALERT_DEF_TYPE_LOGS_UNIQUE_COUNTLogs Unique Count一意な値の数がしきい値に達したときにトリガーします
ALERT_DEF_TYPE_LOGS_TIME_RELATIVE_THRESHOLDLogs Time Relative現在の時間枠と過去の時間枠を比較します
ALERT_DEF_TYPE_METRIC_THRESHOLDMetric ThresholdPromQL 式がしきい値を超えたときにトリガーします
ALERT_DEF_TYPE_METRIC_ANOMALYMetric Anomalyメトリクスに対する ML ベースの異常検知です
ALERT_DEF_TYPE_TRACING_IMMEDIATETracing Immediate条件に一致するスパンごとにトリガーします
ALERT_DEF_TYPE_TRACING_THRESHOLDTracing Thresholdスパン数がしきい値を超えたときにトリガーします
ALERT_DEF_TYPE_FLOWFlow複数の条件を組み合わせたシーケンスベースのアラートです

優先度レベル

アラートを作成する際は、必ずユーザーに優先度を確認してください。

優先度ユースケース
P1重大 — オンコール担当者に直ちに通知します
P2高 — 1 時間以内の対応が必要です
P3中 — 営業時間中に調査します
P4低 — 情報提供用で、都合のよいときに確認します
P5情報 — ログ記録/追跡のみです

作成ワークフロー

  1. 何をアラートの対象にするか(ログ、メトリクス、トレース)をユーザーに確認します
  2. 優先度(P1~P5)を確認します
  3. alertDefProperties を含む JSON ペイロードを作成します。すべての enum 値については、API ワイヤー形式を使用してください(references/alert-schemas.md を参照)
  4. ヒント: cx alerts get <existing-id> -o json を使って動作するテンプレートを取得し、変更してから create にパイプできます
  5. echo '<json>' | cx alerts create または cx alerts create --from-file alert.json で作成します
  6. cx alerts list --name "<alert name>" で確認します

重要な構造上の注意: type フィールドは文字列の enum(例:"ALERT_DEF_TYPE_LOGS_THRESHOLD")です。また、アラートタイプの設定(例:"logsThreshold": {...})は同じ階層の兄弟フィールドであり、type の内側にはネストしません。

例:ログしきい値アラート
{
  "alertDefProperties": {
    "name": "High Error Rate",
    "description": "Alert when error logs exceed threshold",
    "priority": "ALERT_DEF_PRIORITY_P2",
    "type": "ALERT_DEF_TYPE_LOGS_THRESHOLD",
    "enabled": true,
    "logsThreshold": {
      "logsFilter": {
        "simpleFilter": {
          "luceneQuery": "severity:ERROR",
          "labelFilters": {
            "applicationName": [
              { "operation": "LOG_FILTER_OPERATION_TYPE_IS_OR_UNSPECIFIED", "value": "my-app" }
            ]
          }
        }
      },
      "rules": [{
        "condition": {
          "conditionType": "LOGS_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED",
          "threshold": 100,
          "timeWindow": {
            "logsTimeWindowSpecificValue": "LOGS_TIME_WINDOW_VALUE_MINUTES_5_OR_UNSPECIFIED"
          }
        }
      }]
    }
  }
}
例:メトリクスしきい値アラート
{
  "alertDefProperties": {
    "name": "CPU Usage Critical",
    "priority": "ALERT_DEF_PRIORITY_P1",
    "type": "ALERT_DEF_TYPE_METRIC_THRESHOLD",
    "enabled": true,
    "metricThreshold": {
      "metricFilter": { "promql": "avg(cpu_usage_percent)" },
      "rules": [{
        "condition": {
          "conditionType": "METRIC_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED",
          "threshold": 90,
          "ofTheLast": { "dynamicDuration": "5m" },
          "forOverPct": 100
        }
      }]
    }
  }
}
例:ログ即時アラート
{
  "alertDefProperties": {
    "name": "OOM Killer Detected",
    "description": "Alert immediately when OOM killer runs",
    "priority": "ALERT_DEF_PRIORITY_P1",
    "type": "ALERT_DEF_TYPE_LOGS_IMMEDIATE_OR_UNSPECIFIED",
    "enabled": true,
    "logsImmediate": {
      "logsFilter": {
        "simpleFilter": {
          "luceneQuery": "\"Out of memory\" OR \"OOM\"",
          "labelFilters": {}
        }
      }
    }
  }
}

調査ワークフロー

発火中のアラートを見つける
# List all alerts and look for ALERTING status
cx alerts list -o json | jq '.[] | select(.status == "ALERTING")'

# Filter by name
cx alerts list --name "error"
特定のアラートを調べる
cx alerts get <alert-id>
cx alerts get <alert-id> -o json
ノイズの多いアラートを無効にする(一時的なミュート)
cx alerts disable <alert-id>
# Later, re-enable:
cx alerts enable <alert-id>

抑制ルール

メンテナンス時間帯やノイズが多いとわかっている時間帯にアラートをミュートする、アラート抑制ルールを管理します。

コマンド目的
cx alerts suppression-rules listすべての抑制ルールを一覧表示します
cx alerts suppression-rules get <id>IDで抑制ルールを取得します
cx alerts suppression-rules create --from-file抑制ルールを作成します
cx alerts suppression-rules update --from-file抑制ルールを更新します
cx alerts suppression-rules delete <id>抑制ルールを削除します

ルールには2つのIDがあります。unique_identifierは安定したアドレス指定可能なIDで、get/update/deleteに使用します。一方、idはルールのバージョンIDで、更新のたびに変わります。

リクエスト本文の形式

createとupdateでは、ルールをalertSchedulerRuleオブジェクトで囲んで指定します。

{
  "alertSchedulerRule": {
    "uniqueIdentifier": "<rule-id>",
    "name": "maintenance-window",
    "filter": { "whatExpression": "source logs | filter true", "alertUniqueIds": { "value": [] } },
    "schedule": {
      "scheduleOperation": "SCHEDULE_OPERATION_MUTE",
      "oneTime": { "timeframe": { "startTime": "2026-08-10T19:30:00", "endTime": "2026-08-10T20:30:00", "timezone": "UTC" } }
    }
  }
}
# List suppression rules - the ID column is the unique_identifier
cx alerts suppression-rules list -o json

# Inspect one rule
cx alerts suppression-rules get <unique-identifier> -o json

# Create from a definition file (must use the alertSchedulerRule wrapper)
cx alerts suppression-rules create --from-file suppression-rule.json

# Delete
cx alerts suppression-rules delete <unique-identifier> --yes

重要な原則

  • アラートを作成する際は、必ず優先度を確認してください(P1~P5)。決して推測してはいけません
  • アラートが多数ある大規模アカウントでは、--nameフィルターを使用してください
  • フィルタリングや変換には、-o jsonとjqを使用してください
  • アラートをプログラムで構築する際は、標準入力からJSONをパイプするために--from-file -を使用してください
  • 作成後に確認してください。作成を確認するため、必ずアラートを一覧表示するか取得してください
  • 削除ではなく無効化してください。監査可能性を保つため、アラートは削除せず無効化することを推奨します
  • 特定のアラートへのリンクを作成してください。cx alerts listが出力する「View in Coralogix」リンクは1つだけで、アラート一覧ページへのリンクであり、アラートごとのリンクではありません。特定のアラートへのリンクを作成するには、<base>/alerts/<alert_id>を組み立てます。<base>には、このセッション中に実行したいずれかのcx alertsコマンドが出力するView in Coralogix: <base>/...行に記載されたコンソールURLを使用してください。<base>を自分で作り出してはいけません。

関連リソース

リファレンスファイル
  • references/alert-schemas.md - 12種類すべてのアラートタイプを網羅した完全なJSONスキーマリファレンスです。フィールド名、列挙値(条件タイプ、時間範囲、フィルター操作)、共通サブオブジェクト(ログフィルター、トレーシングフィルター、通知グループ、アクティビティスケジュール)、重要な注意点を記載しています
  • references/dataprime-reference.md - ログベースおよびスパンベースのアラート条件に関するDataPrimeクエリ言語のリファレンスです(フィルター構文、演算子、重大度の値)
  • references/logs-querying.md - ログアラート条件の構築に必要な、ログデータモデル、フィールドの特定方法、クエリパターンを記載しています
  • references/promql-guidelines.md - メトリクスベースのアラート条件に関するPromQLリファレンスです(カウンター、ゲージ、ヒストグラム、しきい値パターン)
  • references/spans-querying.md - トレーシングアラート条件の構築に必要な、スパンデータモデル、期間の単位、クエリパターンを記載しています
関連スキル
  • cx-cases - アラートイベントを調査案件にまとめるケースをトリアージします
  • cx-slos - エラーバジェットの消費によってアラートを発生させるSLO定義を扱います
  • cx-observability-setup - アラート用の通知ルーティングとWebhook連携を設定します
  • cx-telemetry-querying - 発火中のアラートの背後にあるテレメトリを調査します

コメント