99 lines
2.6 KiB
YAML
99 lines
2.6 KiB
YAML
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
|