From 854cba4c2407835d4b51b9c329def72cac55fb48 Mon Sep 17 00:00:00 2001 From: Blake Ridgway Date: Sun, 22 Mar 2026 11:30:17 -0500 Subject: [PATCH] example yaml file --- uptime.example.yaml | 98 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 uptime.example.yaml diff --git a/uptime.example.yaml b/uptime.example.yaml new file mode 100644 index 0000000..24eda94 --- /dev/null +++ b/uptime.example.yaml @@ -0,0 +1,98 @@ +global: + check_interval: 60 # seconds between checks (global default) + timeout: 10 # seconds per probe (global default) + alert_cooldown: 300 # seconds between repeat alerts for a sustained outage + retention_days: 90 # delete check records older than this (0 = keep forever) + log_format: text # "text" or "json" + +alerts: + - name: discord-ops + type: discord + webhook_url: "https://discord.com/api/webhooks/YOUR_ID/YOUR_TOKEN" + + - name: email-blake + type: email + smtp_host: mail.arclineit.com + smtp_port: 587 + from: alerts@arclineit.com + to: + - blake@arclineit.com + - oncall@arclineit.com + username: alerts@arclineit.com + password: yourpassword + + - name: ntfy-push + type: ntfy + url: "https://ntfy.sh/arcline-alerts" + token: "" # optional bearer token for private ntfy servers + + - name: gotify-push + type: gotify + url: "https://gotify.arclineit.com" + token: "your-app-token" + priority: 7 # 1–10; defaults to 5 + +monitors: + - name: "Main Website" + type: http + url: "https://arclineit.com" + expected_status: 200 + contains: "[arcline]" # optional: assert string appears in response body + max_response_ms: 3000 # alert if response takes longer than 3s + interval: 60 + alert_names: [discord-ops, email-blake] + + - name: "Control Panel" + type: http + url: "https://cp.arclineit.com" + expected_status: 200 + interval: 60 + + - name: "API Health Check" + type: http + url: "https://api.arclineit.com/health" + method: POST + body: '{"ping":true}' + headers: + Content-Type: "application/json" + Authorization: "Bearer your-api-token" + expected_status: 200 + + - name: "SSH" + type: tcp + host: "server1.arclineit.com" + port: 22 + interval: 30 # check SSH more frequently + + - name: "Mail Server" + type: tcp + host: "mail.arclineit.com" + port: 587 + + - name: "Main Website TLS" + type: tls + host: "arclineit.com" + port: 443 + expiry_warning_days: 21 # alert when cert expires in < 21 days + interval: 3600 # check TLS once per hour + + - name: "DNS arclineit.com" + type: dns + host: "arclineit.com" + expected_ip: "203.0.113.10" # optional: assert this IP is in the results + + - name: "Backup Server SSH" + type: tcp + host: "backup.arclineit.com" + port: 22 + alert_names: [email-blake] # only notify via email for this one + maintenance: + - days: [sat, sun] # suppress alerts on weekends + start: "02:00" + end: "06:00" + +dashboard: + enabled: true + listen: ":8081" + username: admin + password: changeme