Promethist Watchdog

Reporting status to a monitoring server

If a customer watches their kiosks from their own monitoring dashboard, Watchdog can report in: every five minutes it sends one short message per program saying whether it is running. It is off by default and sends nothing until you switch it on.

Setting it up

In Settings → Status reports:

  1. Tick Send status reports to a monitoring server.

  2. Server address and API key — both come from whoever runs the monitoring.

  3. This installation — the name the monitoring knows this kiosk by.

  4. Click Send test report. It sends one message and shows what the server answered.

The key is kept in the Windows Credential Manager, not in the configuration file, so it is not included when you export the configuration. Enter it again on each PC.

What gets reported

Each round sends one message for each of:

  • Watchdog itself — always 1.

  • Every app in Watchdog’s list. To report only some, type their names under Advanced → Only these apps. A web-address check (Watching a server by its web address) counts as running while its address answers.

  • Windows services you add under Advanced → Also these Windows services — for programs Windows runs as a service rather than Watchdog, such as AnyDesk. Type the name exactly as the Services window shows it.

1 means running right now. Anything else is 0: stopped, restarting after a crash, given up on, or a service that is not installed.

The message format

The receiving server decides what each message looks like. Edit it under Advanced → Report format. It is JSON, and these placeholders are filled in per message:

{name} what the message is about · {status} 1 or 0 · {state} the detail (running, backoff, down, not_installed, …​) · {kind} app, url, service or watchdog · {service} this installation · {host} the PC’s name · {local_time} · {utc_time} · {version}

For a server that expects Azure Monitor alerts, click Azure Monitor format, then change alertRule to the name the server expects.

Checking it works

wdog heartbeat              what is being reported, and how the last round went
wdog heartbeat --dry-run    show the messages without sending them
wdog heartbeat --test       send one round now and show each answer

Both --dry-run and --test work before the feature is switched on. Watchdog’s log records when reports start failing and when they recover.