文章目录

  • 1.邮件告警配置
    • 1)本地mail搭建
    • 2)zabbix server配置
    • 3)zabbix web配置
    • 4)查看告警动作
  • 2.钉钉告警配置
    • 1)创建接收告警群
    • 2)创建群聊机器人
    • 3)告警脚本配置
    • 4)zabbix web配置

1.邮件告警配置

1)本地mail搭建

CentOS 7自带邮件系统,利用配置mail邮件系统发送邮件告警

#配置系统自带mail服务器(默认可能没有配置mail,重新手动配置即可)
[root@Zabbix server ~]# egrep '^[^#]' /etc/mail.rc
set bsdcompat
set from=zeny-he@qq.com                       #发送邮件后显示的邮件发送方
set smtp=smtp.qq.com                          #网易邮箱smtp邮件服务器地址
set smtp-auth-user=zeny-he@qq.com             #发件人邮箱
set smtp-auth-password=ychwmzxeblxlbfbh       #发件人认证邮箱密码及校验码
set smtp-auth=login                           #邮箱动作,表示登录动作#测试邮件服务器(发送两条测试,没有同步发送,时间有差异,如下所示:)
[root@Zabbix server ~]# echo '你好'|mail -s '主题' zeny-he@qq.com
[root@Zabbix server ~]# echo '你服务器已宕机,请确认哦'|mail -s '【zabbix告警】' zeny-he@qq.com

mail服务器已搭建完毕,如下所示:

2)zabbix server配置

#查看zabbix脚本启动参数
[root@Zabbix server ~]# egrep 'AlertScriptsPath' /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts#配置mail脚本
[root@Zabbix server ~]# cd /usr/lib/zabbix/alertscripts/
[root@Zabbix server alertscripts]# chmod +x sendmailzeny.sh
[root@Zabbix server alertscripts]# ll
total 8
-rwxr-xr-x 1 root root 1365 Aug  9 15:20 sendalert.py
-rwxr-xr-x 1 root root  315 Aug 10 14:53 sendmailzeny.sh
[root@Zabbix server ~]# cat  /usr/lib/zabbix/alertscripts/sendmailzeny.sh
#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -v -s "${subject}" -c "zeny-he@qq.com" "zeny.he@qq.com" $1 >>/tmp/sendmail.log 2>&1#echo $1 >> /tmp/sendmail.log 2>&1
#echo $messages >> /tmp/sendmail.log 2>&1
#echo $subject >> /tmp/sendmail.log 2>&1

3)zabbix web配置

zabbix web配置报警媒介:

配置告警媒介动作:

主题:
zeny Alarm:{TRIGGER.STATUS}: {EVENT.NAME}
消息:
zeny 您好!
以下是 Zabbix监控服务器发来的监控邮件。
【监控对象】: {HOSTNAME}: {HOST.CONN}
【事件信息】: {EVENT.NAME}: {TRIGGER.STATUS}
【发生时间】: {EVENT.DATE} {EVENT.TIME}
【报警级别】: {TRIGGER.SEVERITY}
【最新数值】: {ITEM.LASTVALUE}

4)查看告警动作

2.钉钉告警配置

1)创建接收告警群

创建告警的群聊,可随意创建群聊

2)创建群聊机器人

添加钉钉群聊机器人:

机器人添加


复制保存此项,接入的api

3)告警脚本配置

#查看zabbix server配置中脚本默认路径
[root@Zabbix server ~]# grep 'AlertScriptsPath' /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts#配置钉钉告警脚本及日志
[root@Zabbix server ~]# vim /usr/lib/zabbix/alertscripts/sendalert.py
[root@Zabbix server ~]# ll /usr/lib/zabbix/alertscripts/sendalert.py
-rw-r--r-- 1 root root 1365 Aug  9 15:20 /usr/lib/zabbix/alertscripts/sendalert.py
[root@Zabbix server ~]# chmod +x /usr/lib/zabbix/alertscripts/sendalert.py
[root@Zabbix server ~]# ll /usr/lib/zabbix/alertscripts/sendalert.py
-rwxr-xr-x 1 root root 1365 Aug  9 15:20 /usr/lib/zabbix/alertscripts/sendalert.py
[root@Zabbix server ~]# ll /var/log/zabbix/dingding.log
-rw-r--r-- 1 root root 0 Aug  9 15:24 /var/log/zabbix/dingding.log

