nagios通过邮件发送报警

nagios除了丰富的监控功能外,报警功能相当的强大。对于报警而言,常用的无非就是邮件和短信报警两种方式,本文中主要是写的nagios的邮件报警的功。

邮件报警的配置
我们只需要编辑/usr/local/nagios/etc/object下的contact.cfg文件,在email后添加管理员的邮箱即可。一般而言,如果监控项目的分工不是太细的话就是管理员可以负责所有的监控、并对其进行处理的话,可以直接将一个或者多个管理员的邮件地址写上,使用空格或者逗号隔开。


但是如果监控的内容中服务器有单独的管理员,网络有单独的管理员的话,我们就可以定义多个contact(联系人),然后再用contactgroup(联系组)对各contact进行分组。
例如管理网络的有两人,管理服务器的有两个人,我们就可以定义两个contactgroup,然后定义四个管理员的contact,如下例是当前我正在使用的contact.cfg,服务器管理员有两名,网络管理员有两名

contact.cfg的配置
define contact{
        contact_name                        zhang1
        use                                        generic-contact
        alias                                       zhang1
        service_notification_period     24x7
        host_notification_period         24x7
        service_notification_options    w,u,c,r
        host_notification_options        d,u,r
        service_notification_commands   notify-service-by-email                            
        host_notification_commands        notify-host-by-email 
       email                                         [email protected]
        }

define contact{
        contact_name                        zhang2
        use                                        generic-contact
        alias                                       zhang2
        service_notification_period     24x7
        host_notification_period         24x7
        service_notification_options    w,u,c,r
        host_notification_options        d,u,r
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        email                                       [email protected]
        }

define contact{
        contact_name                        li1
        use                                        generic-contact
        alias                                       li1
        service_notification_period     24x7
        host_notification_period          24x7
        service_notification_options    w,u,c,r
        host_notification_options         d,u,r
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        email                                       [email protected]
        }

define contact{
        contact_name                           li2
        use                                          generic-contact
        alias                                         li2
        service_notification_period      24x7
        host_notification_period          24x7
        service_notification_options     w,u,c,r
        host_notification_options         d,u,r
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        email                                          [email protected]
        }

define contactgroup{
        contactgroup_name           network
        alias                                  network
        members                           zhang1,zhang2
        }

define contactgroup{
        contactgroup_name              system
        alias                                     system
        members                              li1,li2
        }

注:

1、在commands.cfg文件中要定义发邮件的命令(默认就存在)

2、在hosts.cfg和services.cfg文件添加有关发通知的联系人信息和间隔等。

3、nagios是利用本地的邮件服务器发送邮件(sendmail或postfix),只要确保sendmail或postfix启动就可以。

时间: 2024-12-22 22:44:29

nagios通过邮件发送报警的相关文章

zabbix设置邮件发送报警

找到QQ邮件服务器地址 打开QQ邮箱-设置-账户 开启POP3/SMTP服务 生成授权码,记住这个授权码 找到QQ的SMTP服务器地址 配置发件人Email信息 管理-报警媒介类型-Email 填写相关信息如下 配置收件人Email信息 选择用户-Admin 选择报警媒介-添加 启用报警 配置-动作-Report problems to Zabbix administrators 配置相关报警信息 启用报警 自定义报警信息 发送警告 默认标题: 故障{TRIGGER.STATUS},服务器:{H

Nagios开发邮件报警程序

当前公司nagios已经正常使用,也能报警,但是邮件报警采用的是sendmail,发件人总是[email protected],收到后经常被加入到邮件中的垃圾箱,并且有些邮箱服务器有反垃圾检测,导致用户接收不到邮件.为解决这个问题,决定自己写一个邮件发送程序.过程如下: 1.开发发送邮件脚本 [[email protected] python]# cat sendmail.py #!/usr/bin/python # -*- coding:utf-8 -*- import smtplib imp

使用Zabbix服务端本地邮箱账号发送报警邮件的部署记录

邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:[email protected]),只能发送,不能接收外部邮件.2)使用一个可以在互联网上正常收发邮件的邮箱账号(例如:[email protected]),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱.上面第2中使用外部邮箱发送报警邮件之前已经介绍了:分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署.下面说下

linux服务器发送报警邮件

由于公司业务需要,领导要求发送报警邮件,在我的认知中应该是有两种,一种是将服务器搭建为邮件服务器,这种可以使用postfix或者sendmail等,但是配置相对比较复杂,对运维人员水平要求也比较高.其实完全没有必要这么做.这就说到我们的第二种方法了,可以调用第三方邮件服务器.我们公司有自己的邮件服务器,所以直接新建了个账户,然后在这台需要发送的服务器上进行配置就可以了.服务器是centos6.8的系统.配置是在/etc/mail.rc这个文件中配置的.主要有以下几个配置项需要调整 [[email

Python脚本通过邮件发送zabbix报警图片

Python脚本通过邮件发送zabbix报警图片流程如下: 通过zabbix传递给脚本的message参数,筛选出报警信息的itemid; 通过获取的itemid,在数据库中查找对应的grpahid; 拉取对应graphid的图片并保存; 将报警信息和图片组装成html; 发送邮件. Python脚本如下: #!/usr/bin/python #coding=utf-8 from email.mime.text import MIMEText from email.mime.multipart 

nagios配置邮件报警

1.配置sendmail vi /etc/mail.rc 加入以下行 set bsdcompat set from=邮件用户名@domain.com smtp=smtp.126.com set smtp-auth-user=邮件用户名 smtp-auth-password=邮箱密码 set smtp-auth=login 2.检查commands.cfg #######################################################################

关于zabbix发送报警邮件25端口不通问题的解决方案

写这篇文章的目的不是别的,今年在阿里云的centos7上安装了zabbix3以上版本,我可以直接说明不是zabbix最新版本,安装路上根据之前总结文档一顿操作,ok,一切正常,zabbix服务器正常启动,界面也正常,直至报警调试自带mail报警,发现并没有收到邮件. 于是手动测试邮件发送,发现失败了,....失败了.然后各种百度找资料,一瞬间发现很多文档,最多的就说阿里云禁用了邮件服务器的25端口,而mail默认走25.            既然发现问题,那就是解决问题,于是各种尝试改配置文件

定时监控所有服务器的端口,如果挂起,发送报警邮件

功能:1:ping所有网内机器的IP地址,如果不通,发送报警 2:检测网内所有机器的服务端口,如果不通,发送报警 #!/bin/bash ##读取IP列表,测试ip的某个端口## while read ip1do ping -c 2 $ip1 >> /dev/null 2>&1 if [ $? -eq 0 ]; then echo "************************"echo "ping $ip1 ,ok" elseecho

Mailx解决Linux报警邮件发送问题

在做服务器监控的时候,有的使用专业的zabbix监控来解决,但是有的个别机器可能只是临时脚本监控一下,这个时候可能也需要一个介质来发送警报,如果公司内部有邮件服务器postfix还好没有的话,再搞一个域名什么的也太麻烦.Mailx就可以解决这样一个问题,通过mailx配置好发送服务器的相关信息就可以了 安装: [[email protected] ~]# rpm -q mailx mailx-12.4-7.el6.x86_64 我印象里这个好像不用装,因为系统会预装的,先rpm -q一下,如果没