Monitores
Aplicações self-hosted
Nextcloud, Immich, Paperless-ngx, Jellyfin, Plex, Home Assistant, GitLab e Forgejo.
As descrições dos monitores e os textos das regras de alerta estão em inglês, como no produto. As etiquetas da página seguem o seu idioma.
Maintenance mode left on, a database upgrade waiting, Nextcloud and app updates, active users, free space, PHP OPcache.
Exemplos
- Nextcloud Server
- Nextcloud AIO
- Nextcloud Hub
O que você precisa
- Monitoring token (NC-Token)The serverinfo token set with occ. It opens Nextcloud's statistics and nothing else.
Porta padrão: 443
Regras de alerta incluídas 6
- AvisoNextcloud stuck in maintenanceMaintenance mode is on: nobody can log in or sync.
- AlertaNextcloud database upgrade pendingThe code was updated and Nextcloud waits for occ upgrade.
- InfoNextcloud update availableNextcloud's update check found a newer release.
- AvisoNextcloud OPcache fullPHP's OPcache is out of room and pages get slow.
- AvisoNextcloud free space lowLess than 5 GiB free for the data directory; clears above 6 GiB.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. Use an address listed in Nextcloud's trusted domains, or Nextcloud refuses the request.
Documentação
Job queues that stall or sit paused, updates, disk space, photo and video counts, each device's last connection and last backup.
Exemplos
O que você precisa
- API keyAn Immich API key limited to the read permissions of the setup guide.
Porta padrão: 2283
Regras de alerta incluídas 5
- AvisoImmich 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.
- AvisoImmich 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.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. 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.
Documentação
Redis, Celery, search index and classifier health, failed imports, updates, disk space, document count.
Exemplos
O que você precisa
- 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 padrão: 8000
Regras de alerta incluídas 7
- AlertaPaperless 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.
- AvisoPaperless index or sanity check errorThe search index, the classifier or the sanity check (missing or altered files) reports an error.
- AvisoPaperless migrations pendingDatabase migrations left to apply.
- AvisoPaperless task failedA task this user can see failed within the failed task window and was not dismissed.
- AvisoPaperless 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.
Mostrar mais 1
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. 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.
Documentação
Scheduled tasks that fail (library scans), a restart waiting, broken plugins, active streams and transcodes.
Exemplos
O que você precisa
- API keyA key created in Jellyfin's dashboard, sent in the MediaBrowser authorization header.
Porta padrão: 8096
Regras de alerta incluídas 4
- AvisoJellyfin scheduled task failedA scheduled task (a library scan, a cleanup) failed or was aborted on its last run.
- AvisoJellyfin 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.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. 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.
Documentação
Active streams and transcodes, bandwidth, library scans, updates, read from the server itself.
Exemplos
O que você precisa
- X-Plex-TokenNeeded by a server linked to a Plex account, unless this network is allowed without authentication.
Não é preciso nenhuma conta.
Porta padrão: 32400
Regras de alerta incluídas 2
- InfoPlex update availablePlex's update check found a newer release.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. 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.
Documentação
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.
Exemplos
- Home Assistant OS
- Home Assistant Container
O que você precisa
- Long-lived access tokenCreated in the dedicated user's profile, under Security.
Porta padrão: 8123
Regras de alerta incluídas 7
- AlertaHome Assistant in recovery modeHome Assistant started in recovery mode: its configuration could not be loaded and automations do not run.
- AvisoHome Assistant not runningHome Assistant answers but has not finished starting for ten minutes.
- AvisoHome 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.
- AvisoHome Assistant repair to addressHome Assistant has an open repair of error or critical severity.
Mostrar mais 1
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. 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.
Documentação
GitLab (self-managed)
gitlab
Readiness, Sidekiq backlog, CI runners online or not, pending migrations, instance statistics, sign-up and two-factor settings, licence expiry.
Exemplos
- GitLab Community Edition
- GitLab Enterprise Edition
O que você precisa
- 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 padrão: 443
Regras de alerta incluídas 5
- AvisoGitLab 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).
- AvisoGitLab 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.
- AvisoGitLab license expiringThe Enterprise Edition licence expires in less than 30 days.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. GitLab has no read-only administrator role, so the token can read everything its account can: use a dedicated bot account, not your own.
Documentação
Health check, repository, user and organisation counts, scheduled tasks running on time, Actions runners online or not.
Exemplos
O que você precisa
- 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 padrão: 3000
Regras de alerta incluídas 3
- AvisoForgejo/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).
- AvisoForgejo/Gitea scheduled task overdueA scheduled task (repository check, cleanup, update checker) did not run at its own interval.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. 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.
Documentação
Readiness and database health, version, realms (disabled ones), active sessions and users per realm.
Exemplos
- Keycloak 25 and later
- Keycloak 24 and earlier
O que você precisa
- Client ID / secretA service-account client with read-only roles. DumbMonit asks for a token at each probe.
Não é preciso nenhuma conta.
Porta padrão: 8080
Regras de alerta incluídas 3
- AlertaKeycloak 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.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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).
Atenção. 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.
Documentação
Readiness, workers, failed system tasks, outpost connections, version updates, users.
Exemplos
O que você precisa
- API tokenThe key of an API token created for a service account, sent as "Authorization: Bearer …".
Porta padrão: 9000
Regras de alerta incluídas 6
- Alertaauthentik not readyauthentik answers but its readiness check fails: database or cache down.
- Alertaauthentik has no workerNo worker reports: synchronisation, e-mails and clean-up stop.
- Avisoauthentik task failedA system task failed on its last run. The notification names the task.
- Avisoauthentik outpost disconnectedAn outpost that serves providers has not reported for five minutes.
- Infoauthentik update availableA newer authentik release exists.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. 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.
Documentação
Vaultwarden
Betavaultwarden
Liveness, version, open sign-ups, and with the admin token disabled-account and two-step login counts.
Exemplos
O que você precisa
- Admin tokenThe plain ADMIN_TOKEN of the admin page. It opens a session whose cookie DumbMonit keeps between probes; only counters are read.
Não é preciso nenhuma conta.
Porta padrão: 443
Regras de alerta incluídas 2
- InfoVaultwarden sign-ups openAnyone who can reach the vault can create an account.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. 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.
Documentação
UniFi Protect
Betaunifiprotect
Cameras offline or not recording, NVR disks and storage, recording switched off.
Exemplos
- UNVR
- Dream Machine Pro
- Cloud Key Gen2+
O que você precisa
- Local user name / passwordA local UniFi OS user with the View Only role on Protect. Ubiquiti cloud accounts are refused.
Porta padrão: 443
Regras de alerta incluídas 5
- AvisoProtect camera offlineA UniFi Protect camera is disconnected from its NVR. The notification names the camera.
- AvisoProtect camera not recordingA camera is connected and set to record but does not.
- AlertaProtect NVR disk unhealthyThe NVR reports a failing disk.
- AvisoProtect recording disabledRecording is switched off on the NVR.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. Use a local account: UniFi OS refuses Ubiquiti cloud accounts here. The console's certificate is usually self-signed: turn on the certificate option.
Documentação
Cameras that stopped delivering frames, detector speed and hangs, frame rates, recording storage, updates.
Exemplos
O que você precisa
- Bearer tokenSent as "Authorization: Bearer …" on every request.
Não é preciso nenhuma conta.
Porta padrão: 5000
Regras de alerta incluídas 5
- AvisoFrigate camera offlineA camera delivers no frames to Frigate. The notification names the camera.
- AvisoFrigate detector stuckA detector has been on the same inference for more than 30 seconds.
- AvisoFrigate storage almost fullThe disk holding the recordings is more than 90 % full; clears below 88 %.
- InfoFrigate update availableA newer Frigate release exists.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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".
Atenção. 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.
Documentação
Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.
Exemplos
O que você precisa
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Porta padrão: 8989
Regras de alerta incluídas 5
- AvisoSonarr health errorSonarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- AvisoSonarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
- AvisoSonarr disk almost fullA disk Sonarr reports is more than 90 % full; clears below 88 %.
- InfoSonarr update availableA newer Sonarr release exists.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. A Sonarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Documentação
Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.
Exemplos
O que você precisa
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Porta padrão: 7878
Regras de alerta incluídas 5
- AvisoRadarr health errorRadarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- AvisoRadarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
- AvisoRadarr disk almost fullA disk Radarr reports is more than 90 % full; clears below 88 %.
- InfoRadarr update availableA newer Radarr release exists.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. A Radarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Documentação
Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.
Exemplos
O que você precisa
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Porta padrão: 8686
Regras de alerta incluídas 5
- AvisoLidarr health errorLidarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- AvisoLidarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
- AvisoLidarr disk almost fullA disk Lidarr reports is more than 90 % full; clears below 88 %.
- InfoLidarr update availableA newer Lidarr release exists.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. A Lidarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Documentação
Health warnings, indexers disabled after failures, disk space, updates.
Exemplos
O que você precisa
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Porta padrão: 9696
Regras de alerta incluídas 5
- AvisoProwlarr health errorProwlarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- AvisoProwlarr disk almost fullA disk Prowlarr reports is more than 90 % full; clears below 88 %.
- InfoProwlarr update availableA newer Prowlarr release exists.
- AvisoProwlarr indexers disabledProwlarr disabled indexers after repeated failures: Sonarr, Radarr and Lidarr stop finding releases through them.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. A Prowlarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Documentação
qBittorrent
Betaqbittorrent
Torrents in error or stalled, lost connectivity, download and upload speed, free space, torrents by state.
Exemplos
O que você precisa
- User name / passwordThe WebUI account. DumbMonit opens a session and reuses its cookie for the probe.
Não é preciso nenhuma conta.
Porta padrão: 8080
Regras de alerta incluídas 4
- AvisoqBittorrent torrents in errorTorrents are in error or have lost their files.
- AvisoqBittorrent disconnectedqBittorrent is firewalled or disconnected: nothing is downloaded or seeded.
- AvisoqBittorrent free space lowLess than 5 GiB free in the download folder; clears above 6 GiB.
- AlertaMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Etapas de configuração: 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.
Atenção. 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.
Documentação