实验条件:

Zabbix监控服务器、客户端都已经部署完成,被监控主机已添加完成,Zabbix监控运行正常。

实现目的:

Zabbix监控服务器设置邮件报警,当被监控主机宕机或达到触发器预设值进,会自动发送报警邮件到指定的邮箱。

概念补充:

什么是MTA?什么是MUA?

通俗的说MUA就是用户使用的客户端,而MTA则是真正发送邮件的发送进程,MUA编写的邮件最终也交由MTA发送至目标端。

mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。

Sendmail和postfix即为负责邮件在网络上传输的MTA,将邮件从一个MTA传送至另一个MTA。

标注:使用zabbox服服务端本地邮箱账号发送邮件,需要安装两个软件达到报警邮件转发至指定邮箱。Sendmail或postfix(两个软件各选择一个,但不能同时运行)和mailx邮件客户端。

配置网络yum源参考教程:

http://www.cnblogs.com/zoulongbin/p/5773330.html

Zabbix服务器操作

1、  安装sendmail或postfix (邮件传送代理MTA),本教程使用sendmail软件。

(标注:如果直接使用外部邮箱发送邮件可以不需要配置sendmail或postfix,直接把这两个软件关掉,直接跳到第3步:配置mail即可实现) 

[root@ssticentos65 ~]# yum -y install sendmail                #在线yum安装sendmail

[root@ssticentos65 ~]# /etc/init.d/sendmail start            #启动sendmail服务

[root@ssticentos65 ~]# /etc/init.d/sendmail status          #查看sendmail启动情况

sendmail dead but subsys locked                                          #sendmail进程锁住,原因是postfix服务启动导致sendmail服务进程锁住,需要关闭postfix服务。

sm-client (pid  1759) is running...

[root@ssticentos65 ~]# /etc/init.d/postfix stop                #暂停postfix服务提示失败,原因是postfix进程正在使用,需要使用kill命令杀掉postfix进程

Shutting down postfix:                                     [FAILED]

[root@ssticentos65 ~]# /etc/init.d/postfix status                #查看postfix服务可以查看到进程号

master (pid  1647) is running...

[root@ssticentos65 ~]# kill -9 1647                                     #杀掉postfix服务进程号

[root@ssticentos65 ~]# /etc/init.d/postfix status                #查看postfix状态

master dead but pid file exists

[root@ssticentos65 ~]# chkconfig postfix off                      #设置postfix开机不启动

[root@ssticentos65 ~]# /etc/init.d/sendmail stop               #暂停sendmail服务

Shutting down sm-client:                                   [  OK  ]

Shutting down sendmail:                                    [FAILED]

[root@ssticentos65 ~]# /etc/init.d/sendmail start                 #启动sendmail服务

Starting sendmail:                                         [  OK  ]

Starting sm-client:                                        [  OK  ]

[root@ssticentos65 ~]#

2、安装邮件发送工具mailx 。(邮件用户代理MUA)

[root@ssticentos65 ~]# yum -y install mailx                     #在线安装mailx

3、  配置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                           #登录

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

messages=`echo $3 | tr '\r\n' '\n'`

subject=`echo $2 | tr '\r\n' '\n'`

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

[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客户端服务

zabbix 服务器设置邮件报警的更多相关文章

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

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

  2. centos7安装ZABBIX 3.0+ 邮件报警【OK】

    设置主机名: vi /etc/hosts 10.0.0.252 zabbix-server hostnamectl set-hostname   关闭防火墙: systemctl stop firew ...

  3. Zabbix设置邮件报警

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

  4. zabbix3 设置邮件报警(五)

    Zabbix邮件报警配置 一.安装sendmail或者postfix(安装一种即可) yum install sendmail #安装 service sendmail start #启动 chkco ...

  5. 总zabbix配置-搭建-邮件报警-微信报警-监控mysql

    Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建LAMP 前提Centos系统安装完成:  确认一下: 1 2 cat /etc/redhat-rele ...

  6. zabbix实现QQ邮件报警通知--技术流ken

    前言 前几天搜了下网上使用zabbix邮件报警通知的文章,大多数还是使用mailx的方法,过程配置起来比较冗余繁琐,这几天想着把自己平时用到的qq邮件报警的方法分享出来供大家参考,以此减少不必要的步骤 ...

  7. zabbix之 qq邮件报警

    一.安装sendmail或postfix[root@zabbix ~]# yum install sendmail –y                     #在线yum安装sendmail[ro ...

  8. zabbix监控之邮件报警通知

    zabbix官网的操作指南:https://www.zabbix.com/documentation/4.0/zh/manual 首先我们需要创建一个需要被监控的主机,并设置相应的监控项.当监控项收集 ...

  9. zabbix3.0.3 设置邮件报警

    在zabbix3.0.3 设置报警这里卡了两天.终于解决了,这里我使用的mailx来作为发送邮件的客户端 1.设置mailx发信账号 yum -y install mailx ln -s /bin/m ...

随机推荐

  1. Path-to-PegExp的使用

    下载: npm install path-to-regexp --save 引入: var pathToRegexp = require('path-to-regexp') 或者 import pat ...

  2. 解决问题:swiper动态加载图片后无法滑动

    原因:swiper在初始化的时候会扫描swiper-wrapper下面的swiper-slide的个数,从而完成初始化,但是由于动态加载时在初始化之后的动作,所以导致无法滑动. 解决方案 1:在动态获 ...

  3. curl传输文件实例

    curl -H "Authorization:Bearer 5d719398-4230-44c7-b88b-f280b6a8d070" -H "Accept: appli ...

  4. Python3在指定路径下递归定位文件中出现的字符串

    [本文出自天外归云的博客园] 脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息). 用到的python特性: 1. PEP 318 -- Decorators for Fun ...

  5. ThinkPHP使用Smarty

    ThinkPHP支持多种php模板引擎,可以根据个人需要加以配置. 第一步: 首先去Smarty官网上下载一个Smarty. 第二步: 解压压缩包,会有两个文件夹:demo和libs.打开libs文件 ...

  6. PHP error_reporting() 函数

    实例 规定不同的错误级别报告: <?php // 关闭错误报告 error_reporting(0); // 报告 runtime 错误 error_reporting(E_ERROR | E_ ...

  7. GitHub限制上传单个大于100M的大文件

    工作中遇到这个问题,一些美术资源..unitypackage文件大于100M,Push到GitHub时被拒绝.意思是Push到GitHub的每个文件的大小都要求小于100M. 搜了一下,很多解决办法只 ...

  8. 如何在CentOS 6.5上升级PHP

    CentOS 6.5上默认安装PHP 5.3.因为后台网站无法正确运行在PHP 5.3上,所以计划将PHP升级到开发平台一样的版本PHP 5.5.为了方便,我们采用YUM的方式升级PHP 工具/原料 ...

  9. SwipeBackLayout侧滑返回显示桌面

    SwipeBackLayout是一个很好的类库,它可以让Android实现类似iOS系统的右滑返回效果,但是很多用户在使用官方提供的Demo会发现,可能出现黑屏或者返回只是看到桌面背景而没有看到上一个 ...

  10. Java设计模式(8)组合模式(Composite模式)

    Composite定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. Composite比较容易理解,想到Composite就应该想到树 ...