Skip to main content
RunBook Academy

← All break/fix scenarios in OPNsense

intermediateServices~25 min

Break/Fix: Monit Stops Monitoring After Upgrade

Reported symptoms

  • Monit GUI shows no recent alerts and no current status
  • A process the rule was watching is down but no alert fires
  • System log shows Monit did not start, or restarted but never checks

Evidence

  • · service monit status reports "not running" or "configuration error"
  • · monit -t reports parse errors on /usr/local/etc/monit.d/<rule>.conf
  • · System log: "monit cannot parse configuration" or "monit daemon disabled"
Diagnosis and resolutionclick to reveal

Root cause

Monit's configuration schema or syntax changed in an upgrade, or a rule references a path/process that no longer exists. The daemon refuses to start, or it starts but skips broken rules silently.

Remediation

1. service monit status; systemctl-equivalent or /usr/local/etc/rc.d/monit status. 2. monit -t to validate the config syntax. 3. Inspect /usr/local/etc/monit.d/ for rules referencing missing services or paths. 4. Remove or fix the offending rule. 5. service monit restart and verify status.

Verification

Monit is running; GUI shows current status; the previously missed failure now triggers an alert.

Prevention

After every major upgrade, run monit -t before relying on monitoring. Treat Monit rules as code: version them, review them in changes, and remove rules for services you no longer run. Test alerts by stopping a watched service in a controlled window.

Scenario

You are operating an OPNsense edge with the Monit plugin enabled. The following symptoms appear:

  • Monit GUI shows no recent alerts and no current status
  • A process the rule was watching is down but no alert fires
  • System log shows Monit did not start, or restarted but never checks

Available evidence:

  • service monit status reports “not running” or “configuration error”
  • monit -t reports parse errors on /usr/local/etc/monit.d/<rule>.conf
  • System log: “monit cannot parse configuration” or “monit daemon disabled”

Your task

Determine the cause, recover, document, and validate.

Investigation

The investigation follows the discipline taught in Part XXXIV:

  1. Form hypothesis, find evidence, test, validate.
  2. Use the available evidence above to bound the search.
  3. Reach one of the likely root causes.

Recovery procedure

(Do not reveal until you have reasoned through the problem.)

  1. Identify the failing component.
  2. Apply the remediation pathway.
  3. Validate with the verification step.
  4. Document the incident.

Remediation

  1. service monit status. 2. monit -t to validate the config syntax. 3. Inspect /usr/local/etc/monit.d/ for rules referencing missing services or paths. 4. Remove or fix the offending rule. 5. service monit restart and verify status.

Verification

Monit is running; GUI shows current status; the previously missed failure now triggers an alert.

Rollback

Disable broken rules individually until monit -t passes; restart Monit.

Prevention

After every major upgrade, run monit -t before relying on monitoring. Treat Monit rules as code: version them, review them in changes, and remove rules for services you no longer run. Test alerts by stopping a watched service in a controlled window.