280 lines
6.6 KiB
YAML
280 lines
6.6 KiB
YAML
#name: "w02"
|
|
hb_port: 50003
|
|
hbd_host: ''
|
|
#logfile: "/home/andreas/public_html/messages/andreas"
|
|
logfile: "/home/andreas/logs/heartbeat/heartbeat.log"
|
|
#logfile: "/Users/andreas/public_html/messages/andreas"
|
|
logfmt: "msg"
|
|
grace: 40
|
|
interval: 10
|
|
autosave_interval: 300 # Autosave interval in seconds (default: 5 minutes)
|
|
|
|
|
|
users:
|
|
andreas:
|
|
full_name: Andreas Wrede
|
|
password: pbkdf2:sha256:260000:eece9cdaebc22247566f78983bf5b2a3:f8c74cc057c5590943c115a60bac62f9458e9ba0d2e7e7421b6f0fe5d860e18f # hbd passwd andreas
|
|
avatar: /home/andreas/.avatar/Andreas-avatar3-small.png
|
|
admin: true
|
|
ops:
|
|
full_name: Operations Team
|
|
password: pbkdf2:sha256:260000:... # hbd passwd ops
|
|
admin: false
|
|
readonly:
|
|
full_name: Read-Only User
|
|
password: pbkdf2:sha256:260000:... # hbd
|
|
|
|
default_owner: andreas
|
|
|
|
hosts:
|
|
weekend:
|
|
owner: andreas
|
|
managers: [ops]
|
|
monitors: [readonly]
|
|
|
|
|
|
# Notification Channels - Define notification providers centrally
|
|
# Each channel has a type (pushover, email, signal, mattermost) and type-specific configuration
|
|
notification_channels:
|
|
|
|
pushover_standard:
|
|
type: pushover
|
|
token: ac7NLX2rPjXFareeDgLpXNoDf4iFmf
|
|
user: uDhH33UjQQDYtNzJb1ThRiWb9ingGK
|
|
|
|
signal_andreas:
|
|
type: signal
|
|
cli_path: /usr/local/bin/signal-cli
|
|
user: +14168226179
|
|
recipient: +14168226179
|
|
|
|
email_andreas:
|
|
type: email
|
|
recipients: [aew.hbd.notify@wrede.ca]
|
|
sender: aew.hbd@wrede.ca
|
|
smtp_server: smtp.fastmail.com
|
|
smtp_port: 587
|
|
smtp_user: andreas@wrede.ca
|
|
smtp_password: pvtvefyp5gbhnch2
|
|
|
|
# Example additional channels (commented out)
|
|
# pushover_urgent:
|
|
# type: pushover
|
|
# token: your-app-token
|
|
# user: your-user-key
|
|
#
|
|
mattermost_devops:
|
|
type: mattermost
|
|
host: mattermost.example.com
|
|
token: webhook-token
|
|
channel: devops-alerts
|
|
username: heartbeat-bot
|
|
icon: https://example.com/heartbeat-icon.png
|
|
|
|
# Default notification channels (used if host doesn't specify channels)
|
|
default_notification_channels: [pushover_standard]
|
|
|
|
# Host definitions - combines threshold mapping, watch status, DNS updates, and notifications
|
|
hosts:
|
|
wentworth:
|
|
threshold_config: default
|
|
watch: true
|
|
notification_channels: [pushover_standard]
|
|
dyndns: false
|
|
|
|
y:
|
|
threshold_config: default
|
|
watch: true
|
|
notification_channels: [pushover_standard]
|
|
dyndns: false
|
|
|
|
winter:
|
|
threshold_config: default
|
|
watch: true
|
|
notification_channels: [pushover_standard]
|
|
dyndns: false
|
|
|
|
wally:
|
|
threshold_config: freebsd_server
|
|
watch: false
|
|
notification_channels: [pushover_standard]
|
|
dyndns: false
|
|
|
|
eris:
|
|
threshold_config: truenas_server
|
|
watch: false
|
|
notification_channels: [pushover_standard]
|
|
dyndns: false
|
|
|
|
haschloss:
|
|
threshold_config: default
|
|
watch: false
|
|
dyndns: true
|
|
|
|
wayback:
|
|
threshold_config: default
|
|
watch: false
|
|
notification_channels: [pushover_standard]
|
|
dyndns: true
|
|
|
|
wertvoll:
|
|
threshold_config: default
|
|
watch: false
|
|
notification_channels: [pushover_standard]
|
|
dyndns: true
|
|
|
|
weekend:
|
|
threshold_config: freebsd_server
|
|
watch: false
|
|
notification_channels: [pushover_standard]
|
|
dyndns: true
|
|
|
|
cotgate:
|
|
threshold_config: default
|
|
watch: false
|
|
dyndns: true
|
|
|
|
rvgate:
|
|
threshold_config: default
|
|
watch: false
|
|
dyndns: true
|
|
|
|
draper:
|
|
threshold_config: default
|
|
watch: false
|
|
notification_channels: [pushover_standard]
|
|
dyndns: true
|
|
|
|
# Hosts to drop/ignore
|
|
drophosts: {"unknown", "wookie15", "wort"}
|
|
|
|
nsupdate_bin: "/usr/local/bin/nsupdate"
|
|
|
|
dyndomains: {"wrede.org"}
|
|
|
|
ws_port: 50005
|
|
# wss_port: 50006 # Commented out - use plain WebSocket instead of secure WSS
|
|
# cert_path: "/usr/local/etc/letsencrypt/live/hbd.wrede.ca/"
|
|
# cert_path: "test/"
|
|
# CERT_PATH = "./test/"
|
|
# wss_pem: "fullchain.pem"
|
|
# wss_key: "privkey.pem"
|
|
|
|
journal_enabled: true # Enable/disable journaling
|
|
journal_dir: /home/andreas/logs/heartbeat # Journal directory
|
|
journal_file: messages.journal # Base filename
|
|
journal_max_size: 104857600 # Max size (100MB default)
|
|
journal_max_backups: 10 # Number of backups to keep
|
|
|
|
threshold_configs:
|
|
default:
|
|
thresholds:
|
|
cpu_monitor:
|
|
cpu_percent:
|
|
warning: 80.0
|
|
critical: 90.0
|
|
memory_monitor:
|
|
percent:
|
|
warning: 85.0
|
|
critical: 95.0
|
|
disk_monitor:
|
|
partitions:
|
|
/:
|
|
percent:
|
|
warning: 85.0
|
|
critical: 90.0
|
|
rtt:
|
|
warning: 200
|
|
critical: 250.0
|
|
|
|
|
|
freebsd_server:
|
|
thresholds:
|
|
cpu_monitor:
|
|
cpu_percent:
|
|
warning: 80.0
|
|
critical: 90.0
|
|
memory_monitor:
|
|
memory_percent:
|
|
warning: 97.0
|
|
critical: 100.0
|
|
disk_monitor:
|
|
partitions:
|
|
/:
|
|
percent:
|
|
warning: 85.0
|
|
critical: 90.0
|
|
nagios_runner:
|
|
# overall_status_code:
|
|
# warning: 1
|
|
# critical: 2
|
|
# operator: ">="
|
|
load_status:
|
|
warning: WARNING
|
|
critical: CRITICAL
|
|
operator: "=="
|
|
ups_load:
|
|
display: "load to high: {ups_output}"
|
|
warning: 70
|
|
critical: 80
|
|
operator: ">="
|
|
ups_status_code:
|
|
display: "{ups_output}"
|
|
warning: 1
|
|
critical: 2
|
|
operator: ">="
|
|
nextcloud_apps_status_code:
|
|
display: "{nextcloud_apps_output}"
|
|
warning: 1
|
|
critical: 2
|
|
operator: ">="
|
|
rtt:
|
|
warning: 200
|
|
critical: 250.0
|
|
|
|
truenas_server:
|
|
thresholds:
|
|
cpu_monitor:
|
|
cpu_percent:
|
|
warning: 80.0
|
|
critical: 90.0
|
|
memory_monitor:
|
|
percent:
|
|
warning: 3.0
|
|
critical: 95.0
|
|
disk_monitor:
|
|
partitions:
|
|
/:
|
|
percent:
|
|
warning: 85.0
|
|
critical: 90.0
|
|
nagios_runner:
|
|
# overall_status_code:
|
|
# warning: 1
|
|
# critical: 2
|
|
# operator: ">="
|
|
load_status:
|
|
warning: WARNING
|
|
critical: CRITICAL
|
|
operator: "=="
|
|
ups_load:
|
|
display: "load to high: {ups_output}"
|
|
WARNING: 70
|
|
CRITICAL: 80
|
|
OPERATOR: ">="
|
|
ups_status_code:
|
|
DISPLAY: "{ups_output}"
|
|
warning: 1
|
|
critical: 2
|
|
operator: ">="
|
|
nextcloud_apps_status_code:
|
|
display: "{nextcloud_apps_output}"
|
|
warning: 1
|
|
critical: 2
|
|
operator: ">="
|
|
rtt:
|
|
warning: 120
|
|
critical: 250.0
|
|
|
|
|