zoukankan      html  css  js  c++  java
  • zabbix-设置邮箱预警

    设置预警系统

    机器是被监控上了,但是出了问题怎么通知呢?之前学过监控软件的都知道可以使用报警机制啊,如果监控平台zabbix server发现某个机器异常了,可以给运维管理员发邮件啊,通过邮件通知管理员,让其尽快处理问题机器。

    1、安装邮件发送工具mailx 。

    [root@ssticentos65 ~]# yum -y install mailx   

    2、  配置mail

    [root@ssticentos65 ~]# vim /etc/mail.rc

    set  from=lg1871212539@sina.com        #新浪注册的个人邮箱,用于zabbi服务端转发邮件到指定邮箱

    set  smtp=smtp.sina.com                       #填写新浪发送邮箱服务器地址smtp

    set  smtp-auth-user= lg1871212539      #新浪个人邮箱用户

    set  smtp-auth-password=lg123456      #新浪个人邮箱密码

    set  smtp-auth=login                           #登录

     #####################################

     以下是qq邮箱配置方法:

    set from=xxx@qq.com                                        ---------------自己的邮箱
    set smtp=smtp.qq.com                                        ---------------邮件服务器
    set smtp-auth-user=xxx@qq.com                       ---------------自己的邮箱
    set smtp-auth-password=gdanhcvhdvsqbihd     qq邮箱设置----账户-----POP3/SMTP服务 开启后生成的密钥文件输入这里
    set smtp-auth=login                                            默认格式
    set smtp-use-starttls                                           默认格式
    set ssl-verify=ignore                                           默认格式
    set nss-config-dir=/etc/pki/nssdb/                       默认格式

    4、测试邮件能否发送

    #发送一份邮件到1873714157@qq.com 这个QQ邮箱(个人申请的QQ测试邮箱)

    [root@ssticentos65 ~]# echo "test" | mail -s 'test linux'  1873714157@qq.com  

    5、编写邮件发送脚本sendmail.sh

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

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

    #!/bin/bash
    # export LANG=zh_CN.UTF-8
    to=$1 
    subject=$2 
    body=$3
    FILE=/tmp/mailtmp.txt
    echo "$3" >$FILE
    dos2unix -k $FILE
    /bin/mail -s "$2" $1 < $FILE

    [root@ssticentos65 ~]# touch /tmp/mailtmp.txt
    
    [root@ssticentos65 ~]# chown  zabbix.zabbix /tmp/mailtmp.txt
    
    [root@ssticentos65 ~]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh                       #sendmail.sh脚本修改所属用户和用户组
    
    [root@ssticentos65 ~]# chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh                                     #sendmail脚本赋予执行权限
    
    [root@ssticentos65 ~]# ls -l /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh                                                 #查看sendmail.sh脚本信息
    
    -rwxr-xr-x. 1 zabbix zabbix 154 Jan  7 05:12 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
    
    [root@ssticentos65 ~]# vim /usr/local/zabbix/etc/zabbix_server.conf                                                                          #配置zabbix_server.conf配置文件
    
    AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts                                                                                      #这个修改成sendmail.sh脚本存放路径
    
    [root@ssticentos65 ~]# su zabbix                                                                                                                                  #切换zabbix用户
    
    sh-4.1$ /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 1873714157@qq.com "test linux" "test"                  #zabbix用户执行sendmail.sh脚本看是否有权限

    Zabbix后台web介面配置

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

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

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

    {ALERT.SENDTO}

    {ALERT.SUBJECT}

    {ALERT.MESSAGE}

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

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

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

    6、选择更新。

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

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

    9、动作 ---- 名称自定义 --- 设置一条新的触发条件 ---- 启用 ---- 添加。(触发条件需要根据实际情况设置)

    触发器   似      is unreachable for 5 minutes      #根据主机触发器  Template App Zabbix AgentZabbix agent on {HOST.NAME} is unreachable for 5 minutes  设置,主要监测zabbix_agentd客户端连接情况。

    10、定义操作。

    默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

    默认信息:

    告警主机IP地址:{HOST.CONN}

    告警主机:{HOSTNAME1}

    告警时间:{EVENT.DATE} {EVENT.TIME}

    告警等级:{TRIGGER.SEVERITY}

    告警信息: {TRIGGER.NAME}

    告警项目:{TRIGGER.KEY1}

    问题详情:{ITEM.NAME}:{ITEM.VALUE}

    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

    11、定义恢复操作。

    默认接收人:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

    恢复信息:

    告警主机IP地址:{HOST.CONN}

    告警主机:{HOSTNAME1}

    告警时间:{EVENT.DATE} {EVENT.TIME}

    告警等级:{TRIGGER.SEVERITY}

    告警信息: {TRIGGER.NAME}

    告警项目:{TRIGGER.KEY1}

    问题详情:{ITEM.NAME}:{ITEM.VALUE}

    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

    12、测试。

    [root@ssticentos65 alertscripts]# /etc/init.d/zabbix_agentd stop              #暂停zabbix_agentd客户端服务

     

  • 相关阅读:
    使用knockout.js 完毕template binding
    站点建设价格为什么有高有低?站点建设该怎样选择?
    同余 模算术 中国剩余定理
    linux 命令之 apt-get
    [Leetcode]-Reverse Integer
    《Python入门》Windows 7下Python Web开发环境搭建笔记
    javascript之Ajax起步
    SQL server 2012 安装SQL2012出现报错: 启用 Windows 功能 NetFx3 时出错
    C# 反射具体解释
    java8_api_jni
  • 原文地址:https://www.cnblogs.com/Xuuuuuu/p/11244308.html
Copyright © 2011-2022 走看看