【zabbix系列】报警系统的设置和排除

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

该方案有一个很好的地方在于不用自己来搭建独立的mail服务器,可以使用第三方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 [email protected]

auth login

tls off

user [email protected]

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="[email protected]"

set editor="vim"

测试邮件

echo "hello zabbix" | mutt -s "zabbix test" [email protected]

【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 [email protected] 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 [email protected] 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用户执行测试脚本,成功!

时间: 2024-10-21 15:30:55

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

zabbix系列-Grafana4.6.3+Zabbix 的安装部署

zabbix系列(五) Grafana4.6.3+Zabbix 的安装部署 伟创享 2019-07-31 11:27:18 使用了一段时间Grafana,感觉还挺好用的.部分效果图如下: ? zabbix的安装步骤请参考以下地址,就不再描述,本章主要记录Grafana的部署 https://blog.csdn.net/wu2700222/article/details/80520085 grafana官网地址:http://docs.grafana.org/installation/rpm/ 从

Atitit.故障排除系列-----apache 不能启动的排除

Atitit.故障排除系列-----apache 不能启动的排除 能直接使用cli启动httpd   ,,详细打印出信息.. C:\Users\ASIMO>"C:\wamp\apache2\bin\httpd.exe" httpd.exe: Syntax error on line 42 of C:/wamp/Apache2/conf/httpd.conf: ServerRoo t must be a valid directory 作者:: 老哇的爪子 Attilax 艾龙, 

Zabbix监控Linux主机设置

说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配置防火墙,开启10050.10051的TCP和UDP端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 -A INPUT -s 192.168.21.127 -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCE

TP-Link wr703N 使用华为HiLink系列上网卡的设置【转】

转自:http://www.right.com.cn/forum/thread-103082-1-1.html 最近买了一个华为的E303s的上网卡,之前703的openwrt是按照需要拨号和使用U盘来设置的.装了如下ipa:comgt 拨号kmod-usb2 自带kmod-usb-ohci 自带kmod-usb-storage 大容量存储驱动block-mount  外挂载kmod-fs-ext4 格式支持kmod-usb-serial 驱动kmod-usb-serial-option 附加驱

zabbix系列(一):zabbix server的安装配置

zabbix server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据以及操作数据均由其组织进行. database storage: 专用于存储所有配置信息,以及由zabbix收集的数据 web interface:zabbix 的GUI 接口,通常与server 运行在一台主机上. proxy:可选组件,用于分布式监控环境中,代理server 收集部分被监控的监控数据并统一发往server 端. agent:部署在被监控主机上,负责收集本地数据发往server 端或por

zabbix系列(二):客户端的安装;

相关环境: 操作系统 描述 IP地址 server05 (centos6.6) 服务器端 192.168.10.65 server04 (centos6.6) 客户端 192.168.10.64 Zabbix客户端安装及设置 相关包下载地址:http://www.zabbix.com/download.php 需要的安装包zabbix-2.4.6-1.el6.x86_64.rpm zabbix-agent-2.4.6-1.el6.x86_64.rpm zabbix-sender-2.4.6-1.

zabbix系列之六——安装后配置二Items

https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/snmp 1Items 1.1creating items index detail note 1 Configuration->hosts 2 Click on Items in the row of the host 3 Click on Create item in the upper right corner of the screen 4 Ent

zabbix系列(三):设置邮件报警,并测试监控80端口;

相关环境: 操作系统 描述 IP地址 server05 (centos6.6) 服务器端 192.168.10.65 server04 (centos6.6) 客户端 192.168.10.64 一.使用zabbix邮件报警功能 1.安装sendmail [[email protected]~]# service postfix stop   #linux默认使用postfix邮件服务,先关闭postfix,ss –tnl查看25端口关闭监听 [[email protected]~]#yum i

细化如何安装LNMP + Zabbix 监控安装文档以及故障排除

1.LNMP所需安装包: 上传如下软件包到/soft目录中 mysql- 5.1.71(centos6.5 64位自带)也可根据版本自行挑选,前提你了解这个版本 pcre-8.36.tar.gz nginx-1.6.2.tar.gz jpegsrc.v9a.tar.gz libmcrypt-2.5.8.tar.gz php-5.6.3.tar.gz 2.配置系统YUM源 cd /etc/yum.repos.d/ vim install.repo [LOCALYUMSOURCE] name=PD3