Мониторы
Приложения для самостоятельного хостинга
Nextcloud, Immich, Paperless-ngx, Jellyfin, Plex, Home Assistant, GitLab и Forgejo.
Описания мониторов и тексты правил оповещений на английском, как в самом продукте. Подписи на странице соответствуют вашему языку.
Maintenance mode left on, a database upgrade waiting, Nextcloud and app updates, active users, free space, PHP OPcache.
Примеры
- Nextcloud Server
- Nextcloud AIO
- Nextcloud Hub
Что понадобится
- Monitoring token (NC-Token)The serverinfo token set with occ. It opens Nextcloud's statistics and nothing else.
Порт по умолчанию: 443
Встроенные правила оповещений 6
- ПредупреждениеNextcloud stuck in maintenanceMaintenance mode is on: nobody can log in or sync.
- ТревогаNextcloud database upgrade pendingThe code was updated and Nextcloud waits for occ upgrade.
- ИнфоNextcloud update availableNextcloud's update check found a newer release.
- ПредупреждениеNextcloud OPcache fullPHP's OPcache is out of room and pages get slow.
- ПредупреждениеNextcloud free space lowLess than 5 GiB free for the data directory; clears above 6 GiB.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. Use an address listed in Nextcloud's trusted domains, or Nextcloud refuses the request.
Документация
Job queues that stall or sit paused, updates, disk space, photo and video counts, each device's last connection and last backup.
Примеры
Что понадобится
- API keyAn Immich API key limited to the read permissions of the setup guide.
Порт по умолчанию: 2283
Встроенные правила оповещений 5
- ПредупреждениеImmich 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.
- ИнфоImmich queue pausedA job queue has been paused for a day.
- ПредупреждениеImmich storage almost fullThe disk holding the library is more than 90 % full; clears below 88 %.
- ИнфоImmich update availableImmich's version check knows a newer release.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. 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.
Документация
Redis, Celery, search index and classifier health, failed imports, updates, disk space, document count.
Примеры
Что понадобится
- 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.
Порт по умолчанию: 8000
Встроенные правила оповещений 7
- ТревогаPaperless 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.
- ПредупреждениеPaperless index or sanity check errorThe search index, the classifier or the sanity check (missing or altered files) reports an error.
- ПредупреждениеPaperless migrations pendingDatabase migrations left to apply.
- ПредупреждениеPaperless task failedA task this user can see failed within the failed task window and was not dismissed.
- ПредупреждениеPaperless storage almost fullThe disk holding the documents is more than 90 % full; clears below 88 %.
- ИнфоPaperless update availablePaperless-ngx's version check knows a newer release.
Показать ещё 1
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. 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.
Документация
Scheduled tasks that fail (library scans), a restart waiting, broken plugins, active streams and transcodes.
Примеры
Что понадобится
- API keyA key created in Jellyfin's dashboard, sent in the MediaBrowser authorization header.
Порт по умолчанию: 8096
Встроенные правила оповещений 4
- ПредупреждениеJellyfin scheduled task failedA scheduled task (a library scan, a cleanup) failed or was aborted on its last run.
- ПредупреждениеJellyfin plugin brokenA plugin failed to load or does not support this version.
- ИнфоJellyfin restart pendingJellyfin has waited a day for a restart after a plugin install or update.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. 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.
Документация
Active streams and transcodes, bandwidth, library scans, updates, read from the server itself.
Примеры
Что понадобится
- X-Plex-TokenNeeded by a server linked to a Plex account, unless this network is allowed without authentication.
Учётная запись не нужна.
Порт по умолчанию: 32400
Встроенные правила оповещений 2
- ИнфоPlex update availablePlex's update check found a newer release.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. 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.
Документация
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.
Примеры
- Home Assistant OS
- Home Assistant Container
Что понадобится
- Long-lived access tokenCreated in the dedicated user's profile, under Security.
Порт по умолчанию: 8123
Встроенные правила оповещений 7
- ТревогаHome Assistant in recovery modeHome Assistant started in recovery mode: its configuration could not be loaded and automations do not run.
- ПредупреждениеHome Assistant not runningHome Assistant answers but has not finished starting for ten minutes.
- ПредупреждениеHome 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.
- ИнфоHome Assistant battery lowA battery reported by Home Assistant is low.
- ИнфоHome Assistant update availableHome Assistant has updates waiting: core, operating system, add-ons or device firmware.
- ПредупреждениеHome Assistant repair to addressHome Assistant has an open repair of error or critical severity.
Показать ещё 1
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. 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.
Документация
GitLab (self-managed)
gitlab
Readiness, Sidekiq backlog, CI runners online or not, pending migrations, instance statistics, sign-up and two-factor settings, licence expiry.
Примеры
- GitLab Community Edition
- GitLab Enterprise Edition
Что понадобится
- 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.
Порт по умолчанию: 443
Встроенные правила оповещений 5
- ПредупреждениеGitLab 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).
- ПредупреждениеGitLab 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.
- ИнфоGitLab migrations pendingDatabase migrations from an upgrade are left to apply.
- ПредупреждениеGitLab license expiringThe Enterprise Edition licence expires in less than 30 days.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. GitLab has no read-only administrator role, so the token can read everything its account can: use a dedicated bot account, not your own.
Документация
Health check, repository, user and organisation counts, scheduled tasks running on time, Actions runners online or not.
Примеры
Что понадобится
- 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.
Порт по умолчанию: 3000
Встроенные правила оповещений 3
- ПредупреждениеForgejo/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).
- ПредупреждениеForgejo/Gitea scheduled task overdueA scheduled task (repository check, cleanup, update checker) did not run at its own interval.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. 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.
Документация
Readiness and database health, version, realms (disabled ones), active sessions and users per realm.
Примеры
- Keycloak 25 and later
- Keycloak 24 and earlier
Что понадобится
- Client ID / secretA service-account client with read-only roles. DumbMonit asks for a token at each probe.
Учётная запись не нужна.
Порт по умолчанию: 8080
Встроенные правила оповещений 3
- ТревогаKeycloak not readyKeycloak answers but its readiness check is DOWN, usually the database: nobody can log in.
- ИнфоKeycloak realm disabledA realm is disabled: its users cannot log in.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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).
Обратите внимание. 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.
Документация
Readiness, workers, failed system tasks, outpost connections, version updates, users.
Примеры
Что понадобится
- API tokenThe key of an API token created for a service account, sent as "Authorization: Bearer …".
Порт по умолчанию: 9000
Встроенные правила оповещений 6
- Тревогаauthentik not readyauthentik answers but its readiness check fails: database or cache down.
- Тревогаauthentik has no workerNo worker reports: synchronisation, e-mails and clean-up stop.
- Предупреждениеauthentik task failedA system task failed on its last run. The notification names the task.
- Предупреждениеauthentik outpost disconnectedAn outpost that serves providers has not reported for five minutes.
- Инфоauthentik update availableA newer authentik release exists.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. 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.
Документация
Vaultwarden
Бетаvaultwarden
Liveness, version, open sign-ups, and with the admin token disabled-account and two-step login counts.
Примеры
Что понадобится
- Admin tokenThe plain ADMIN_TOKEN of the admin page. It opens a session whose cookie DumbMonit keeps between probes; only counters are read.
Учётная запись не нужна.
Порт по умолчанию: 443
Встроенные правила оповещений 2
- ИнфоVaultwarden sign-ups openAnyone who can reach the vault can create an account.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. 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.
Документация
UniFi Protect
Бетаunifiprotect
Cameras offline or not recording, NVR disks and storage, recording switched off.
Примеры
- UNVR
- Dream Machine Pro
- Cloud Key Gen2+
Что понадобится
- Local user name / passwordA local UniFi OS user with the View Only role on Protect. Ubiquiti cloud accounts are refused.
Порт по умолчанию: 443
Встроенные правила оповещений 5
- ПредупреждениеProtect camera offlineA UniFi Protect camera is disconnected from its NVR. The notification names the camera.
- ПредупреждениеProtect camera not recordingA camera is connected and set to record but does not.
- ТревогаProtect NVR disk unhealthyThe NVR reports a failing disk.
- ПредупреждениеProtect recording disabledRecording is switched off on the NVR.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. Use a local account: UniFi OS refuses Ubiquiti cloud accounts here. The console's certificate is usually self-signed: turn on the certificate option.
Документация
Cameras that stopped delivering frames, detector speed and hangs, frame rates, recording storage, updates.
Примеры
Что понадобится
- Bearer tokenSent as "Authorization: Bearer …" on every request.
Учётная запись не нужна.
Порт по умолчанию: 5000
Встроенные правила оповещений 5
- ПредупреждениеFrigate camera offlineA camera delivers no frames to Frigate. The notification names the camera.
- ПредупреждениеFrigate detector stuckA detector has been on the same inference for more than 30 seconds.
- ПредупреждениеFrigate storage almost fullThe disk holding the recordings is more than 90 % full; clears below 88 %.
- ИнфоFrigate update availableA newer Frigate release exists.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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".
Обратите внимание. 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.
Документация
Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.
Примеры
Что понадобится
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Порт по умолчанию: 8989
Встроенные правила оповещений 5
- ПредупреждениеSonarr health errorSonarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- ПредупреждениеSonarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
- ПредупреждениеSonarr disk almost fullA disk Sonarr reports is more than 90 % full; clears below 88 %.
- ИнфоSonarr update availableA newer Sonarr release exists.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. A Sonarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Документация
Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.
Примеры
Что понадобится
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Порт по умолчанию: 7878
Встроенные правила оповещений 5
- ПредупреждениеRadarr health errorRadarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- ПредупреждениеRadarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
- ПредупреждениеRadarr disk almost fullA disk Radarr reports is more than 90 % full; clears below 88 %.
- ИнфоRadarr update availableA newer Radarr release exists.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. A Radarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Документация
Health warnings, failing download clients and indexers, download queue errors, library disk space, updates.
Примеры
Что понадобится
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Порт по умолчанию: 8686
Встроенные правила оповещений 5
- ПредупреждениеLidarr health errorLidarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- ПредупреждениеLidarr queue has errorsAn item of the download queue has an error (failed download, import blocked) for half an hour.
- ПредупреждениеLidarr disk almost fullA disk Lidarr reports is more than 90 % full; clears below 88 %.
- ИнфоLidarr update availableA newer Lidarr release exists.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. A Lidarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Документация
Health warnings, indexers disabled after failures, disk space, updates.
Примеры
Что понадобится
- API keyThe API key of Settings → General → Security, sent in the X-Api-Key header.
Порт по умолчанию: 9696
Встроенные правила оповещений 5
- ПредупреждениеProwlarr health errorProwlarr reports an error on its System → Status page: a failing download client or indexer, a missing root folder.
- ПредупреждениеProwlarr disk almost fullA disk Prowlarr reports is more than 90 % full; clears below 88 %.
- ИнфоProwlarr update availableA newer Prowlarr release exists.
- ПредупреждениеProwlarr indexers disabledProwlarr disabled indexers after repeated failures: Sonarr, Radarr and Lidarr stop finding releases through them.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. A Prowlarr API key cannot be limited to reading: keep it only in DumbMonit, which sends GET requests and nothing else.
Документация
qBittorrent
Бетаqbittorrent
Torrents in error or stalled, lost connectivity, download and upload speed, free space, torrents by state.
Примеры
Что понадобится
- User name / passwordThe WebUI account. DumbMonit opens a session and reuses its cookie for the probe.
Учётная запись не нужна.
Порт по умолчанию: 8080
Встроенные правила оповещений 4
- ПредупреждениеqBittorrent torrents in errorTorrents are in error or have lost their files.
- ПредупреждениеqBittorrent disconnectedqBittorrent is firewalled or disconnected: nothing is downloaded or seeded.
- ПредупреждениеqBittorrent free space lowLess than 5 GiB free in the download folder; clears above 6 GiB.
- ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: 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.
Обратите внимание. 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.
Документация