文档章节

zabbix3.2学习笔记(四):设置sendEmail告警动作

hiwill
 hiwill
发布于 2017/08/17 22:20
字数 991
阅读 62
收藏 0

接上一篇,安装好zabbix客户端和服务端、初始化完web前端后,接下来的就是将监控主机、设备加入监控,监控的目的是及时获得运维场景的各种告警,并及时采取各种挽救措施。
整个运维流程大致是:首先按项目角色新建zabbix用户群组,其次新建对应用户并设置报警媒介,随后按应用服务和项目名称新建主机群组;再就是新建模版、监控项和触发器,或者导入各种应用模版;最后加入监控主机并设置告警动作。
下面逐一实现:
1,新建op用户群组

单击 新建用户群组

输入组名ops,单击添加即可
2,新建用户

安全起见,禁用guest用户

新建用户如上图
3,新建报警媒介

报警媒介有四种,如上图,用的最多的就是电子邮件和脚本,脚本非常灵活,微信、QQ、邮件都可实现。
这里用脚本实现邮件告警
|
4,在zabbix server端设置与上图对应的告警脚本

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

tar zxf sendEmail-v1.56.tar.gz -C /usr/src

cd /usr/src/sendEmail-v1.56

cp -a sendEmail /usr/local/bin

yum install perl-Net-SSLeay perl-IO-Socket-SSL -y

# /usr/local/bin/sendEmail -f from@163.com -t to@qq.com -s smtp.163.com -u "我是邮件主题" -o message-content-type=html -o message-charset=utf8 -xu from@163.com -xp 123456 -m "我是邮件内容" -l /var/log/sendMyEmail.log

命令说明:

/usr/local/bin/sendEmail 命令主程序 -f from@163.com 发件人邮箱 -t to@163.com 收件人邮箱 -s smtp.163.com 发件人邮箱的smtp服务器 -u "我是邮件主题" 邮件的标题 -o message-content-type=html 邮件内容的格式,html表示它是html格式 -o message-charset=utf8 邮件内容编码 -xu from@163.com 发件人邮箱的用户名 -xp 123456 发件人邮箱密码 -m "我是邮件内容" 邮件的具体内容

-l /var/log/sendMyEmail.log 非必输项,邮件发送日志记录到日志文件

 

报错:

*******************************************************************

 Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client

 is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER

 together with SSL_ca_file|SSL_ca_path for verification.

 If you really don't want to verify the certificate and keep the

 connection open to Man-In-The-Middle attacks please set

 SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.

*******************************************************************

  at /usr/bin/sendEmail line 1906.

invalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 415.

 

centos7.2默认perl的版本是5.16,centos6.5的是5.10,把7上perl的版本换成5.10,就可以正常发邮件了

wget http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz
tar -zxf perl-5.10.0.tar.gz
cd perl-5.10.0
./configure.gnu -des -Dprefix=/usr/local/perl
make
make install
mv /usr/bin/perl /usr/bin/perl.bak
ln -s /usr/local/perl/bin/perl /usr/bin/perl
perl -v

修改/usr/local/etc/zabbix_server.conf
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/etc/alertscripts
cd /usr/local/etc/
mkdir alertscripts
vi ./alertscripts/sendEmail.sh
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail  -f from@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu from@163.com -xp password -m "$body"
chmod +x sendEmail.sh
chown zabbix.zabbix -R ./alertscripts
service zabbix_server restart

5,在zabbix web端,为告警用户monitor设置报警媒介

随后在ops组设置权限,选择所有组,读写

6,设置告警动作

新建动作

设置具体操作:默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给ops组和monitor用户

设置恢复时操作后,单击更新

操作和恢复操作的‘默认信息’框,官方默认的格式发到邮件里会叠加在一块儿,不便于查看,最好如图写成HTML格式的:

告警主机:&nbsp;{HOSTNAME1}<br/>
告警时间:&nbsp;{EVENT.DATE} {EVENT.TIME}<br/>
告警等级:&nbsp;{TRIGGER.SEVERITY}<br/>
告警信息: &nbsp;{TRIGGER.NAME}<br/>
告警项目:&nbsp;{TRIGGER.KEY1}<br/>
问题详情:&nbsp;{ITEM.NAME}:&nbsp;{ITEM.VALUE}<br/>
当前状态:&nbsp;{TRIGGER.STATUS}:&nbsp;{ITEM.VALUE1}<br/>
事件ID:&nbsp;{EVENT.ID}<br/>
1,CPU Load(webserver:system.cpu.load):$1
2,...


至此告警动作设置完成,要动作生效需下一篇添加主机、设置监控项、触发器

© 著作权归作者所有

共有 人打赏支持
hiwill
粉丝 12
博文 124
码字总数 80503
作品 0
朝阳
Zabbix3.2邮件告警python脚本

一、概述及环境要求 1、概述 zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法。之前使用过sendemail邮件报警但是发现邮件主题为中文时候会出现乱码的问题。 2、环境安装...

思考_
2017/06/18
0
0
zabbix3.0.4设置邮件告警

一.安装sendEmail [root@zabbix ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz [root@zabbix ~]# mkdir /usr/local/bin [root@zabbix ~]# tar zxvf......

ytliu2010
2017/05/18
0
0
zabbix3.0.3的sendEmail报警的配置

简介: sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash perl和web站点使用。...

卫庄的痛
06/26
0
0
分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署

前面几篇陆续介绍了zabbix3.0.3监控系统的部署和监控项配置,今天这里分享下zabbix3.0.3的邮件报警的配置过程~ 由于采用sendmail发送邮件,常常会被认为是垃圾邮件被拒,所以不推荐这种方式!...

吞吞吐吐的
2017/11/16
0
0
zabbix 3.0.2邮件报警

sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash perl和web站点使用。 请注意...

徐叶青
2017/05/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
10分钟前
1
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
18分钟前
0
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
28分钟前
15
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
54分钟前
1
0
区块链技术中的那些能商用的企业级应用

WEPOWER是一家立陶宛初创企业,旨在改变可再生电力项目的付费方式。WePower公司创始人Nick Martyniuk表示,政府统一收购价的存在推动了全球风能与太阳能市场的发展。因此,他的公司希望帮助那...

问题终结者
59分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部