DumbMonit

Мониторы

Cloud services

Microsoft 365, Entra ID, Azure, AWS, Cloudflare, Hetzner, OVHcloud and Infomaniak: service health, licences, secrets about to expire, tunnels, servers and alarms.

Описания мониторов и тексты правил оповещений на английском, как в самом продукте. Подписи на странице соответствуют вашему языку.

Microsoft 365

m365

Microsoft 365 service health, active incidents, license usage and risky users, read through Microsoft Graph.

Примеры

  • Contoso Microsoft 365

Что понадобится

  • Entra application (client credentials)The application (client) ID and a client secret of an Entra app registration with read-only Graph application permissions.

Порт по умолчанию: 443

Встроенные правила оповещений 5

  • ПредупреждениеMicrosoft 365 service degradedA Microsoft 365 service is degraded, interrupted or under investigation according to the service health dashboard.
  • ПредупреждениеMicrosoft 365 licenses exhaustedEvery unit of a paid license is assigned: the next user cannot be given it.
  • ИнфоMicrosoft 365 licenses nearly fullMore than 95 % of a paid license is assigned.
  • ПредупреждениеMicrosoft 365 users at riskEntra ID Protection flags at least one user as at risk.
  • ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: Create a read-only Entra application for DumbMonit
  1. In the Microsoft Entra admin center (entra.microsoft.com), open Entra ID → App registrations → New registration, name it DumbMonit, keep a single tenant and register it.

  2. On the Overview page, copy the Application (client) ID and the Directory (tenant) ID.

  3. Open API permissions → Add a permission → Microsoft Graph → Application permissions, add the permissions listed below, then click Grant admin consent.

  4. Open Certificates & secrets → New client secret and copy its Value (not the Secret ID): it is shown once and it expires, so note the date.

  5. In DumbMonit, enter graph.microsoft.com as address, paste the client ID and the secret value, and fill in the Tenant ID option.

Обратите внимание. Admin consent gives the application tenant-wide read access to the data above. Use a dedicated app registration with only these permissions, and renew its client secret before it expires.

Документация

Microsoft Entra ID

entra

Entra ID application secret and certificate expiry, on-premises directory sync age and administrators without MFA, read through Microsoft Graph.

Примеры

  • Contoso Entra ID

Что понадобится

  • Entra application (client credentials)The application (client) ID and a client secret of an Entra app registration with read-only Graph application permissions.

Порт по умолчанию: 443

Встроенные правила оповещений 6

  • ТревогаCertificate expiredThe certificate has expired.
  • ПредупреждениеEntra application secret expiringA secret or certificate of an Entra application expires in less than 30 days: the application stops signing in on that day.
  • ПредупреждениеEntra application secret expiredA secret or certificate of an Entra application expired in the last 30 days: remove it, or renew it if the application still needs it.
  • ПредупреждениеEntra directory sync lateThe last synchronization with the on-premises Active Directory is more than 3 hours old: check Entra Connect.
  • ПредупреждениеEntra administrator without MFAAt least one administrator has no multifactor authentication method registered.
  • ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: Create a read-only Entra application for DumbMonit
  1. In the Microsoft Entra admin center (entra.microsoft.com), open Entra ID → App registrations → New registration, name it DumbMonit, keep a single tenant and register it.

  2. On the Overview page, copy the Application (client) ID and the Directory (tenant) ID.

  3. Open API permissions → Add a permission → Microsoft Graph → Application permissions, add the permissions listed below, then click Grant admin consent.

  4. Open Certificates & secrets → New client secret and copy its Value (not the Secret ID): it is shown once and it expires, so note the date.

  5. In DumbMonit, enter graph.microsoft.com as address, paste the client ID and the secret value, and fill in the Tenant ID option.

Обратите внимание. Admin consent gives the application tenant-wide read access to the data above. Use a dedicated app registration with only these permissions, and renew its client secret before it expires: DumbMonit watches its own secret like any other.

Документация

Microsoft Azure

azure

Resource Health and active Azure Monitor alerts of an Azure subscription, read through a Reader service principal.

Примеры

  • Microsoft Azure subscription

Что понадобится

  • Entra application (service principal)The client ID and a client secret of an Entra application that has the Reader role on the subscription.

Порт по умолчанию: 443

Встроенные правила оповещений 4

  • ТревогаAzure resource unavailableResource Health reports a resource of the subscription as unavailable for 10 minutes (not counting resources stopped by their owner).
  • ПредупреждениеAzure resource degradedResource Health reports a resource of the subscription as degraded for 15 minutes.
  • ПредупреждениеAzure Monitor alert Sev0 or Sev1An Azure Monitor alert of severity Sev0 (critical) or Sev1 (error) is fired and not closed.
  • ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: Create a read-only application for DumbMonit
  1. In the Azure portal, open Microsoft Entra ID > App registrations > New registration, name it DumbMonit, keep single tenant, then Register.

  2. On the Overview page, copy the Application (client) ID and the Directory (tenant) ID.

  3. Open Certificates & secrets > New client secret, choose a lifetime, then copy the secret Value: it is shown once.

  4. Open Subscriptions > your subscription > Access control (IAM) > Add > Add role assignment, pick the Reader role, select the DumbMonit application, then Review + assign.

  5. Copy the Subscription ID from the subscription Overview page.

  6. In DumbMonit, enter management.azure.com as address, paste the client ID and secret, and fill the Tenant ID and Subscription ID options.

Обратите внимание. A stopped or deallocated virtual machine is reported by Azure as unavailable on the user's request: it is counted apart and raises no alert. Azure Monitor alerts need the Microsoft.AlertsManagement resource provider registered on the subscription; without it only Resource Health is monitored.

Документация

AWS (CloudWatch)

aws

CloudWatch alarms in the ALARM state, EC2 status checks and CPU, and RDS CPU and free storage.

Примеры

  • Amazon EC2
  • Amazon RDS
  • CloudWatch alarms

Что понадобится

  • Access keyAccess key ID and secret access key of a read-only IAM user (or of a user allowed to assume a read-only role).

Порт по умолчанию: 443

Встроенные правила оповещений 6

  • ПредупреждениеAWS CloudWatch alarm in ALARMA CloudWatch alarm has been in the ALARM state for 5 minutes.
  • ПредупреждениеAWS EC2 status check failedAn EC2 instance has failed an instance or system status check for 10 minutes.
  • ПредупреждениеAWS EC2 CPU highAn EC2 instance has had a CPU peak above 90 % for 30 minutes.
  • ПредупреждениеAWS RDS CPU highAn RDS database has had a CPU peak above 90 % for 30 minutes.
  • ПредупреждениеAWS RDS free storage lowAn RDS database has less than 5 GiB of free storage for 15 minutes.
  • ТревогаMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Шаги настройки: Create a read-only IAM user for DumbMonit
  1. In the AWS console, open IAM, Policies, Create policy, JSON tab, paste this read-only policy and name it DumbMonitReadOnly.

    {"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":["cloudwatch:DescribeAlarms","cloudwatch:ListMetrics","cloudwatch:GetMetricData"],"Resource":"*"}]}
  2. Open IAM, Users, Create user: name it dumbmonit, leave console access off, and attach the DumbMonitReadOnly policy.

  3. Open the user, Security credentials, Create access key, choose Application running outside AWS. Copy the access key ID and the secret access key: the secret is shown once.

  4. Optional, to use a role instead: attach the policy to a role that trusts the user, give the user only sts:AssumeRole on that role, and copy the role ARN into the Role ARN option.

  5. In DumbMonit, enter monitoring.<region>.amazonaws.com as the address, paste the key and its secret, and set the same region in the Region option.

Обратите внимание. Use a dedicated IAM user with only these read permissions, never a key that can change resources. AWS bills GetMetricData per metric requested (USD 0.01 per 1,000): a long check interval keeps the cost low on large accounts.

Документация

Cloudflare

cloudflare

Zones, tunnels, certificates, traffic errors and load balancer pools of a Cloudflare account, read through the Cloudflare API.

Примеры

  • Cloudflare zones and tunnels

Что понадобится

  • API tokenA Cloudflare API token with read-only permissions.

Порт по умолчанию: 443

Встроенные правила оповещений 7

  • ТревогаCloudflare tunnel downA Cloudflare tunnel has no connection left and cannot carry traffic.
  • ПредупреждениеCloudflare tunnel degradedA Cloudflare tunnel has lost some of its connections to the edge.
  • ПредупреждениеCloudflare certificate expiringAn active certificate of a zone expires in less than 14 days; Cloudflare should have renewed it by now.
  • ПредупреждениеCloudflare zone not activeA zone is not active (pending name server change, moved or deactivated).
  • ПредупреждениеCloudflare 5xx rate highMore than 5% of the responses of a zone are 5xx over the last one to two hours (zones with at least 100 requests).
  • ПредупреждениеCloudflare load balancer pool unhealthyAn enabled load balancer pool is unhealthy.
Показать ещё 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 API token for DumbMonit
  1. In the Cloudflare dashboard, open My Profile > API Tokens > Create Token > Create Custom Token, and name it DumbMonit.

  2. Add the read-only permissions listed below, and nothing else. The first one is required; the others switch on one part each.

  3. Under Account Resources and Zone Resources, choose the account and the zones to monitor (All zones is fine).

  4. Click Continue to summary > Create Token, then copy the token: it is shown once.

  5. In DumbMonit, use this address and paste the token as API token. Leave Account ID empty unless the token covers several accounts.

    api.cloudflare.com

