Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Logs

18.5. Logs — Watching and Analyzing System Logs

Periodic log checks, alert only on anomalies

hermes cron create "*/15 * * * *" \
  "Check ~/.hermes/logs/errors.log for new errors in the last 15 minutes. If there is a serious error, alert immediately with the relevant excerpt. If not, [SILENT]." \
  --no-agent --script check_errors.sh

Key log locations to know

When a job fails, error information is usually in two places: the chat channel where the job delivers its results (if delivery succeeded but the content is wrong), and ~/.hermes/logs/agent.log for scheduler messages (or errors.log for more detailed errors) — this is exactly the natural data source for a meta log-monitoring job, watching the health of the cron system itself.

Notes

  • For plain error logs (clear patterns, no reasoning needed), use --no-agent --script — grepping for known error patterns does not need an LLM to “read and understand”.
  • A log-monitoring job is a good early-detection tool when another cron job gets stuck in blocked_config — this state only sends the alert once (not repeated on every tick), so if you miss that notification, a periodic log-monitoring job helps catch the problem.
  • Do not let the log-monitoring job itself become a source of log noise — keep the alert threshold high enough (serious errors only) to avoid a loop of alerts about the monitoring itself.