[已解决]在nagios里用mysql调用hostname
本帖最后由 deweiku 于 2012-11-03 11:19 编辑在nagios的commands.cfg配置文件里。
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "$HOSTADDRESS$\nInfo: $HOSTOUTPUT$" | /usr/bin/sendEmail -t `mysql -uroot -p**** -h**** db -e "select a.label,b.email from item a ,user b where a.owner_id=b.id and label ='$host_name'"|grep -v "label"|awk '{print$2}'` -cc $CONTACTEMAIL$-u "$NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$"
根据 hostname查询通讯录表里对应联系人 并给他们发信 通讯录表里的hostname与联系人是对应的。
-t `mysql -uroot -p**** -h**** db -e "select a.label,b.email from item a ,user b where a.owner_id=b.id and label ='$host_name'"
我就是想知道$hostname该调用nagios里的哪个。。。
请高手指点啊,感激不尽。 -t `mysql -uroot -p**** -h**** db -e "select a.label,b.email from item a ,user b where a.owner_id=b.id and label ='$HOSTNAME'"
写成$HOSTNAME 好像调用的是本机的hostname。
有没有高手? 难道现在nagios没人使用了。 还没用过mysql作为nagios的存储呢.哪天研究下 不好意思,可能我表达的不是很清楚;
我改的是nagios的commands.cfg配置文件里的
command_name notify-host-by-email
command_name notify-service-by-email
我是想当有主机报警后,通过主机名查通讯录表,将该主机报警直接发邮件给该主机的负责人。
我现在就是不知道怎么才能调用nagios报警的主机名去查mysql, 不知道哪个才是hostname的变量 原来不能直接调用nagios的内置变量,我最后是通过SHELL转一下变量再调用的。 用$HOSTNAME$ 试试
页:
[1]