钉钉告警脚本如下:

#说明:以下脚本只要将webhook改为你自己的webhook值即可,其它的不需要改变。#!/usr/bin/python#-*- coding: utf-8 -*-#zabbix钉钉报警import requests,json,sys,os,datetime#此项为机器人webhook的api
webhook="https://oapi.dingtalk.com/robot/send?access_token=fc24a33e1e6f5e28abf65303628f9b9b6040c5557498fdf5cd7a33705334b824"user=sys.argv[1]#发给钉钉群中哪个用户text=sys.argv[3]#发送的报警内容data={"msgtype": "text","text": {"content": text},"at": {"atMobiles": [user],"isAtAll": False}}#钉钉API固定数据格式headers = {'Content-Type': 'application/json'}x=requests.post(url=webhook,data=json.dumps(data),headers=headers)if os.path.exists("/var/log/zabbix/dingding.log"):f=open("/var/log/zabbix/dingding.log","a+")else:f=open("/var/log/zabbix/dingding.log","w+")f.write("\n"+"--"*30)if x.json()["errcode"] == 0:f.write("\n"+str(datetime.datetime.now())+"    "+str(user)+"    "+"发送成功"+"\n"+str(text))f.close()else:f.write("\n"+str(datetime.datetime.now()) + "    " + str(user) + "    " + "发送失败" + "\n" + str(text))f.close()#将发送的告警信息写入本地日志/var/log/zabbix/dingding.log中

脚本手动测试

#手动测试
[root@Zabbix server ~]# cd /usr/lib/zabbix/alertscripts/
[root@Zabbix server alertscripts]# ./dingding.py  #人员的钉钉号   Test  "这是条告警测试信息,请忽略"

错误解析:

#该脚本要求至少python2.7版本,具有requests模块
#安装python环境:
yum install python-pip -y
pip install --upgrade pip
pip install requests

4)zabbix web配置

管理》报警媒介类型》创建媒介类型

告警媒介配置

脚本参数:{ALERT.SENDTO}
#对应脚本中的,user=sys.argv1。{ALERT.SUBJECT}
#代表发送的信息的标题,在"报表"的"动作日志"中可以看到。{ALERT.MESSAGE}
#对应脚本中的,text=sys.argv3

配置执行的动作


"主题"对应"钉钉告警"媒介中的:{ALERT.SUBJECT}
"消息"对应"钉钉告警"媒介中的:{ALERT.MESSAGE}
"收件人"对应"钉钉告警"媒介中的:{ALERT.SENDTO}

主题:
故障名称(触发器名称):{EVENT.NAME}
消息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

主题:
故障恢复(触发器名称):{EVENT.NAME}
消息:
恢复主机:{HOSTNAME1}
恢复时间:{EVENT.DATE} {EVENT.TIME}
主机IP:{HOST.IP}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

用户告警媒介添加

注:这里只需要添加钉钉群里的任何一个成员的钉钉账号即可,即添加一个收件人,这样在机器人群里成员都能看到告警信息.,如果添加多个收件人,则机器人群里就会发送多个告警信息,一个收件人发一条信息.

