Add cron schedules and sync docs
Some checks failed
ci / openapi (push) Failing after 7s
ci / agent (push) Failing after 5s
ci / server (push) Failing after 6s
ci / stack-smoke (push) Has been skipped
ci / web (push) Failing after 5s

This commit is contained in:
Stanislav Rossovskii
2026-06-23 19:18:01 +04:00
parent f5ec97fcb9
commit d6f9335398
24 changed files with 638 additions and 131 deletions

View File

@@ -1,9 +1,18 @@
# Alertmanager
Placeholder for optional Alertmanager integration examples.
Example Alertmanager configuration for the optional observability profile.
Planned examples:
`alertmanager.yml` is intentionally safe by default: it routes to a `null`
receiver, so alerts are grouped but dropped. Before using it outside local
development, add a real receiver and set `route.receiver` to that receiver.
- receiver config for Monlet-originated alerts;
- stable label conventions;
- routing notes for avoiding duplicate notifications.
Monlet can also send notifications to Alertmanager through the server notifier:
```env
MONLET_NOTIFIER_ALERTMANAGER_ENABLED=true
MONLET_NOTIFIER_ALERTMANAGER_URL=http://alertmanager:9093
```
Keep labels stable and low-cardinality. The example groups by `alertname`,
`agent_id`, and `check_id`; do not add timestamps, event IDs, or output text to
Alertmanager labels.

View File

@@ -1,11 +1,20 @@
# Grafana
Placeholder for Grafana dashboard examples.
Starter Grafana provisioning for the optional observability profile.
Planned dashboards:
Files:
- agents alive/stale/dead;
- check state counts;
- open incidents;
- notification outbox state;
- server ingestion and notifier failures.
- `provisioning/datasources/prometheus.yml` - adds Prometheus at `http://prometheus:9090`.
- `provisioning/dashboards/monlet.yml` - loads dashboards from `/var/lib/grafana/dashboards`.
- `dashboards/monlet-overview.json` - starter dashboard for agent status, open incidents, event ingest rate, and notification rate.
Run it with:
```sh
cd deploy
MONLET_AUTH_TOKEN=$(openssl rand -hex 16) docker compose --profile observability up
```
Grafana is exposed at <http://127.0.0.1:3001>. The local default is
`admin` / `admin` unless `GF_ADMIN_PASSWORD` is set. Change it before exposing
Grafana outside local development.

View File

@@ -1,9 +1,20 @@
# Prometheus
Placeholder for Prometheus examples.
Example scrape configuration for the optional observability profile in
`deploy/docker-compose.yml`.
Planned examples:
Run it with:
- scrape Monlet agent `/metrics`;
- scrape Monlet server `/metrics`;
- sample rules for checks that use `notifications_enabled = false`.
```sh
cd deploy
MONLET_AUTH_TOKEN=$(openssl rand -hex 16) docker compose --profile observability up
```
The example config scrapes:
- `server:8000/metrics` as `monlet-server`
- `host.docker.internal:9100/metrics` as `monlet-agent`
Adjust the agent target for your environment. In the showcase stack one demo
agent exposes metrics on host port `9465`; production agents usually expose
`metrics.listen` only on the host or a private monitoring network.