zabbix3.2学习笔记(四)设定sendmail告警
zabbix3.2学习笔记(四)设定sendmail告警
echo132455 发表于5个月前
zabbix3.2学习笔记(四)设定sendmail告警
  • 发表于 5个月前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

接上一篇,安装好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,...


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

共有 人打赏支持
粉丝 0
博文 7
码字总数 506
×
echo132455
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: