cx-alerts について
cx-alerts は、`cx alerts` CLI で Coralogix のアラート定義と抑制ルールを管理するスキルです。優先度の選択や作成後の確認を含め、作成、調査、保守を支援します。
主な機能
- 01アラートの一覧表示、確認、作成、削除
- 02アラート定義の有効化と無効化
- 03アラートイベントと統計の取得
- 04アラート抑制ルールの管理
- 05JSON または TOON 形式で出力
- 06複数プロファイルを対象に実行
活用シーン
- 01ログ、メトリクス、トレースのアラート作成
- 02発報中アラートの検索と確認
- 03メンテナンス中のアラート抑制
- 04アラートイベント統計の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ coralogix/ cx-cli --skill cx-alertsインストール後、Claude Code で/cx-alertsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/alert-schemas.mddataprime-reference.mdlogs-querying.mdpromql-guidelines.mdspans-querying.md詳細
アラート管理スキル
このスキルでは、cx alerts CLI コマンドを使用して、Coralogix のアラート定義の一覧表示、確認、作成、削除、有効化、無効化を行います。
CLI コマンド
| コマンド | 用途 | 主なフラグ |
|---|---|---|
cx alerts list | すべてのアラート定義を一覧表示します | --name <filter> |
cx alerts get <id> | ID を指定して単一のアラート定義を取得します | - |
cx alerts create | JSON 定義からアラートを作成します | --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_IMMEDIATE | Logs Immediate | 条件に一致するログエントリごとにトリガーします |
ALERT_DEF_TYPE_LOGS_THRESHOLD | Logs Threshold | 一定の時間枠内でログ数がしきい値を超えたときにトリガーします |
ALERT_DEF_TYPE_LOGS_ANOMALY | Logs Anomaly | ログ量に対する ML ベースの異常検知です |
ALERT_DEF_TYPE_LOGS_RATIO_THRESHOLD | Logs Ratio Threshold | 2 つのログクエリ間の比率に基づいてトリガーします |
ALERT_DEF_TYPE_LOGS_NEW_VALUE | Logs New Value | フィールドに新しい値が現れたときにトリガーします |
ALERT_DEF_TYPE_LOGS_UNIQUE_COUNT | Logs Unique Count | 一意な値の数がしきい値に達したときにトリガーします |
ALERT_DEF_TYPE_LOGS_TIME_RELATIVE_THRESHOLD | Logs Time Relative | 現在の時間枠と過去の時間枠を比較します |
ALERT_DEF_TYPE_METRIC_THRESHOLD | Metric Threshold | PromQL 式がしきい値を超えたときにトリガーします |
ALERT_DEF_TYPE_METRIC_ANOMALY | Metric Anomaly | メトリクスに対する ML ベースの異常検知です |
ALERT_DEF_TYPE_TRACING_IMMEDIATE | Tracing Immediate | 条件に一致するスパンごとにトリガーします |
ALERT_DEF_TYPE_TRACING_THRESHOLD | Tracing Threshold | スパン数がしきい値を超えたときにトリガーします |
ALERT_DEF_TYPE_FLOW | Flow | 複数の条件を組み合わせたシーケンスベースのアラートです |
優先度レベル
アラートを作成する際は、必ずユーザーに優先度を確認してください。
| 優先度 | ユースケース |
|---|---|
| P1 | 重大 — オンコール担当者に直ちに通知します |
| P2 | 高 — 1 時間以内の対応が必要です |
| P3 | 中 — 営業時間中に調査します |
| P4 | 低 — 情報提供用で、都合のよいときに確認します |
| P5 | 情報 — ログ記録/追跡のみです |
作成ワークフロー
- 何をアラートの対象にするか(ログ、メトリクス、トレース)をユーザーに確認します
- 優先度(P1~P5)を確認します
alertDefPropertiesを含む JSON ペイロードを作成します。すべての enum 値については、API ワイヤー形式を使用してください(references/alert-schemas.mdを参照)- ヒント:
cx alerts get <existing-id> -o jsonを使って動作するテンプレートを取得し、変更してから create にパイプできます echo '<json>' | cx alerts createまたはcx alerts create --from-file alert.jsonで作成します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- 発火中のアラートの背後にあるテレメトリを調査します