f2d663ea76
Screenshots capture 4 views: monitors dashboard (hero), detail panel, alerts tab, and logs tab. Seed data uses homelab-themed monitors with a SQL backfill for rich sparkline history, state changes, and log entries. Also fixes latencySparkline to color DOWN checks red instead of green — previously failed checks with 0ms latency rendered as green bars.
142 lines
2.8 KiB
YAML
142 lines
2.8 KiB
YAML
alerts:
|
|
- name: Discord Homelab
|
|
type: discord
|
|
settings:
|
|
url: https://discord.com/api/webhooks/1234567890/demo-token
|
|
|
|
- name: Ntfy Alerts
|
|
type: webhook
|
|
settings:
|
|
url: https://ntfy.example.com/homelab-alerts
|
|
|
|
- name: Email Oncall
|
|
type: email
|
|
settings:
|
|
host: smtp.example.com
|
|
port: "587"
|
|
user: alerts@example.com
|
|
pass: "••••••••"
|
|
from: alerts@example.com
|
|
to: oncall@example.com
|
|
|
|
- name: Slack Ops
|
|
type: slack
|
|
settings:
|
|
url: https://hooks.slack.com/services/T00000/B00000/demo-token
|
|
|
|
monitors:
|
|
# HTTP — homelab services
|
|
- name: Nextcloud
|
|
type: http
|
|
url: https://example.com
|
|
interval: 30
|
|
alert: Discord Homelab
|
|
check_ssl: true
|
|
expiry_threshold: 14
|
|
max_retries: 2
|
|
|
|
- name: Jellyfin
|
|
type: http
|
|
url: https://example.com
|
|
interval: 30
|
|
alert: Discord Homelab
|
|
max_retries: 2
|
|
|
|
- name: Home Assistant
|
|
type: http
|
|
url: https://example.com
|
|
interval: 30
|
|
alert: Discord Homelab
|
|
max_retries: 3
|
|
|
|
- name: Gitea
|
|
type: http
|
|
url: https://example.com
|
|
interval: 60
|
|
alert: Discord Homelab
|
|
check_ssl: true
|
|
expiry_threshold: 14
|
|
max_retries: 2
|
|
|
|
- name: Traefik Dashboard
|
|
type: http
|
|
url: https://example.com
|
|
interval: 60
|
|
alert: Discord Homelab
|
|
max_retries: 1
|
|
|
|
- name: Vaultwarden
|
|
type: http
|
|
url: https://example.com
|
|
interval: 30
|
|
alert: Discord Homelab
|
|
check_ssl: true
|
|
expiry_threshold: 14
|
|
max_retries: 3
|
|
|
|
- name: Personal Blog
|
|
type: http
|
|
url: https://example.com
|
|
interval: 120
|
|
alert: Discord Homelab
|
|
check_ssl: true
|
|
expiry_threshold: 14
|
|
max_retries: 2
|
|
|
|
- name: Immich
|
|
type: http
|
|
url: https://example.com
|
|
interval: 60
|
|
alert: Discord Homelab
|
|
check_ssl: true
|
|
expiry_threshold: 7
|
|
max_retries: 3
|
|
|
|
# HTTP — deliberate failure
|
|
- name: Auth Portal
|
|
type: http
|
|
url: http://localhost:1
|
|
interval: 30
|
|
alert: Discord Homelab
|
|
max_retries: 2
|
|
|
|
# Push — cron jobs
|
|
- name: Nightly Backup
|
|
type: push
|
|
interval: 300
|
|
alert: Discord Homelab
|
|
|
|
- name: Cert Renewal
|
|
type: push
|
|
interval: 300
|
|
alert: Discord Homelab
|
|
|
|
# Infrastructure group
|
|
- name: Infrastructure
|
|
type: group
|
|
alert: Discord Homelab
|
|
monitors:
|
|
- name: Edge Router
|
|
type: ping
|
|
hostname: 8.8.8.8
|
|
interval: 30
|
|
alert: Discord Homelab
|
|
timeout: 5
|
|
|
|
- name: Postgres
|
|
type: port
|
|
hostname: localhost
|
|
port: 18099
|
|
interval: 60
|
|
alert: Discord Homelab
|
|
timeout: 5
|
|
|
|
- name: DNS Primary
|
|
type: dns
|
|
hostname: google.com
|
|
dns_server: 8.8.8.8
|
|
dns_resolve_type: A
|
|
interval: 60
|
|
alert: Discord Homelab
|
|
timeout: 5
|