2016-11-22 74 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 &