2016-11-22 77 views
0

我是新来MONIT并希望使用不同的日志文件路径的monit(不是默认的)的monit:使用主机名在日志文件路径

set logfile /x/home/xxxx/yyyy/monit/monit-5.20.0/logs/monit_$HOST.log 

在地方的$ HOST,我想要的hostname其中, monit正在运行。
任何想法我们该如何实现?同样,我也想使用主机名作为idfile和statefile。

注:/x/home/xxxx/yyyy/monit/monit-5.20.0是常见的安装所有机器,并希望在它们上面运行monit的。但不想要相同的日志文件。

回答

0

最后我找到了在日志文件,idfile和statsfile中有主机名的方法。
我创建了一个包装脚本start.sh,如下所示,并通过传递控制文件,日志文件,idfile和statsfile来启动monit。

#!/bin/bash 

BASEDIR=`dirname $0` 
HOST=`hostname` 
MONIT_BIN=$BASEDIR/bin/monit 
CTRL_FILE=$BASEDIR/conf/monitrc 
LOG_FILE=$BASEDIR/logs/monit_$HOST.log 
PID_FILE=$BASEDIR/run/monit_$HOST.pid 
STATS_FILE=$BASEDIR/run/.monit_$HOST.state 

mkdir -p $BASEDIR/run 
mkdir -p $BASEDIR/logs 

touch $PID_FILE 
touch $STATS_FILE 
touch $LOG_FILE 

nohup $MONIT_BIN -c $CTRL_FILE -l $LOG_FILE -p $PID_FILE -s $STATS_FILE &> /dev/null &