关于邮件报警,有非常多方案,这里选择的是稳定性较好。使用较多的msmtp+mutt方案。

该方案有一个非常好的地方在于不用自己来搭建独立的mailserver,能够使用第三方mail。这样的方法不仅能够有效的解决未知email地址被处理为垃圾邮件的问题。同一时候因为第三方的稳定服务来提供报警的准确和及时性。

事实上最关键的一点是msmtp能够使用gmail。

我们须要两个组件msmtp和mutt,当中msmtp是发送email的关键。mutt来优化msmtp。
【msmtp】
sudo apt-get install -y msmtp
配置msmtp
touch /var/log/msmtp.log

vim ~/.msmtprc

account default
host smtp.126.com
port 25
from cl0554@126.com
auth login
tls off
user cl0554@126.com
password xxxxxxx
logfile /var/log/msmtp.log

chmod 600 .msmtprc
chown zabbix.zabbix /var/log/zabbix -R
chown zabbix.zabbix /var/log/msmtp.log
chmod 777 /var/log/msmtp.log

【mutt】
安装
sudo apt-get install -y mutt
sudo mv /etc/Muttrc /etc/Muttrc.back
sudo vim /etc/Muttrc

set sendmail="/usr/bin/msmtp" #你的msmtp命令路径
set use_from=yes
set realname="cl0554@126.com"
set editor="vim"

測试邮件

echo "hello zabbix" | mutt -s "zabbix test" chenlong0554@qq.com

【zabbix配置】
改动zabbix的脚本位置路径
sudo vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/scripts/
重新启动zabbix
sudo service zabbix-server restart

sudo mkdir -p /usr/local/zabbix/scripts/
sudo chown zabbix.zabbix /usr/local/zabbix -R
sudo vim /usr/local/zabbix/scripts/mail.sh
#!/bin/sh
echo "$3" | mutt -s "$2" $1

sudo chown zabbix.zabbix mail.sh
sudo chmod 777 mail.sh
測试脚本
./mail.sh chenlong0554@qq.com zabbix測试 你好zabbix

zabbix web界面通过右上角的 profile中的media设置发送的邮箱
通过工具栏的administrator-Media types中的email 来配置mail发送的方式
type选择 script
name是mail.sh

PS:报警系统的web配置教复杂,在下一节研究mysql和系统基础报警中具体讨论。本节将仅仅实现基础报警功能。

【关于package安装zabbix无法报警的问题】
假设日志和数据库中都显示zabbix发送了邮件可是你却没有收到邮件。
排除垃圾邮件被屏蔽的问题,那么就是zabbix本身的问题。网上并没有类似的解决方式,可是通过分析能够找出问题所在。

分析问题:
1.zabbix的权限不存在问题。脚本已经赋予了最高权限而且所属组和用户都是zabbix。
2.脚本本身假设直接用ubuntu用户运行是能够正确发送和接收到邮件的。那么排除脚本本身的问题。
3.既然zabbix的日志和DB中都显示了已经send了mail。说明至少zabbix在做sendmail这一项操作,可是事实上并没有send成功。那么问题的根源就出在zabbix send mail这一过程之中。
4.我们知道mutt是调用msmtp去发送email,那么zabbix在发送mail的过程应该是这种。
  触发报警—>zabbix用户调用bash—>运行mail.sh脚本
  假设运行成功则发送肯定成功。假设运行失败则肯定无法收到邮件。

測试和解决这个问题
1.手动登录zabbix用户来模拟zabbix发送邮件。我们发现第一步就会出错。由于ubuntu在apt-get安装zabbix时自己主动创建的zabbix用户默认是不具有home文件夹和登录shell的。那么至少应该给与zabbix 调用bash的权限否则zabbix用户是不可能成功运行mail.sh脚本的。
解决方法例如以下:
sudo vim /etc/passwd
将zabbix行最后的/bin/false 改为 /bin/bash。
保存退出后。这时用sudo su - zabbix切换到zabbix ,尽管没有home文件夹 可是是有登录shell的。

2.运行mail.sh測试 
./mail.sh chenlong0554@qq.com zabbix測试 你好zabbix
提示
msmtp: account default not found: no configuration file available
Error sending message, child exited 78 ().
Could not send the message.

通过对msmtp我们了解,在有用apt-get安装的msmtp,它的配置文件默认调用的当前用户home文件夹下的.msmtprc,我们尽管在ubuntu用户下创建了.msmtprc可是zabbix文件夹下却没有这个文件,所以zabbix还是无法有用msmtp。
解决方法例如以下:
sudo mkdir /home/zabbix
sudo chown zabbix.zabbix -R /home/zabbix
sudo vim /etc/passwd

