zabbix添加邮件报警机制

                                作者:尹正杰

  还记得之前跟大家聊过的一个如何监控一个目录的话题吗?我们虽然监控出来数据了,也有数据了,但是,只是监控也没有用啊~因为我们不能24小时盯着屏幕然后

出了事情在去处理问题吧!所以啊,你需要一个报警机制!(欢迎加入:高级运维工程师之路 598432640【一手资源发源地】)

在部署这个环境的时候遇到了一些麻烦:感谢好友(网友名称叫:”冷眸 °“和”小东哥“)无私的给我指点迷津~让我能更快速的了解这个软件的使用~

说到报警常用的有三种:

一是邮件报警,这个在生产环境中用到的是最多的,几乎没有企业都会采用这种方式;

二是微信报警,至于不完微信的小哥哥小姐姐可能对这个不敢兴趣,后期有机会我们也可以写个博客关于微信报警的;

三就是我们最常用的一种联系方式,短信~之前是有免费的飞信机器人,现在资源貌似不好找了,我们可以了解一下啊!

接下来就让我们接着上次对目录监控的进行邮件报警吧!咱们的邮件指的是生产环境中的配置哟~属于干货~

服务器前端配置(web)

一.配置触发器(trigger)

1.编辑模板的触发器 (从上往下依次点击,会弹出如下对话框)

2.选择需要添加触发器的监控项

3.编辑一下你需要触发报警的值

4.添加一下描述信息,让你以后方便知道这个触发器到底是干嘛的

5.点击添加

二:添加报警媒介

1.点击创建媒介类型

2.只要类型选择脚本,并在下面添加3个变量

3.点击更新(可以看到我们新加的报警媒介)

4.添加用户的媒介(我没有创建新的用户,俺用的是zabbix自带的用户呢)

5.添加测试的邮件

三.添加动作(action)

1.创建动作

2.为这个动作起个名称,这个你可以自定义的哟

3.匹配条件,这个条件是根据你的触发器名称来匹配的,所以我们只需要吧cactalog这个匹配上去就好了,实际生产环境中我们可以根据实际情况来匹配

4.其实这个才是action的核心,因为就靠这个选项来配置要发送给谁,以及发送的步骤,在这里,你可以定义几个步骤,例子:1-2;2-3;3-0(这就表示3个动作,我们可以把这3个

步骤定义到发送给不通的用户,来达到增加报警的级别,zabbix的这个功能我不得不竖起我的大拇指给他点赞啊!)

5.点击添加,然后注意要启用这个动作哟。

服务器后端配置

好了,我们点完简单而又繁琐的web之后,让我们一起把后端的工作搞定吧~

首先你要清楚监控是服务器在监控,要发送邮件肯定需要发送邮件的工具,我听说他们说sendmail和postfix都挺好使的,最后我选择了mailx。

还有就是你要清楚一个编码的问题,windows默认是gbk编码,linux在字符界面默认是ASCII编码,当然你可以指定成成utf-8编码(可以理解成unicode的一个延伸)

1.为了解决这2个问题,我们需要安装2个软件包

[root@bogon yinzhengjie]# yum -y install mailx dos2unix

2.编辑mailx的配置文件,写上相应的163.com的账号和机器码(关于如何获取机器码,可以参考我的另外一篇文章)

[root@bogon yinzhengjie]# tail -3  /etc/mail.rc  | grep -v "^#"

3.编写邮件发送脚本

还记的我们前面配置的媒介上面让大家写过的一个脚本名称吗?它其实就是来到zabbix指定目录去调用这个脚本

[root@bogon yinzhengjie]# cd /usr/local/zabbix/share/zabbix/alertscripts

[root@bogon alertscripts]# less warning_scripts.sh
#!/bin/bash
#export LANG=zh_CN.UTF-8
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
[root@bogon alertscripts]#

以上这个脚本可以把发送的内容传递给mailx工具去发送邮件,好~打完收工!让我们看看去客户端搞点事情吧~

客户端配置:

在配置之前,我们可以在zabbix前端看到目录大小的监控情况

来,让我们一起把监控去把这个目录变大吧~

[root@bogon yinzhengjie]# dd if=/dev/zero of=/yinzhengjie/data/alarm/big_file.txt bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.3404 s, 308 MB/s
[root@bogon yinzhengjie]# du -sh /yinzhengjie/data/alarm/
211M /yinzhengjie/data/alarm/
[root@bogon yinzhengjie]#

agent端的目录变大了,我们来看看现在监控的是不是也变大呢?

查看报警报警邮箱账号:

到此~我们生产环境中的邮件报警就已经搞定了~

zabbix添加邮件报警机制的更多相关文章

  1. zabbix配置邮件报警(第四篇)

    zabbix配置邮件报警(第四篇) 邮件报警可采用本地邮件服务,也可以自定义脚本,这里我采用本地邮件服务报警 添加收件人

  2. 【Zabbix】zabbix设置邮件报警

    目录 Zabbix设置邮件报警 1.安装sendmail或postfix 2.安装邮件发送工具mailx . 3.配置mail 4. 测试邮件发送 5.编写邮件发送脚本sendmail.sh 6.设置 ...

  3. 部署kube-prometheus,添加邮件报警

    这个项目出自coreos,已经存在很久了,第一次尝试的时候还很简陋,现在完善了很多. 项目提供了一键部署脚本,跑起来并不难,不过个人感觉要真正掌握并灵活使用并不是很容易. kube version: ...

  4. Zabbix设置邮件报警

    邮件报警 概述当监控项收集了数据后,触发器会根据异常状态触发报警.根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看.这就是通知(Notifications)的 ...

  5. zabbix的邮件报警

    邮件报警插件 #!/usr/bin/python #coding:utf-8 import smtplib from email.MIMEText import MIMEText import os ...

  6. zabbix实现邮件报警

    说明: Zabbix监控服务端.客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常. 实现目的: 在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报 ...

  7. 分布式监控系统Zabbix3.2给异常添加邮件报警

    在前一篇 分布式监控系统Zabbix3.2跳坑指南 中已安装好服务端和客户端,此处客户端是被监控的服务器,可能有上百台服务器.监控的目的一个是可以查看历史状态,可以对比零晨和工作区间数据的对比,以便后 ...

  8. linux(centos8):zabbix配置邮件报警(监控错误日志)(zabbix5.0)

    一,zabbix5.0发邮件报警的准备工作: zabbix5.0在linux平台上的安装:参见这一篇: https://www.cnblogs.com/architectforest/p/129125 ...

  9. zabbix配置邮件报警

    1.yum源安装sendmail,sendmail-cf和mailx 2.关闭postfix,/etc/init.d/postfix stop chkconfig posfix off 3.启动sen ...

随机推荐

  1. 更新Delphi中SVN客户端版本的方法

    Delphi从XE以后集成里SVN客户端, 安装完Delphi以后, 在bin\subversion下, 存放的就是SVN客户端文件, 可惜版本有点低(好像是1.7的) 如果想更新成高版本的客户端文件 ...

  2. Redis-秒杀场景应用

    Redis Util实现 package test.jedis; import java.util.List; import java.util.Set; import redis.clients.j ...

  3. Intent Flag(转)

    转载自 http://blog.csdn.net/berber78/article/details/7278408 一. intent.setFlags()方法中的参数值含义: 1.FLAG_ACTI ...

  4. Java字符串的那些事儿。。。。

    计划围绕以下几个方面 1.内存 2.正则表达式 3.String.format 4.编码 1.内存 先来看个经典的例子 public class Blog { public static void m ...

  5. JAVA中使用JSON进行数据传递

    最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应用客户端的开发工作. 其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JS ...

  6. MVC分页控件之二,为IQueryable定义一个扩展方法,直接反回PagedList<T>结果集(转)

    namespace Entity { public interface IPagedList { /// <summary> /// 记录数 /// </summary> in ...

  7. Anacodna之conda与 virtualenv对比使用教程,创建虚拟环境

    conda创建虚拟环境 1.查看包 conda list查看安装了哪些包 conda env list查看有哪些虚拟环境 conda -V查看conda的版本 2.创建虚拟环境,命名为myflaska ...

  8. 七步实现magento迁移

    很多朋友都在为magento搬家烦恼,要想把magento从一台服务器迁移到另一台服务器上并不难,下面给大家介绍一种简单方法就能轻松实现magento迁移. 范例:从http://magento.yo ...

  9. [LeetCode]题解(python):107 Binary Tree Level Order Traversal II

    题目来源 https://leetcode.com/problems/binary-tree-level-order-traversal-ii/ Given a binary tree, return ...

  10. SQLSERVER 16进制与10进制转换

    最近工控项目中遇到的16进制与10进制转换,在.NET中比较容易实现,在SQLSERVER中发现没有直接的转换,尤其是出现超出范围的long负数,即无符号64位整数在sqlserver中的存储.网上找 ...