🤖
ops-journal
Automates logging of deployments, incidents, changes, and decisions into a searchable ops journal with incident timelines and postmortem generation.
安全通过
⚙️脚本
技能说明
ops-journal — Automated Ops Logging & Incident Timeline for OpenClaw
Structured operational journal that captures deployments, incidents, changes, and decisions. Creates a searchable ops log with incident timeline reconstruction and automated postmortem generation.
Quick Start
# Initialize journal
python3 scripts/journal.py init
# Log an event
python3 scripts/journal.py log "Upgraded nginx to 1.25" --category deploy
python3 scripts/journal.py log "Disk cleanup, freed 5GB" --category maintenance --tags storage
# Start an incident
python3 scripts/journal.py incident open "API latency spike" --severity high
# Resolve an incident
python3 scripts/journal.py incident resolve INC-001 "Root cause: disk full on /var"
# Search logs
python3 scripts/journal.py search "nginx" --since 7d
python3 scripts/journal.py search --category incident --severity high
# Generate reports
python3 scripts/journal.py summary --period week
python3 scripts/journal.py timeline INC-001
# Export
python3 scripts/journal.py export --format markdown --since 30d
Entry Categories
| Category | Description | Auto-logged |
|---|---|---|
deploy | Deployments, upgrades, rollbacks | Via hooks |
incident | Incidents, outages, degradations | Via watchdog integration |
config | Configuration changes | Via hooks |
maintenance | Scheduled maintenance, cleanup | Manual or cron |
security | Security events, audits, patches | Via security skills |
note | General observations, decisions | Manual |
Severity Levels
info— Normal operations (default)warn— Something worth notinghigh— Important event requiring attentioncritical— Major incident or outage
Commands
log — Create a journal entry
python3 scripts/journal.py log "message" [--category CAT] [--severity SEV] [--tags tag1,tag2]
incident — Incident management
python3 scripts/journal.py incident open "description" [--severity SEV]
python3 scripts/journal.py incident resolve ID "resolution"
python3 scripts/journal.py incident list [--status open|resolved|all]
python3 scripts/journal.py incident show ID
search — Search journal entries
python3 scripts/journal.py search [query] [--category CAT] [--severity SEV] [--since Nd|Nw|Nm] [--limit N]
summary — Generate period summary
python3 scripts/journal.py summary [--period day|week|month] [--json]
timeline — Incident timeline
python3 scripts/journal.py timeline ID [--format markdown|json]
export — Export journal
python3 scripts/journal.py export [--format markdown|json|csv] [--since Nd] [--output file]
stats — Journal statistics
python3 scripts/journal.py stats [--period month]
Output Modes
- Human: Colored terminal output with category icons and severity highlighting
- JSON: Machine-readable output for integration (
--json) - Markdown: Report-ready markdown for sharing (
--format markdown) - CSV: Spreadsheet-compatible export (
--format csv)
Integration with infra-watchdog
When infra-watchdog detects an issue, ops-journal can auto-log it:
# In a cron or hook:
python3 scripts/journal.py log "Monitor CRITICAL: Gateway down" --category incident --severity critical
OpenClaw Cron Integration
# Daily summary at 09:00
python3 scripts/journal.py summary --period day --json
# Weekly digest on Monday
python3 scripts/journal.py summary --period week
Storage
All data stored in ~/.openclaw/workspace/ops-journal/:
journal.db— SQLite database with all entriesincidents/— Individual incident files (markdown)
Files
scripts/journal.py— Main journal engineSKILL.md— This file
如何使用「ops-journal」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「ops-journal」技能完成任务
- 结果即时呈现,支持继续对话优化