Monitor
Applicazioni self-hosted
Nextcloud, Immich, Paperless-ngx, Jellyfin, Plex, Home Assistant, GitLab e Forgejo.
Le descrizioni dei monitor e i testi delle regole di avviso sono in inglese, come nel prodotto. Le etichette della pagina seguono la tua lingua.
Maintenance mode left on, a database upgrade waiting, Nextcloud and app updates, active users, free space, PHP OPcache.
Esempi
- Nextcloud Server
- Nextcloud AIO
- Nextcloud Hub
Cosa serve
- Monitoring token (NC-Token)The serverinfo token set with occ. It opens Nextcloud's statistics and nothing else.
Porta predefinita: 443
Regole di avviso incluse 6
- AvvisoNextcloud stuck in maintenanceMaintenance mode is on: nobody can log in or sync.
- AllarmeNextcloud database upgrade pendingThe code was updated and Nextcloud waits for occ upgrade.
- InfoNextcloud update availableNextcloud's update check found a newer release.
- AvvisoNextcloud OPcache fullPHP's OPcache is out of room and pages get slow.
- AvvisoNextcloud free space lowLess than 5 GiB free for the data directory; clears above 6 GiB.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Create a monitoring token in Nextcloud
On the Nextcloud server, set a random token with occ as the web server user (in Docker: docker exec -u www-data, then the container name).
php occ config:app:set serverinfo token --value "$(openssl rand -hex 32)"
php occ config:app:get serverinfo token
If occ says serverinfo is disabled, enable the Monitoring app: profile menu → Apps → Monitoring → Enable.
In DumbMonit, enter the address you open Nextcloud with and paste the token.
Attenzione. Use an address listed in Nextcloud's trusted domains, or Nextcloud refuses the request.
Documentazione
Job queues that stall or sit paused, updates, disk space, photo and video counts, each device's last connection and last backup.
Esempi
Cosa serve
- API keyAn Immich API key limited to the read permissions of the setup guide.
Porta predefinita: 2283
Regole di avviso incluse 5
- AvvisoImmich jobs stalledJobs wait in a queue that is not paused and runs nothing (dumbmonit_immich_queue_waiting > 0 and on (target, queue) dumbmonit_immich_queue_active == 0 unless on (target, queue) dumbmonit_immich_queue_paused == 1). The notification names the queue.
- InfoImmich queue pausedA job queue has been paused for a day.
- AvvisoImmich storage almost fullThe disk holding the library is more than 90 % full; clears below 88 %.
- InfoImmich update availableImmich's version check knows a newer release.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Create a read-only API key in Immich
In Immich, open Account Settings → API Keys → New API Key and name it as follows.
dumbmonit
Tick the permissions listed below, create the key and copy it: Immich shows it only once.
In DumbMonit, enter Immich's address and paste the key.
Attenzione. Create the key from an account that can open Administration, or photo counts and job queues are skipped; "last backup" is the whole library's latest upload, the same for every device.
Documentazione
Redis, Celery, search index and classifier health, failed imports, updates, disk space, document count.
Esempi
Cosa serve
- API token (recommended)The token of the dedicated dumbmonit user, sent as "Authorization: Token …".
- User name / passwordThe dedicated dumbmonit user itself, sent as HTTP basic authentication.
Porta predefinita: 8000
Regole di avviso incluse 7
- AllarmePaperless task queue downRedis or Celery in error (max by (target) (dumbmonit_paperless_component_status{component=~"redis\|celery"}): 2 is an error): nothing new is imported.
- AvvisoPaperless index or sanity check errorThe search index, the classifier or the sanity check (missing or altered files) reports an error.
- AvvisoPaperless migrations pendingDatabase migrations left to apply.
- AvvisoPaperless task failedA task this user can see failed within the failed task window and was not dismissed.
- AvvisoPaperless storage almost fullThe disk holding the documents is more than 90 % full; clears below 88 %.
- InfoPaperless update availablePaperless-ngx's version check knows a newer release.
Mostra altre 1
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Create a read-only user in Paperless-ngx
In Paperless-ngx, open Settings → Users & Groups → Add user and name it as follows, with a long random password.
dumbmonit
Leave Superuser and Staff off, and give it only the permissions listed below.
Log in as that user, open the user menu → My Profile and generate its API token (circular arrow button).
In DumbMonit, enter Paperless-ngx's address and paste the token.
Attenzione. When Redis or Celery stops, Paperless keeps serving its pages and documents, but nothing new is imported, from the consume folder or from mail, until someone looks. DumbMonit alerts on both.
Documentazione
Scheduled tasks that fail (library scans), a restart waiting, broken plugins, active streams and transcodes.
Esempi
Cosa serve
- API keyA key created in Jellyfin's dashboard, sent in the MediaBrowser authorization header.
Porta predefinita: 8096
Regole di avviso incluse 4
- AvvisoJellyfin scheduled task failedA scheduled task (a library scan, a cleanup) failed or was aborted on its last run.
- AvvisoJellyfin plugin brokenA plugin failed to load or does not support this version.
- InfoJellyfin restart pendingJellyfin has waited a day for a restart after a plugin install or update.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Create an API key in Jellyfin
In Jellyfin, open Dashboard → Advanced → API Keys → + and name the key as follows, then copy it.
DumbMonit
In DumbMonit, enter Jellyfin's address and paste the key.
Attenzione. Jellyfin keys cannot be limited, so this one has every right on the server: keep it to DumbMonit and revoke it on the same page if it leaks.
Documentazione
Active streams and transcodes, bandwidth, library scans, updates, read from the server itself.
Esempi
Cosa serve
- X-Plex-TokenNeeded by a server linked to a Plex account, unless this network is allowed without authentication.
Nessun account necessario.
Porta predefinita: 32400
Regole di avviso incluse 2
- InfoPlex update availablePlex's update check found a newer release.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Give DumbMonit access to the Plex server
In Plex Web, open Settings → Network and click Show Advanced.
Add the DumbMonit address to List of IP addresses and networks that are allowed without auth, then save.
10.0.0.20/32
In DumbMonit, enter the server's address and pick No token.
If DumbMonit is not on your network, use the owner's token instead: open a movie → ⋯ → Get Info → View XML and copy X-Plex-Token from the page address.
Attenzione. The token is your Plex account's and can manage the server and every library: prefer the allowed network when DumbMonit is on your own network.
Documentazione
Home Assistant
homeassistant
The smart home behind the dashboard: integrations whose entities went unavailable, low batteries, updates waiting and open repairs, plus the last connection of the companion app's phones and tablets.
Esempi
- Home Assistant OS
- Home Assistant Container
Cosa serve
- Long-lived access tokenCreated in the dedicated user's profile, under Security.
Porta predefinita: 8123
Regole di avviso incluse 7
- AllarmeHome Assistant in recovery modeHome Assistant started in recovery mode: its configuration could not be loaded and automations do not run.
- AvvisoHome Assistant not runningHome Assistant answers but has not finished starting for ten minutes.
- AvvisoHome Assistant entities went unavailableAt least five more entities are unavailable than an hour ago: an integration, a hub or a radio stopped (sum by (target) (dumbmonit_homeassistant_entities_unavailable) - sum by (target) (dumbmonit_homeassistant_entities_unavailable offset 1h)). The rise counts, not the total, which a real installation never has at zero.
- InfoHome Assistant battery lowA battery reported by Home Assistant is low.
- InfoHome Assistant update availableHome Assistant has updates waiting: core, operating system, add-ons or device firmware.
- AvvisoHome Assistant repair to addressHome Assistant has an open repair of error or critical severity.
Mostra altre 1
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Create a dedicated user and a long-lived token in Home Assistant
Open Settings → People → Users → Add user (turn on Advanced mode in your profile if the tab is missing), name the user as follows and give it a long random password.
dumbmonit
Log in as that user, open its profile (bottom of the sidebar) → Security → Long-lived access tokens → Create token, name it and copy it: it is shown only once.
In DumbMonit, enter the Home Assistant address (for example homeassistant.local, port 8123) and paste the token.
Attenzione. A long-lived token carries every right of its user and lasts ten years: create it for the dedicated user, never your own. Home Assistant serves plain HTTP unless TLS is configured: across an untrusted network, use HTTPS.
Documentazione
GitLab (self-managed)
gitlab
Readiness, Sidekiq backlog, CI runners online or not, pending migrations, instance statistics, sign-up and two-factor settings, licence expiry.
Esempi
- GitLab Community Edition
- GitLab Enterprise Edition
Cosa serve
- Personal access tokenAn administrator's personal access token, sent as PRIVATE-TOKEN. A token without admin rights still works, but only the version is read.
Porta predefinita: 443
Regole di avviso incluse 5
- AvvisoGitLab runners all offlineEvery CI/CD runner GitLab knows is offline, and at least one is registered (dumbmonit_gitlab_runners_online and on (target) dumbmonit_gitlab_runners_total > 0).
- AvvisoGitLab Sidekiq backlog highA Sidekiq queue has more than 500 jobs waiting (max by (target) (dumbmonit_gitlab_sidekiq_queue_backlog)): notifications, webhooks and imports fall behind.
- InfoGitLab migrations pendingDatabase migrations from an upgrade are left to apply.
- AvvisoGitLab license expiringThe Enterprise Edition licence expires in less than 30 days.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Create a read-only token in GitLab
On an administrator account, open avatar → Edit profile → Access → Personal access tokens → Generate token → Legacy token.
Name it as follows, set an expiry date you can renew, and tick only the scope listed below.
dumbmonit
Generate the token and copy it: GitLab shows it only once.
In DumbMonit, enter GitLab's address and paste the token.
To watch CI pipelines, list the numeric project IDs (shown on each project's page) in the Projects watched for CI health option.
Attenzione. GitLab has no read-only administrator role, so the token can read everything its account can: use a dedicated bot account, not your own.
Documentazione
Health check, repository, user and organisation counts, scheduled tasks running on time, Actions runners online or not.
Esempi
Cosa serve
- Access tokenA site administrator's access token, sent as "Authorization: token …". A token without admin rights still works, but only the version and the account's own repositories are read.
Porta predefinita: 3000
Regole di avviso incluse 3
- AvvisoForgejo/Gitea runners all offlineEvery Actions runner is offline, and at least one is registered (dumbmonit_forgejo_runners_online and on (target) dumbmonit_forgejo_runners_total > 0).
- AvvisoForgejo/Gitea scheduled task overdueA scheduled task (repository check, cleanup, update checker) did not run at its own interval.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Create an access token in Forgejo or Gitea
On a site administrator account, open avatar → Settings → Applications → Generate New Token.
Name it as follows and tick only the scopes listed below.
dumbmonit
Generate the token and copy it: Forgejo shows it only once.
In DumbMonit, enter the server's address and paste the token.
Attenzione. Forgejo and Gitea have no read-only administrator role, so the token can do whatever its account can: use a dedicated bot account, not your own.
Documentazione
Readiness and database health, version, realms (disabled ones), active sessions and users per realm.
Esempi
- Keycloak 25 and later
- Keycloak 24 and earlier
Cosa serve
- Client ID / secretA service-account client with read-only roles. DumbMonit asks for a token at each probe.
Nessun account necessario.
Porta predefinita: 8080
Regole di avviso incluse 3
- AllarmeKeycloak not readyKeycloak answers but its readiness check is DOWN, usually the database: nobody can log in.
- InfoKeycloak realm disabledA realm is disabled: its users cannot log in.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Let DumbMonit read Keycloak's health and realms
Run Keycloak with health checks on, with the option below. From Keycloak 25 they answer on the management port 9000.
KC_HEALTH_ENABLED=true
Optional, for realms, sessions and users: in the master realm, create a client named as follows, with Client authentication and Service accounts roles on, and Standard flow off.
dumbmonit
On that client's Service accounts roles tab, assign the client roles listed below, then copy the secret from its Credentials tab.
In DumbMonit, enter Keycloak's address and the client ID and secret, or choose None (health checks only).
Attenzione. Keycloak 24 and earlier serve the health checks on the main port: set the health port option to same. Health checks must be enabled on the server, or DumbMonit reports a missing /health/ready.
Documentazione
Readiness, workers, failed system tasks, outpost connections, version updates, users.
Esempi
Cosa serve
- API tokenThe key of an API token created for a service account, sent as "Authorization: Bearer …".
Porta predefinita: 9000
Regole di avviso incluse 6
- Allarmeauthentik not readyauthentik answers but its readiness check fails: database or cache down.
- Allarmeauthentik has no workerNo worker reports: synchronisation, e-mails and clean-up stop.
- Avvisoauthentik task failedA system task failed on its last run. The notification names the task.
- Avvisoauthentik outpost disconnectedAn outpost that serves providers has not reported for five minutes.
- Infoauthentik update availableA newer authentik release exists.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Create an API token in authentik
In authentik, open Directory → Users → Create a service account and name it as follows, without a random password.
dumbmonit
Put that user in a group that can open the authentik interface, so it can read the system pages.
Open Directory → Tokens and App passwords, create a token for that user with the intent API Token and no expiry, and copy its key.
In DumbMonit, enter authentik's address and paste the key.
Attenzione. authentik has no read-only role for its system pages: the token's user must be allowed into the interface, so keep the key only in DumbMonit. Pages the token cannot read are skipped, not failed.
Documentazione
Vaultwarden
Betavaultwarden
Liveness, version, open sign-ups, and with the admin token disabled-account and two-step login counts.
Esempi
Cosa serve
- Admin tokenThe plain ADMIN_TOKEN of the admin page. It opens a session whose cookie DumbMonit keeps between probes; only counters are read.
Nessun account necessario.
Porta predefinita: 443
Regole di avviso incluse 2
- InfoVaultwarden sign-ups openAnyone who can reach the vault can create an account.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Check Vaultwarden, and optionally read its admin page
Nothing to install: check from the DumbMonit host that Vaultwarden answers.
curl https://vault.example.com/alive
Optional, for account counts: enable the admin page with an ADMIN_TOKEN on the server, and keep the plain token you type on the /admin page.
In DumbMonit, enter Vaultwarden's address; paste the admin token, or choose No admin token for the public checks only.
Attenzione. The admin token opens Vaultwarden's admin page and can change every setting: store it only in DumbMonit, or leave it out if you do not need the counts. DumbMonit reads counters only, never a name, e-mail address or vault item.
Documentazione
UniFi Protect
Betaunifiprotect
Cameras offline or not recording, NVR disks and storage, recording switched off.
Esempi
- UNVR
- Dream Machine Pro
- Cloud Key Gen2+
Cosa serve
- Local user name / passwordA local UniFi OS user with the View Only role on Protect. Ubiquiti cloud accounts are refused.
Porta predefinita: 443
Regole di avviso incluse 5
- AvvisoProtect camera offlineA UniFi Protect camera is disconnected from its NVR. The notification names the camera.
- AvvisoProtect camera not recordingA camera is connected and set to record but does not.
- AllarmeProtect NVR disk unhealthyThe NVR reports a failing disk.
- AvvisoProtect recording disabledRecording is switched off on the NVR.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Create a local view-only user for Protect
In UniFi OS, open Admins & Users → Create New and create a local user named as follows, with no cloud account.
dumbmonit
Give it access to the Protect application only, with the View Only role, and none to Network or other applications.
In DumbMonit, enter the console's address and that user name and password.
Attenzione. Use a local account: UniFi OS refuses Ubiquiti cloud accounts here. The console's certificate is usually self-signed: turn on the certificate option.
Documentazione
Cameras that stopped delivering frames, detector speed and hangs, frame rates, recording storage, updates.
Esempi
Cosa serve
- Bearer tokenSent as "Authorization: Bearer …" on every request.
Nessun account necessario.
Porta predefinita: 5000
Regole di avviso incluse 5
- AvvisoFrigate camera offlineA camera delivers no frames to Frigate. The notification names the camera.
- AvvisoFrigate detector stuckA detector has been on the same inference for more than 30 seconds.
- AvvisoFrigate storage almost fullThe disk holding the recordings is more than 90 % full; clears below 88 %.
- InfoFrigate update availableA newer Frigate release exists.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Let DumbMonit read Frigate's statistics
Nothing to install: check from the DumbMonit host that Frigate's API answers on port 5000.
curl http://frigate.lan:5000/api/version
If a proxy in front of Frigate expects a token (port 8971 requires a login), choose Bearer token below; otherwise choose No authentication.
In DumbMonit, enter Frigate's address, for example "frigate.lan".
Attenzione. Port 5000 has no login and gives full control of Frigate: expose it only to DumbMonit, never to the internet. A camera you turned off in Frigate's settings also reads as offline.
Documentazione
Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.
Esempi
Cosa serve
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Porta predefinita: 8989
Regole di avviso incluse 5
- AvvisoSonarr health errorSonarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- AvvisoSonarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
- AvvisoSonarr disk almost fullA disk Sonarr reports is more than 90 % full; clears below 88 %.
- InfoSonarr update availableA newer Sonarr release exists.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Read the API key in Sonarr
In Sonarr, open Settings → General → Security and copy the API Key.
In DumbMonit, enter Sonarr's address and paste the key.
Attenzione. A Sonarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Documentazione
Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.
Esempi
Cosa serve
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Porta predefinita: 7878
Regole di avviso incluse 5
- AvvisoRadarr health errorRadarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- AvvisoRadarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
- AvvisoRadarr disk almost fullA disk Radarr reports is more than 90 % full; clears below 88 %.
- InfoRadarr update availableA newer Radarr release exists.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Read the API key in Radarr
In Radarr, open Settings → General → Security and copy the API Key.
In DumbMonit, enter Radarr's address and paste the key.
Attenzione. A Radarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Documentazione
Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.
Esempi
Cosa serve
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Porta predefinita: 8686
Regole di avviso incluse 5
- AvvisoLidarr health errorLidarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- AvvisoLidarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
- AvvisoLidarr disk almost fullA disk Lidarr reports is more than 90 % full; clears below 88 %.
- InfoLidarr update availableA newer Lidarr release exists.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Read the API key in Lidarr
In Lidarr, open Settings → General → Security and copy the API Key.
In DumbMonit, enter Lidarr's address and paste the key.
Attenzione. A Lidarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Documentazione
Health warnings, indexers disabled after failures, disk space, updates.
Esempi
Cosa serve
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Porta predefinita: 9696
Regole di avviso incluse 5
- AvvisoProwlarr health errorProwlarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- AvvisoProwlarr disk almost fullA disk Prowlarr reports is more than 90 % full; clears below 88 %.
- InfoProwlarr update availableA newer Prowlarr release exists.
- AvvisoProwlarr indexers disabledProwlarr disabled indexers after repeated failures: Sonarr, Radarr and Lidarr stop finding releases through them.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Read the API key in Prowlarr
In Prowlarr, open Settings → General → Security and copy the API Key.
In DumbMonit, enter Prowlarr's address and paste the key.
Attenzione. A Prowlarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Documentazione
qBittorrent
Betaqbittorrent
Torrents in error or stalled, lost connectivity, download and upload speed, free space, torrents by state.
Esempi
Cosa serve
- User name / passwordThe WebUI account. DumbMonit opens a session and reuses its cookie for the probe.
Nessun account necessario.
Porta predefinita: 8080
Regole di avviso incluse 4
- AvvisoqBittorrent torrents in errorTorrents are in error or have lost their files.
- AvvisoqBittorrent disconnectedqBittorrent is firewalled or disconnected: nothing is downloaded or seeded.
- AvvisoqBittorrent free space lowLess than 5 GiB free in the download folder; clears above 6 GiB.
- AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Give DumbMonit access to qBittorrent's WebUI
In qBittorrent, open Tools → Options → Web UI and tick Web User Interface (Remote control).
Under Authentication, set a user name and password named as follows, or allow DumbMonit's address in the whitelisted IP subnets bypass.
dumbmonit
In DumbMonit, enter qBittorrent's address and that user name and password, or choose No authentication for a bypassed address.
Attenzione. qBittorrent bans an address for an hour after five failed logins (HTTP 403): fix the password before the next probe, or the probe stays refused.
Documentazione