将zabbix的/var/lib/zabbix改为/home/zabbix

sudo cp /home/ubuntu/.msmtprc /home/zabbix/.msmtprc

chown zabbix.zabbix /home/zabbix/.msmtprc

chmod 600 /home/zabbix/.msmtprc

再次通过zabbix用户运行測试脚本,成功。

【zabbix系列】报警系统的设置和排除相关推荐

  1. zabbix系列(八)zabbix添加对web页面url的状态监控

    通过zabbi做web监控不仅仅可以监控到站点的响应时间,还可以根据站点返回的状态码,或者响应时间做报警 1.对需要监控的主机添加web监控   在configuration-hosts 中打开主机列 ...

  2. zabbix系列(十二) 监控MongoDB业务数据

    目录 一.简介 二.部署说明 2.1编写python程序进行获取mogno数据 2.2.上传python脚本至服务器,并测试通过 2.3.配置zabbix web页面,获取数据入库 2.4 .配置gr ...

  3. Zabbix监控Windows客户端设置

    Zabbix监控Windows客户端设置 一.Windows被控端安装 1.Windows代理下载 2.安装代理 二.检查被控端状态 1.查看端口 2.检查代理服务 3.服务端查看获取被控信息 三.W ...

  4. Zabbix监控Linux主机设置

    Zabbix监控Linux主机设置 说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS ...

  5. zabbix系列zabbix3.4监控mysql5.7

    2019独角兽企业重金招聘Python工程师标准>>> zabbix系列zabbix3.4监控mysql5.7 yanconggod0人评论79662人阅读2018-01-31 16 ...

  6. 将win7 firefox WebStorm PyCharm等JetBrains系列开发软件设置为豆沙绿护眼背景

    一. 安装win7 豆沙绿主题 玩主题已经有10来年了,从XP一直到vista,其中的乐趣乐在其中,这个主题是为了纪念这么多年来一直diy主题的自己,修改了无数个细节,采用的护眼绿豆沙最终作为最后的题 ...

  7. 台达cp2000的面板怎么调节_台达CP2000系列变频器参数设置

    台达CP2000系列变频器参数设置实例 参数码 参数名称 设定范围 初始值设定值00-11速度模式控制选择0:VF (感应电机V/F 控制) 2:SVC (感应电机无感测向量控制)0000-16负载选 ...

  8. Python数据可视化 | Python实现Matplotlib系列colorbar的设置

    Python数据可视化 | Python实现Matplotlib系列colorbar的设置 目录 Python数据可视化 | Python实现Matplotlib系列colorbar的设置 color ...

  9. 苹果12开发者设置_苹果12怎么省电?iPhone12系列省电设置十大技巧介绍

    阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都会有分享,都是免费订阅,请您放心关注.注图文来源网络,侵删 大家 ...

最新文章

  1. 考PMP证书一定要参加PMP培训吗?
  2. SAP Spartacus能够使用的theme
  3. 属于attribute还是property。
  4. 使用Javascript 实现类
  5. percona-toolkit源码编译安装
  6. mybatis分页应用
  7. 使用 Hasor 从数据库查询显示到页面上
  8. 不规则物体形状匹配综述
  9. 大数据踩坑之旅: 从数据可视化到商业智能
  10. 蓝桥杯省赛 2021 杨辉三角形 python
  11. Flash:Flash动画设计案例集合(广告条制作/遮罩动画/扫光动画/书法手写遮罩动画)图文教程之详细攻略
  12. Word2vec安装使用
  13. 又一个充电宝改装,经验升级版。
  14. PyQt5最全26 绘图之drawPoint用像素点绘制正弦曲线
  15. iphone与android共享位置,在iPhone或Android上分享你的位置
  16. DOS、Mac 和 Unix 文件格式
  17. Auto.js软件工具集合
  18. three.js流动线
  19. Python网络编程——面向连接(TCP)和无连接(UDP)时间戳网络小程序
  20. 百钱买百鸡python列表推导式_课时60 数据类型详解-列表-练习题

热门文章

  1. 活动合作 | AI NEXTCon 硅谷AI技术峰会(北京分会)大咖来袭
  2. 活动报名 | 2017无人驾驶智能车Hackathon挑战赛
  3. 『并发包入坑指北』之向大佬汇报任务
  4. 扩展:js控制台输出,除了 console.log还有哪些?
  5. Eclipse启动Web项目 Tomcat中webapps中没有项目文件夹
  6. Android字数限制的EditText实现方案研究
  7. switch case 解决字符串选择的问题
  8. SQL Server 2012新增的内置函数尝试
  9. linux svn 客户端安装配置
  10. 我的SWT与数字图像处理总结(3)—SWT如何得到图像某个位置的像素值和相应的RGB的值...