设为首页 收藏本站
查看: 1118|回复: 0

Nagios邮件报警、短信报警配置

[复制链接]

尚未签到

发表于 2019-1-16 07:24:53 | 显示全部楼层 |阅读模式
  2010年由于飞信升级了,以前使用的nagios、fethion for linux 作为短信报警方案现在已经失效了。而且fethion也不是非常好用,现在采用139邮箱作为短信报警方案还是切实可行的,缺点是有些延迟。

技术方案:Nagios+139邮箱+手机短信
Nagios发警告邮件默认是采用本机的smtp服务, 可以查看commands.cfg中关于发邮件的命令的定义, 使用本机的mail命令, 这就需要开启本机的smtp服务, 为了安全可以在防火墙上设置拒绝其他的机器连本机的25号端口. 假如网络里面有一个邮件服务器(比如公司自己的邮件服务器), 则可以直接使用这台现有的邮件服务器, 不用开启本机的smtp服务, 只需要重新定义命令使用第三方软件sendEmail.
sendEmail官方地址: http://caspian.dotconf.net/menu/Software/SendEmail/
首先要在邮件服务器上新建一个账户用来做发邮件的账户, 以利用一现有的, 假如 test@139.com , SMTP邮件服务器地址为smtp.139.com(如果没有DNS,则直接使用IP), SMTP验证的用户名密码(如果该邮件服务不需要SMTP验证则无需本用户名密码)为encle/iamencle
1.安装sendEMail  


  • cd /u01/software/nagios
  • wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
  • tar -zxvf sendEmail-v1.56.tar.gz && cd sendEmail-v1.56
  • cp sendEmail /usr/local/bin
  • chmod 0755 /usr/local/bin/sendEmail
  


2. 发送邮件测试
# sendEmail -h (查看sendMail帮助)
# sendEmail -f test@139.com -t test@qq.com -s smtp.139.com -u "邮件主题" -m "邮件内容" –xu 发送者邮箱账户名 –xp 发送者邮箱密码
或者将一个文件的内容作为附件发出, 并且是gb2312或utf8编码的html格式文件(可以显示中文):
# sendEmail -f test@139.com -t test@qq.com -s smtp.139.com -u "邮件主题" -m "邮件内容" -a /var/log/messages -o message-content-type=html -o message- –xu 发送者邮箱账户名 –xp 发送者邮箱密码
各参数含义如下:
-f 表示发送者的邮箱, 可随意设置
-t 表示接收者的邮箱
-s 表示SMTP服务器的域名或者IP
-u 表示邮件的主题
-m 表示邮件的内容
-xu 表示SMTP验证的用户名, 如果SMTP服务器需要验证的话就加上该参数, 一般发给外网用户则需要
-xp 表示SMTP验证的密码, 如果SMTP服务器需要验证的话就加上该参数, 一般发给外网用户则需要
-a FILE [FILE ...]      file attachment(s)
-cc ADDRESS [ADDR ...]   cc  email address(es)
-bcc ADDRESS [ADDR ...]   bcc email address(es)
如果使用Foxmail接受邮件, 为了正确显示中文, 需设置邮件显示编码为UTF-8, 设置方法:
右键邮件文本 - 编码 - 选择"UTF-8"
3. 配置接收nagios告警的邮件地址  


  • vi /usr/local/nagios/etc/objects/contacts.cfg

  • define contact{

  •         contact_name    nagiosadmin

  •         use        generic-contact

  •         alias        Nagios Admin

  •         email       接受者邮箱地址

  •         }
  

4. 修改commands.cfg, 替换掉原来发送邮件的两个命令
默认的输出宏$HOSTOUTPUT$和$SERVICEOUTPUT$只会输出第一行信息, 我们使用$LONGHOSTOUTPUT$和$LONGSERVICEOUTPUT$输出完整信息.
注意: 为了能接受到格式化良好, 且中文无乱码的超文本邮件, 可以对sendEmail设置 "-o message-content-type=html -o message-charset=utf8" 选项.
# vi +27 /usr/local/nagios/etc/objects/commands.cfg (建议使用超文本格式, 作为回车符)  


  • # 'notify-host-by-email' command definition

  • define command{

  •         command_name    notify-host-by-email

  •         command_line    /usr/bin/printf "%b" "Host: $HOSTNAME$Notification: $HOSTNOTIFICATIONNUMBER$Command: $HOSTCHECKCOMMAND$Datetime: $LONGDATETIME$Info: $HOSTOUTPUT$$LONGHOSTOUTPUT$" | /usr/local/bin/sendEmail -f 发送者邮箱 -t $CONTACTEMAIL$ -s smtp.139.com -u "Host $HOSTSTATE$: $HOSTADDRESS$" -o message-content-type=html -o message-charset=utf8 –xu test@139.com –xp 发送者邮箱密码

  • }

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

  • define command{

  •         command_name    notify-service-by-email

  •         command_line    /usr/bin/printf "%b" "Host: $HOSTALIAS$NotifyTimes: $SERVICENOTIFICATIONNUMBER$Command: $SERVICECHECKCOMMAND$Datetime: $LONGDATETIME$Additional Info:$SERVICEOUTPUT$$LONGSERVICEOUTPUT$" | /usr/local/bin/sendEmail -f test@139.com -t $CONTACTEMAIL$ -s smtp.139.com -u "Service $SERVICESTATE$: $HOSTADDRESS$ | $SERVICEDESC$" -o message-content-type=html -o message-charset=utf8 –xu test@139.com –xp 发送者邮箱密码

  • }
  


5. 修改完主配置文件后, 都需要重启Nagios服务, 重启前先验证配置文件是否有误
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# service nagios>
如果有问题则查询Nagios运行日志, 进行进一步诊断:
#tail -50f /usr/local/nagios/var/nagios.log




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-663745-1-1.html 上篇帖子: 自己编写Nagios监控脚本 下篇帖子: nagios监控(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表