需求:

Nagios在邮件告警的时候使用sendemail来发送邮件。

默认web管理界面下Configuration --> Object Type: Commands -->

notify-host-by-email notify-service-by-email 会显示 发送邮件账户的登录密码


通过:nagios的宏变量来隐藏掉显示出来的密码(自定义宏变量)

vi/usr/local/nagios/etc/resource.cfg

加上

$USER2$=nmelot@163.com$USER3$=123456a


vi /usr/local/nagios/etc/objects/commands.cfg

修改$USER2$和$USER3$部分:

#'notify-host-by-email'commanddefinitiondefinecommand{command_namenotify-host-by-email#command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:$NOTIFICATIONTYPE$\nHost:$HOSTNAME$\nState:$HOSTSTATE$\nAddress:$HOSTADDRESS$\nInfo:$HOSTOUTPUT$\n\nDate/Time:$LONGDATETIME$\n"|/bin/mail-s"**$NOTIFICATIONTYPE$HostAlert:$HOSTNAME$is$HOSTSTATE$**"$CONTACTEMAIL$command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:$NOTIFICATIONTYPE$\nHost:$HOSTNAME$\nState:$HOSTSTATE$\nAddress:$HOSTADDRESS$\nInfo:$HOSTOUTPUT$\n\nDate/Time:$LONGDATETIME$\n"|/usr/bin/sendEmail-fXXX@163.com-t"XX@qq.com,XX@qq.com,XX@qq.com,XXX@qq.com,XX@qq.com,XX@qq.com,XXX@qq.com,XX@qq.com"-ssmtp.163.com-u"**$NOTIFICATIONTYPE$HostAlert:$HOSTNAME$is$HOSTSTATE$**"-xu$USER2$-xp$USER3$}

# 'notify-service-by-email' command definition

definecommand{command_namenotify-service-by-emailcommand_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:$NOTIFICATIONTYPE$\n\nService:$SERVICEDESC$\nHost:$HOSTALIAS$\nAddress:$HOSTADDRESS$\nState:$SERVICESTATE$\n\nDate/Time:$LONGDATETIME$\n\nAdditionalInfo:\n\n$SERVICEOUTPUT$"|/usr/bin/sendEmail-fXXX@163.com-t"XX@qq.com,XX@qq.com,XX@qq.com,XX@qq.com,XX@qq.com,XX@qq.com,XX@qq.com,XX4@qq.com"-ssmtp.163.com-u"**$NOTIFICATIONTYPE$ServiceAlert:$HOSTALIAS$/$SERVICEDESC$is$SERVICESTATE$**"-xu$USER2$-xp$USER3$#command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:$NOTIFICATIONTYPE$\n\nService:$SERVICEDESC$\nHost:$HOSTALIAS$\nAddress:$HOSTADDRESS$\nState:$SERVICESTATE$\n\nDate/Time:$LONGDATETIME$\n\nAdditionalInfo:\n\n$SERVICEOUTPUT$"|/bin/mail-s"**$NOTIFICATIONTYPE$ServiceAlert:$HOSTALIAS$/$SERVICEDESC$is$SERVICESTATE$**"$CONTACTEMAI

L$

}


效果如下:红色箭头黑色部分本显示了发送邮件账号的账号以及密码,现在可以通过上述通过nagios的自定义宏变量来隐藏相关的敏感信息。