A Grafana dashboard for iPX
Built on what the monitoring project already collects: the container's log in Loki (through Alloy) and the traces in Tempo. It parses the access log and the event log's wire JSON, so there are no metrics to add to ipx: what is waiting and downloaded (from the healthcheck's status), new items, downloads and bytes, failing feeds and downloads, requests by status and response time, the slowest and busiest paths, recent and slow traces, and the log. Provisioned from a file, so it is regenerated here, not edited in Grafana. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -170,6 +170,9 @@ Non-trivial logic leaves one runnable check behind. Pure functions (`merge_polic
|
||||
watch the shutdown channel itself; the daemon ignored SIGTERM for exactly this reason.
|
||||
* Only one daemon per socket. Removing the socket file defeats the guard and you get two daemons
|
||||
fighting over the database, with the stale one still holding the port.
|
||||
* **The Grafana dashboard parses the log** (`grafana/dashboard.py`): the access log's
|
||||
`GET /path -> 200 in 3ms` and the events' `ipx::io: <- {json}`. Change either and the panels go
|
||||
blank without an error; regenerate the dashboard with the new pattern.
|
||||
* `/api/settings` answering `200` does **not** mean the daemon is well — the web server is a
|
||||
different task. `ipx status` checks the control socket and the database; to see the worker
|
||||
getting through its jobs, watch for `scan complete` in the log.
|
||||
|
||||
Reference in New Issue
Block a user