@Zabbix配置邮箱告警及钉钉告警相关推荐

  1. Zabbix配置企业微信群聊机器人告警

    转载来源 : Zabbix配置企业微信群聊机器人告警 : https://www.jianshu.com/p/b5b1f92b1f15 最近在给内部使用的zabbix配置告警发送,要求是使用企业微信群 ...

  2. Zabbix —— 配置邮箱报警

    ---- 前言: 基于上篇博客,将进一步讲解 zabbix如何结合邮箱,进行报警提醒. 在zabbix的使用中,最重要的一点就是完善的报警机制,作为监控平台,需要时刻关注机器和服务的运行状态,更重要的 ...

  3. zabbix配置邮箱报警

    虽然网上有很多配置zabbix邮箱报警的邮件,但是能成功的还是少数,这里我把我做zabbix邮件报警的步骤写一下吧! 1.安装邮件发送工具mailx 网上的大多都是用的sendmail或者是postf ...

  4. Zabbix 配置钉钉脚本告警(4)

    title: Zabbix 配置钉钉脚本告警(4) date: 2018-12-10 11:50:21 tags: Zabbix categories: Zabbix copyright: true ...

  5. Zabbix 配置钉钉告警功能

    需求 Zabbix配置钉钉告警和Prometheus配置钉钉告警类似.只不过Zabbix通过钉钉告警是通过Python脚本实现.而Prometheus是通过钉钉的二进制包实现. 我们现在主要来讲解Za ...

  6. 通过Alertmanager实现Prometheus的告警告警配置(邮箱加钉钉)

    通过Alertmanager实现Prometheus的告警 告警配置 Prometheus本身不支持的告警功能,主要通过插件Alertmanager来实现告警.Alertmanager用于接收Prom ...

  7. [个人笔记] Zabbix配置钉钉群聊告警机制

    系统工程 - 运维篇 第二章 Zabbix配置钉钉群聊告警机制 系统工程 - 运维篇 系列文章回顾 下章内容 前言 实施步骤 Zabbix配置钉钉群聊告警机制 新增监控主机,添加监控项,触发器 导入自 ...

  8. Zabbix 配置钉钉告警

    需求 Zabbix配置钉钉告警和Prometheus配置钉钉告警类似.只不过Zabbix通过钉钉告警是通过Python脚本实现.而Prometheus是通过钉钉的二进制包实现. 钉钉的设置可以参看我的 ...

  9. zabbix配置钉钉机器人告警

    1.在钉钉上创建一个钉钉群组 2.在群组中添加一个机器人 3.配置zabbix server调用钉钉接口的代码(使用python) 查看是否有python环境 python --version 找到z ...

最新文章

  1. Nhibernate使用动态Expression的问题解决
  2. Redis与其他缓存框架的对比
  3. 基于jsp+javabean+servlet的二手物品交易系统_基于Jsp+Servlet的商城系统
  4. TensorFlow学习笔记(1):variable与get_variable, name_scope()和variable_scope()
  5. 将EntityManager.refresh添加到所有Spring数据存储库
  6. 调查HashDoS问题
  7. 快速理解设计模式六大原则
  8. 【LeetCode】贪心算法--分发糖果(135)
  9. 小米被指记录用户的 Web 和手机使用数据;传瑞幸咖啡CTO因个人原因辞职;IntelliJ IDEA 新版发布 | 极客头条...
  10. 继承接口Java多线程(二)、启动一个线程的3种方式
  11. 集成运放的电压跟随器有什么作用?
  12. 如何查看华为android系统,如何查看华为手机系统更新的新增功能
  13. 最新服务器处理器天梯,2019 最新 至强 Xeon 服务器系列 CPU天梯图
  14. zabbix如何网站监控web
  15. 光盘显示0字节可用_u盘显示0字节怎么办 u盘显示0字节解决步骤【方法】
  16. 大家身边有没有超级自恋的人
  17. 刚刚!中国最有前途的30座城市排名公布
  18. 导出RCP程序遇到错误
  19. 如何使用计算机视觉进行视频分析和处理?
  20. 计算机中的物理知识点总结,有关初中物理电磁波章节知识点总结

热门文章

  1. 使用nginx在指定端口做反向代理
  2. 题外-解决mac重启后git无法使用
  3. yuque-hexo:语雀写文,自动部署 Hexo 博客
  4. dom4j解析XML入门指北
  5. gazebo+turtlebot3+gmapping建二维地图
  6. 《My Fair Lady》All I want is a room somewhere
  7. 机器学习中的数据集切分
  8. win7双屏幕,双任务栏
  9. linux命令报错,在Linux执行命令报错”Arg list too long”的原因分析 – 运维派
  10. 一个小技巧告诉你,邮箱域名地址格式怎么选择?