zoukankan      html  css  js  c++  java
  • zabbix之 qq邮件报警

    一、安装sendmail或postfix
    [root@zabbix ~]# yum install sendmail –y                     #在线yum安装sendmail
    [root@zabbix ~]# service sendmail start                       #启动sendmail服务
    [root@zabbix ~]# chkconfig sendmail on                        #设置开机启动
    CentOS 5.x 默认已经安装好sendmail   (这个可以查一下)
    CentOS 6.x 默认已经安装好postfix      (这个可以查一下)
    sendmail和postfix只需要安装一个即可并开启服务即可。
    [root@zabbix ~]# /etc/init.d/sendmail status                  #查看sendmail启动情况
    sendmail 已死,但是 subsys 被锁          
    sm-client (pid  2113) 正在运行...                                                     #sendmail进程锁住,原因是postfix服务启动导致sendmail服务进程锁住,需要关闭postfix服务
    [root@zabbix ~]# /etc/init.d/postfix stop                     #暂停postfix服务
    [root@zabbix ~]# chkconfig postfix off                        #设置postfix开机不启动
    [root@zabbix ~]# /etc/init.d/sendmail stop                    #暂停sendmail服务
    [root@zabbix ~]# /etc/init.d/sendmail start                   #启动sendmail服务
    [root@zabbix ~]# /etc/init.d/sendmail status                  #查看sendmail启动情况
    sendmail (pid  2475) 正在运行...
    sm-client (pid  2485) 正在运行...
     
    二、安装邮件发送工具mailx
    [root@zabbix ~]# yum remove mailx                            #卸载系统自带的旧版mailx
    [root@zabbix ~]# yum install mailx –y                       #安装
    [root@zabbix ~]#mailx -V                                     #查看版本信息
    [root@zabbix ~]# whereis mailx                               #查看安装路径
     
    利用外部的smpt服务器
    而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的:
    [root@zabbix ~]# vim /etc/mail.rc  修改/etc/mail.rc
    set from=709885674@qq.com smtp=smtp.qq.com
    set smtp-auth-user=709885674@qq.com smtp-auth-password=********
    set smtp-auth=login
    说明:
    from是发送的邮件地址
    smtp是发生的外部smtp服务器的地址
    smtp-auth-user是外部smtp服务器认证的用户名
    smtp-auth-password是外部smtp服务器认证的用户密码,在qq邮箱中设置生成  (邮箱密码使用SMTP授权码)
    smtp-auth是邮件认证的方式
    配置成功后,就可以使用了
    可以发送一封邮件测试一下:
    [root@zabbix ~]# mailx -s "mail from linux" 709885674@qq.com < zabbixtest.txt 其中-s后面的是邮件标题,709885674@qq.com是收件人地址,zabbixtest.txt里面是邮件正文(先创建zabbixtest.txt写入内容)
    收到邮件如下:

    Zabbix监控系统邮件报警设置方法

    编写邮件发送脚本sendmail.sh

    [root@zabbix ~]#cd /usr/local/zabbix/share/zabbix/alertscripts/  #进入zabbix默认存放脚本路径

    [root@zabbix alertscripts]# vim sendmail.sh                                              #编写发送邮件脚本

    #!/bin/bash

    messages=`echo $3 | tr ' ' ' '`

    subject=`echo $2 | tr ' ' ' '`

    echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

    [root@zabbix ~]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

    #sendmail.sh脚本修改所属用户和用户组

    [root@zabbix ~]# chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

    #sendmail脚本赋予执行权限

    [root@zabbix ~]# ls -l /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

     -rwxr-xr-x. 1 zabbix zabbix 153 10月 25 15:09 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh  

    #查看sendmail.sh脚本权限相关信息

    [root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf    #配置zabbix_server.conf配置文件

    AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

    #加入一行sendmail.sh脚本存放路径

    [root@zabbix ~]# su zabbix                                                            #切换zabbix用户

    [zabbix@zabbix root]$ /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh  709885674@qq.com "test linux"  "test"

    #用zabbix用户执行sendmail.sh脚本看是否有权限,发件成功,邮件如下:

    进入Zabbix后台web介面配置

    1、管理 ----报警媒介类型-----创建媒介类型。

    Zabbix监控系统邮件报警设置方法

    2、名称可以随便自己定义-----类型选择“脚本”-----脚本名称输入上一步编写的发送邮件的脚本名称----

    再添加以下3个参数,分别对应脚本需要的3个参数:收件人地址、主题、详细内容:

    {ALERT.SENDTO}    #收件人地址

    {ALERT.SUBJECT}   #主题

    {ALERT.MESSAGE}   #详细内容

    Zabbix监控系统邮件报警设置方法

    3、管理----用户-----选择admin用户(自己创建一个用户也可以)。

    Zabbix监控系统邮件报警设置方法

    4、报警媒介----添加。

    Zabbix监控系统邮件报警设置方法

    5、类型输入刚刚创建的报警媒介类型sendmail脚本---输入个人邮箱用于接收报警邮件---启动打勾----添加。

    Zabbix监控系统邮件报警设置方法

    6、选择更新。

    Zabbix监控系统邮件报警设置方法

    7、权限设置(管理员用户不用修改,权限默认所有服务器,如果要分类权限需要在用户组进行控制)。

    Zabbix监控系统邮件报警设置方法

    8、管理---用户群组,需要把刚刚添加的

    Zabbix监控系统邮件报警设置方法

    Zabbix监控系统邮件报警设置方法

    9、配置----动作----创建动作。

    Zabbix监控系统邮件报警设置方法

    10、动作----名称自定义---设置一条新的触发条件----启用----添加。(触发条件根据实际情况设置) “触发器名称”、“ 似”、方框可填入“is unreachable for 5 minutes”#根据主机触发器 Template App Zabbix Agent:Zabbix agent on {HOST.NAME} is unreachable for 5 minutes设置,主要监测zabbix_agentd客户端连接情况。

    Zabbix监控系统邮件报警设置方法

    11、配置---动作---操作(自定义的,根据自己的需求定义)。

    Zabbix监控系统邮件报警设置方法

    默认接收人: fault {trigger.status}, server: {HOSTNAME1} occurs: {trigger.name} failure!

    默认信息: alarm HOST IP address: {host.conn}

    Alarm host: {HOSTNAME1}

    Alarm TIME: {event.date} {event.time}

    Alarm level: {trigger.severity}

    Warning: {trigger.name}

    Alarm project: {trigger.key1}

    Details: {item.name} : {item.value}

    Current STATUS: {trigger.status} : {item.value1}

    12、配置---动作---恢复操作(自定义的,根据自己的需求定义)。

    Zabbix监控系统邮件报警设置方法

    默认接收人:: restore {trigger.status}, server: {HOSTNAME1}: {trigger.name} has been restored!

    恢复信息: alarm HOST IP address: {host.conn}

    Alarm host: {HOSTNAME1}

    Alarm TIME: {event.date} {event.time}

    Alarm level: {trigger.severity}

    Warning: {trigger.name}

    Alarm project: {trigger.key1}

    Details: {item.name} : {item.value}

    Current STATUS: {trigger.status} : {item.value1}

    13、已经设置好了,我们测试一下。检测中---仪表板,在 “系统状态”可以看到,有一个一般严重的故障,把鼠标放在1的位置就能看到相关信息。

    Zabbix监控系统邮件报警设置方法

    14、报表---动作日志,可以看到发件的状态:已发送及内容(我这乱码了)。

    Zabbix监控系统邮件报警设置方法

    15、返回邮箱,可以看到邮件报警内容了。(我这乱码了)。

  • 相关阅读:
    程序员必备的代码审查(Code Review)清单
    Laravel 在homestead 平台上命令
    Laravel5.5执行 npm run dev时报错,提示cross-env找不到(not found)的解决办法
    Laravel 的Artisan 命令学习
    github常见操作和常见错误!错误提示:fatal: remote origin already exists.
    Sublime如何设置背景透明
    jquery判断滚动条是否到底部
    mysql的数据恢复
    MySQL体系结构
    mysql-trigger-触发器
  • 原文地址:https://www.cnblogs.com/andy6/p/10034086.html
Copyright © 2011-2022 走看看