Watchdog: Check Types
All 15 built-in Watchdog check types with runner assignment, status logic and links to each type's reference, plus how to add a check.
Watchdog: Check Types
Watchdog ships 15 built-in check types. Each type defines where it may run.
| Mode | Where the check runs |
|---|---|
| Dashboard | Only in the dashboard's worker container. The type needs a URL from the client record |
| Agent | Only on an agent. The type needs direct access to the machine |
| Dashboard or Agent | Network-level check that can run from either side |
Built-in checks
| Check | Type identifier | Runner | Tests |
|---|---|---|---|
| HTTP Reachability | http |
Dashboard | Whether a URL returns an expected status code |
| HTTP Content | http_content |
Dashboard | Whether the response body contains or lacks given strings |
| SSL Certificate | ssl_cert |
Dashboard | Remaining validity of the TLS certificates of several hosts |
| DNS | dns |
Dashboard or Agent | Whether a host name resolves, optionally to an expected IP |
| TCP Port | tcp_port |
Dashboard or Agent | Whether a TCP port accepts connections |
| Redis | redis |
Dashboard or Agent | PING to a Redis server and a PONG reply |
| Database | database |
Dashboard or Agent | Whether a PDO connection can be established |
| Docker Container Health | docker |
Dashboard or Agent | Running and health state of a container |
| Docker Exec | docker_exec |
Dashboard or Agent | Exit code of a command inside a container |
| Disk Space | disk_space |
Agent | Usage of a mount point in percent |
| Load Average | load_average |
Agent | System load relative to the CPU count |
| Process Running | process |
Agent | Whether a process is running |
| Log File | log_file |
Agent | Freshness of a log file and a pattern inside it |
| File Age | file_age |
Agent | How long a file has gone unmodified |
| File Size | file_size |
Agent | Whether a file's size is within the allowed range |
Adding a check
- Open the client and click + Add check.
- Pick the Check type. The form shows the type's fields.
- Pick the Runner. Types that allow only one side set the runner themselves. For runner Agent you also pick the Agent.
- Set interval or daily time and the retention, see Configuration.
- Save. Dashboard checks run on the next one-minute tick of the scheduler container, agent checks on the agent's next tick.
Use Run now to start a check immediately.
Common rules
- Defaults: Fields you leave empty are replaced by the type's defaults when the check runs. If you leave all fields empty, the type's defaults are stored.
- Status
UNKNOWN: A check returnsUNKNOWNwhen it cannot run meaningfully, for example with missing configuration or a missing Docker socket. This does not trigger a failure email. - Status
WARNandFAIL: Both trigger a failure email on the change fromOKorUNKNOWN, see Notifications. - Response time: In dashboard mode only HTTP Reachability and HTTP Content record a response time. For agent checks the agent measures the duration of each run and reports it as the response time.
- Timeouts: Several types have a
Timeout (seconds)field. TCP and Redis clamp the value to 1 to 60 seconds, Database to 1 to 30 seconds.
Custom checks
The check system is extensible. A PHP class implementing CheckInterface and tagged watchdog.check appears in the selection automatically. See Writing Custom Checks.