Обратите внимание. A part whose permission is missing (or that the plan does not include) is skipped and its readable metric is 0; it does not make the monitor fail. Only the zones the token can see are watched.

Документация

Hetzner Cloud

hetzner

Servers, volumes and backups of a Hetzner Cloud project, read through the Hetzner Cloud API.

Примеры

  • Hetzner Cloud project

Что понадобится

  • API tokenA read-only API token of the Hetzner Cloud project.

Порт по умолчанию: 443

Встроенные правила оповещений 5

  • ПредупреждениеHetzner server not runningA Hetzner Cloud server is not in the running state (off, migrating, stuck starting).
  • ПредупреждениеHetzner server CPU sustained highA Hetzner server averages more than 90% CPU over ten minutes, for 30 minutes.
  • ПредупреждениеHetzner backup too oldThe newest backup of a server with backups enabled is more than 3 days old.
  • ИнфоHetzner volume not attachedA volume is attached to no server, and is billed anyway.
  • Тревога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 token for DumbMonit
  1. In the Hetzner Cloud Console, open the project to monitor, then Security > API tokens > Generate API token.

  2. Name it DumbMonit and choose the Read permission (not Read & Write).

  3. Click Generate API token, then copy the token: it is shown once.

  4. In DumbMonit, use this address and paste the token as API token. One monitor reads one project.

    api.hetzner.cloud

Обратите внимание. A server that is powered off is reported as not running, on purpose or not: mute the rule for it if that is expected. The API allows 3600 requests per hour and project, so server metrics are read for 10 servers by default.

Документация

OVHcloud

ovh

State and running tasks of the VPS and dedicated servers of an OVHcloud account, read through the OVHcloud API.

Примеры

  • OVHcloud VPS and dedicated servers

Что понадобится

  • OVHcloud API keysThe application key, and the application secret and consumer key joined by a colon.

Порт по умолчанию: 443

Встроенные правила оповещений 4

  • ПредупреждениеOVHcloud VPS not runningAn OVHcloud VPS is not in the running state for 10 minutes.
  • ТревогаOVHcloud dedicated server in errorOVHcloud monitoring reports a dedicated server in error, or powered off, for 5 minutes.
  • ИнфоOVHcloud task in progressOne or more tasks (reboot, reinstall, maintenance) have been pending or running on the servers for an hour.
  • Тревога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 token for DumbMonit
  1. Open the OVHcloud token page of your region and sign in with your OVHcloud account. The link pre-selects the two read rights.

    https://eu.api.ovh.com/createToken/?GET=/vps*&GET=/dedicated/server*
  2. Name the script DumbMonit, set Validity to Unlimited, and keep only the two GET rights listed below, then click Create keys.

  3. Copy the Application Key, the Application Secret and the Consumer Key: they are shown once.

  4. In DumbMonit, enter eu.api.ovh.com as address (ca.api.ovh.com for OVHcloud Canada) and paste the Application Key as Application key.

  5. In the second field, type the Application Secret, a colon, then the Consumer Key.

    application_secret:consumer_key

Обратите внимание. The OVHcloud API publishes no calendar of planned maintenance: DumbMonit sees an intervention only once it has started, as a running task. A VPS you stopped yourself counts as down. A dedicated server is reported in error only if OVHcloud monitoring is enabled on it. Either right may be omitted to watch only the other family.

Документация

Infomaniak

infomaniak

Expiry dates, locks and maintenance flags of the products of an Infomaniak account (domains, hosting, mail), read through the Infomaniak API.

Примеры

  • Infomaniak domains and hosting

Что понадобится

  • API tokenAn Infomaniak API token with the Products scope.

Порт по умолчанию: 443

Встроенные правила оповещений 5

  • ПредупреждениеInfomaniak product expiringA product (domain, hosting, mail) expires in less than 14 days.
  • ТревогаInfomaniak product expiredThe expiry date of a product has passed.
  • ПредупреждениеInfomaniak product lockedInfomaniak flags a product as locked for an hour.
  • ИнфоInfomaniak product in maintenanceInfomaniak flags a product as under maintenance for an hour.
  • Тревога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 token for DumbMonit
  1. Open the Infomaniak Manager token page and sign in.

    https://manager.infomaniak.com/v3/ng/profile/user/token/list
  2. Click Create a token and name it DumbMonit.

  3. Choose the scopes listed below, and set the validity you want (no expiry avoids renewing it).

  4. Click Create the token, then copy it: it is shown once.

  5. In DumbMonit, enter api.infomaniak.com as address and paste the token. Fill the Account ID option if the token has no Accounts scope.

Обратите внимание. The Infomaniak API gives no finer state than the expiry date, the lock and the maintenance flags of each product: it does not tell whether a site or a mailbox is up. Use an HTTP monitor for that.

Документация