linux - M/Monit config file variable expansion -
on debian 8 server have monit 5.9-1
setup , monitoring several services. plan on monitoring atop 1.26-2
, can following config
check process atop pidfile /var/run/atop.pid group system group atop start program = "/usr/sbin/service atop start" stop program = "/usr/sbin/service atop stop"
this works fine. have noticed on occasion following entries in /var/log/messages
:
traps: atop[8810] trap divide error ip:40780a sp:7ffdf663cdc8 error:0 in atop[400000+26000]
when happens atop not create daily log file /var/log/atop/atop-$( date '+%y%m%d' )
attempting run atop -r 20160127 -b 15:00
results in output
/var/log/atop/atop_20160127 - open raw file: no such file or directory
i have been attempting monit check presence of logfile , restart if missing changing above config to
date=$( date '+%y%m%d' ) check process atop pidfile /var/run/atop.pid group atop start program = "/usr/sbin/service atop start" stop program = "/usr/sbin/service atop stop" depend on atop_log check file atop_log path /var/log/atop/atop-$date group atop
it not complain bit not expand variable.
anyone have ideas if possible / how this?
the solution i've found use bash script checks presence of file , bash script invoked monit.
create file /etc/monit/scripts/atop-log-check.sh
contents:
#!/bin/bash if [ -f "/var/log/atop/atop_$( date '+%y%m%d' )" ]; exit 0 else exit 1 fi
chmod 500 update atop monit config to:
check process atop pidfile /var/run/atop.pid group atop start program = "/usr/sbin/service atop start" stop program = "/usr/sbin/service atop stop" check file atop-log-check path /etc/monit/scripts/atop-log-check.sh group atop if changed checksum alert if failed permission 500 alert if failed uid root alert check program atop_log path /etc/monit/scripts/atop-log-check.sh group atop if status != 0 restart
Comments
Post a Comment