一 在源码安装nagios 时下面的错误
1 Error: Could not open command file ‘/usr/local/nagios/var/rw/nagios.cmd’ for update!
Then it means that the permissions on the folder are messed up. Don’t bother setting up the permissions on the file itself, nagios.cmd, since that file
gets recreated very often,so
chown nagios.nagcmd /usr/local/nagios/var/rw
chmod g+rwx /usr/local/nagios/var/rw
chmod g+s /usr/local/nagios/var/rw
2 然后重启apache 和nagios 之后就正常了,当然前提是nagios 和apache 用户在nagcmd 组中。
二 nagios 警告邮件的特殊配置
默认情况下nagios 发送邮件报警是用本机的sendmail 服务器 进行发送邮件。在发送邮件警报时不用本机的sendmail 邮件服务器,是用网络中的邮件服务器这就需用第三方
软件sendEmail
1 首先下载 sendEmail 软件 官方网站:
2 #tar -xvf sendEmail-v1.55.tar.gz
#cd sendEmail-v1.55
#cp sendEmail /usr/local/bin
#chmod a+x /usr/local/bin/sendEmail
3 sendEmail 命令详解
-f 表示发送者的邮箱
-t 表示接收者的邮箱
-s 表示SMTP服务器的域名或者ip
-u 表示邮件的主题
-xu 表示SMTP验证的用户名
-xp 表示SMTP验证的密码(注意,这个密码貌似有限制,例如我用d!5neyland就不能被正确识别)
-m 表示邮件的内容
4 配置nagios发送邮件的命令,配置文件在commands.cfg中关于发邮件的命令的定义
定义 notify-host-by-email,notify-service-by-email
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Frank *****\n\nNotification Type: $NOTIFICATIONTYPE
$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONG
DATETIME$\n" | /usr/local/bin/sendEmail -f monitor@frank.org -t $CONTACTEMAIL$ -s smtp.frank.org
-u "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **"
}