all: enable monitoring with monit

This commit is contained in:
Aaron Bieber 2023-03-29 08:01:58 -06:00
parent 054832260a
commit 6ef407f441
No known key found for this signature in database
3 changed files with 40 additions and 0 deletions

View File

@ -49,6 +49,8 @@ in {
./system/update.nix ./system/update.nix
./users ./users
./monitoring
./bins ./bins
]; ];

17
monitoring/default.nix Normal file
View File

@ -0,0 +1,17 @@
{ config, ... }:
{
config = {
sops.secrets = {
monit_cfg = {
sopsFile = config.xin-secrets.deploy;
owner = "root";
mode = "400";
};
};
services.monit = {
enable = true;
config = builtins.readFile ./monitrc;
};
};
}

21
monitoring/monitrc Normal file
View File

@ -0,0 +1,21 @@
set daemon 30
set alert alert@bolddaemon.com
set logfile /var/log/monit.log
include /run/secrets/monit_cfg
set mail-format {
from: alerts@bolddaemon.com
subject: $SERVICE $EVENT on $DATE
message: $DESCRIPTION
}
check system $HOST
if loadavg (5min) > 3 then alert
if loadavg (15min) > 2 then alert
if memory usage > 80% for 4 cycles then alert
if swap usage > 20% for 4 cycles then alert
if cpu usage (user) > 80% for 2 cycles then alert
if cpu usage (system) > 20% for 2 cycles then alert
if cpu usage (wait) > 80% for 2 cycles then alert
if cpu usage > 200% for 4 cycles then alert