axiom-alerting
Create and manage Axiom monitors and notifiers via the v2 public API. Use when building alerting, routing notifications, validating monitor behavior, and maintaining alert configurations end-to-end.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o axiom-alerting.zip https://jpskill.com/download/23393.zip && unzip -o axiom-alerting.zip && rm axiom-alerting.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/23393.zip -OutFile "$d\axiom-alerting.zip"; Expand-Archive "$d\axiom-alerting.zip" -DestinationPath $d -Force; ri "$d\axiom-alerting.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
axiom-alerting.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
axiom-alertingフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 15
📖 Claude が読む原文 SKILL.md(中身を展開)
この本文は AI(Claude)が読むための原文(英語または中国語)です。日本語訳は順次追加中。
Axiom Alerting
You manage alerting in Axiom end-to-end: notifiers for routing and monitors for detection.
API Overview
Base URL: https://api.axiom.co/v2/ with Bearer token auth from .axiom.toml (project root or ~/.axiom.toml).
Monitors (/v2/monitors)
| Operation | Method | Path |
|---|---|---|
| List | GET | /v2/monitors |
| Get | GET | /v2/monitors/{id} |
| History | GET | /v2/monitors/{id}/history |
| Create | POST | /v2/monitors |
| Update | PUT | /v2/monitors/{id} |
| Delete | DELETE | /v2/monitors/{id} |
Notifiers (/v2/notifiers)
| Operation | Method | Path |
|---|---|---|
| List | GET | /v2/notifiers |
| Get | GET | /v2/notifiers/{id} |
| Create | POST | /v2/notifiers |
| Update | PUT | /v2/notifiers/{id} |
| Delete | DELETE | /v2/notifiers/{id} |
Prerequisites
- Run
scripts/setup - Ensure
.axiom.tomlhas a deployment:
[deployments.prod]
url = "https://api.axiom.co"
token = "xaat-your-token"
org_id = "your-org-id"
Scripts
Core:
scripts/axiom-api <deploy> <method> <path> [body]
Monitor scripts:
scripts/monitor-list <deployment> [--json]scripts/monitor-get <deployment> <id>scripts/monitor-history <deployment> <id> <startTime> <endTime>scripts/monitor-create <deployment> <json-file>scripts/monitor-update <deployment> <id> <json-file>scripts/monitor-delete <deployment> <id>
Notifier scripts:
scripts/notifier-list <deployment> [--json]scripts/notifier-get <deployment> <id>scripts/notifier-create <deployment> <json-file>scripts/notifier-update <deployment> <id> <json-file>scripts/notifier-delete <deployment> <id>
Recommended Workflow
- Create notifier first.
- Create monitor and set
notifierIds. - Validate monitor behavior with
monitor-history. - Iterate monitor thresholds and schedule.
Workflow: End-To-End Alerting
- Run
scripts/setup. - List existing notifiers with
scripts/notifier-list <deployment>and reuse one if appropriate. - If no suitable notifier exists, create one with
scripts/notifier-create. - Create or update the monitor with
notifierIdsattached. - Validate with
scripts/monitor-history <deployment> <id> <startTime> <endTime>. - If behavior is noisy or silent, tune
threshold,rangeMinutes,intervalMinutes, and N-of-M trigger fields. - Re-check history after each change.
Best Practices
- Configure one channel per notifier.
- Use
emails(notrecipients) for email notifier payloads. - Prefer
triggerAfterNPositiveResults/triggerFromNRunsfor noisy signals. - Use explicit
bin()in monitor queries; avoidbin_auto()for alert logic. - For metrics-backed monitors, prefer
mplQueryfor definitions; API responses may include bothaplQueryandmplQuery.
Monitor Types And Operators
Monitor types:
ThresholdMatchEventAnomalyDetection
Operators:
AboveBelowAboveOrEqualBelowOrEqualAboveOrBelow
Monitor Field Reference
Core fields:
name: Human-readable monitor name.type:Threshold,MatchEvent, orAnomalyDetection.aplQuery/mplQuery: Query evaluated by the monitor.notifierIds: Array of notifier IDs to notify.disabled: Whether monitor is disabled.disabledUntil: Optional timestamp for temporary disable/snooze.description: Optional monitor description.
Threshold and evaluation fields:
operator: Threshold comparison operator.threshold: Numeric threshold value.rangeMinutes: Query evaluation window in minutes.intervalMinutes: Evaluation cadence in minutes.alertOnNoData: Whether no-data should trigger alerting.triggerAfterNPositiveResults: Positive evaluations required before firing.triggerFromNRuns: Total evaluation runs considered for N-of-M logic.
Advanced behavior fields:
resolvable: Whether alerts can resolve automatically.notifyByGroup: Notify per group key/value result.notifyEveryRun: Notify on every positive evaluation.skipResolved: Skip sending resolved notifications.secondDelay: Delay (seconds) to tolerate late-arriving data.
Type-specific fields:
columnName: Field used by some anomaly/value-anomaly monitors.
Minimal Valid Monitor Examples
Threshold:
{
"name": "High Error Count",
"type": "Threshold",
"aplQuery": "['logs'] | where status >= 500 | summarize count()",
"operator": "Above",
"threshold": 100,
"rangeMinutes": 5,
"intervalMinutes": 5,
"notifierIds": ["notifier-id"],
"triggerAfterNPositiveResults": 2,
"triggerFromNRuns": 3,
"disabled": false
}
MatchEvent:
{
"name": "Error Event Match",
"type": "MatchEvent",
"aplQuery": "['logs'] | where level == 'error'",
"rangeMinutes": 5,
"intervalMinutes": 5,
"notifierIds": ["notifier-id"],
"disabled": false
}
AnomalyDetection:
{
"name": "CPU Anomaly",
"type": "AnomalyDetection",
"aplQuery": "['metrics'] | summarize avg(cpu_usage)",
"columnName": "cpu_usage",
"operator": "AboveOrBelow",
"rangeMinutes": 5,
"intervalMinutes": 5,
"notifierIds": ["notifier-id"],
"disabled": false
}
Minimal Valid Notifier Examples
Email:
{
"name": "Oncall Email",
"properties": {
"email": {
"emails": ["oncall@example.com"]
}
}
}
Slack:
{
"name": "Oncall Slack",
"properties": {
"slack": {
"slackUrl": "https://hooks.slack.com/services/T.../B.../XXX"
}
}
}
Custom webhook:
{
"name": "Oncall Custom Webhook",
"properties": {
"customWebhook": {
"url": "https://api.example.com/alerts",
"body": "{\"action\":\"{{.Action}}\",\"monitorID\":\"{{.MonitorID}}\"}"
}
}
}
Troubleshooting
401 Unauthorized:
- Cause: invalid or expired token.
- Fix:
- Verify token in
~/.axiom.toml. - Re-run
scripts/setupand retry:scripts/notifier-list <deployment>
- Verify token in
403 Forbidden:
- Cause: token lacks required permissions.
- Fix:
- Create/assign token scopes for monitor/notifier management and dataset query access.
- Retry:
scripts/monitor-list <deployment>
404 Not Found on get/update/delete:
- Cause: wrong monitor/notifier ID or wrong deployment/org.
- Fix:
- Confirm deployment in
.axiom.toml. - Re-list objects and use exact IDs:
scripts/monitor-list <deployment> --jsonscripts/notifier-list <deployment> --json
- Confirm deployment in
400 Bad Request on notifier create/update:
- Cause: invalid notifier payload shape.
- Fix:
- Use one notifier channel inside
properties. - For email, use
emails(notrecipients). - Validate against a known-good example and retry:
scripts/notifier-create <deployment> <json-file>
- Use one notifier channel inside
400 Bad Request on monitor create/update:
- Cause: invalid monitor schema, operator/type mismatch, or invalid query fields.
- Fix:
- Validate required fields:
name,type, query field, schedule, andnotifierIds. - Confirm
operatormatches monitor type and threshold logic. - Retry:
scripts/monitor-create <deployment> <json-file>scripts/monitor-update <deployment> <id> <json-file>
- Validate required fields:
Monitor created but never alerts:
- Cause: threshold too strict, wrong query window, or not enough positive runs.
- Fix:
- Inspect history over a known active period:
scripts/monitor-history <deployment> <id> <startTime> <endTime>
- Reduce threshold or widen
rangeMinutes. - Tune
triggerAfterNPositiveResults/triggerFromNRuns.
- Inspect history over a known active period:
Too many alerts (noisy monitor):
- Cause: threshold too low or interval too short.
- Fix:
- Increase threshold.
- Increase
triggerAfterNPositiveResultsand/ortriggerFromNRuns. - Increase
intervalMinutesor narrow match conditions.
Notifier exists but no delivery:
- Cause: destination config invalid (URL/key/channel/email list), or destination-side rejection.
- Fix:
- Fetch notifier and verify destination fields:
scripts/notifier-get <deployment> <id>
- Recreate/update notifier with corrected properties:
scripts/notifier-update <deployment> <id> <json-file>
- Confirm monitor references correct notifier IDs.
- Fetch notifier and verify destination fields:
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (8,428 bytes)
- 📎 README.md (1,976 bytes)
- 📎 scripts/axiom-api (1,417 bytes)
- 📎 scripts/monitor-create (334 bytes)
- 📎 scripts/monitor-delete (438 bytes)
- 📎 scripts/monitor-get (293 bytes)
- 📎 scripts/monitor-history (536 bytes)
- 📎 scripts/monitor-list (440 bytes)
- 📎 scripts/monitor-update (366 bytes)
- 📎 scripts/notifier-create (336 bytes)
- 📎 scripts/notifier-delete (441 bytes)
- 📎 scripts/notifier-get (295 bytes)
- 📎 scripts/notifier-list (434 bytes)
- 📎 scripts/notifier-update (368 bytes)
- 📎 scripts/setup (1,584 bytes)