1.这里只简单说下使用配置qq邮箱做邮件服务器发送告警邮件:
zabbix web端配置报警媒介:
管理——报警媒介类型——创建媒体类型
使用的qq邮箱需要在邮箱里面设置,开启smtp并生成授权码:(QQ邮箱——设置——账户——IMAP/SMTP服务)
之后便是配置用户的报警媒介及动作等
2.当以上配置完成后,zabbix触发报警,发送邮件失败时,查看 报表——动作日志,出现以下错误
这是由于curl版本过低造成的,官网上有说明,需要curl版本大于7.20
我们可以通过curl -V查看其版本
如果版本确实过低,则注意不要yum直接升级curl包,有可能造成yum不可用
同时对于某些系统版本过低的环境,curl不建议升级太高,可能同样引发错误,建议curl版本7.29
如果yum升级curl包后造成yum不可用,则需重新编译下载curl,并且进入python >import yum查看报错
发现python导入yum时会调用libcurl.so.4,根据报错信息重新生成软连接
ln -s /usr/local/curl/lib/libcurl.so.4.1.1 /usr/lib64/libcurl.so.4
3.编译安装curl7.29
wget https://curl.haxx.se/download/curl-7.29.0.tar.gz
tar xzvf curl-7.29.0.tar.gz
cd curl-7.29.0
./configure --prefix=/usr/local/curl --with-ssl
make && make install
注意:如果报错 Failed initialization
这是由于libcurl.so动态链接库不匹配
将新编译的 /usr/local/curl/lib/libcurl.so.4.3.0 复制到 /usr/lib64/ 下,并做软连接,旧的删除
ln -s /usr/local/curl/lib/libcurl.so.4.3.0 /usr/lib64/libcurl.so
ln -s /usr/local/curl/lib/libcurl.so.4.3.0 /usr/lib64/libcurl.so.4
4.重新编译安装zabbix
./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql=/home/mysql/data/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl=/usr/local/curl/bin/curl-config --with-libxml2
make && make install
这里mysql和libcurl都添加了编译安装时的配置路径,(自行编译安装的都需要跟上路径,否则会有报错,,具体需要到哪个路径下,可以根据官网上源码安装的手册进行查询,这里贴上一个zabbix3.0的地址:https://www.zabbix.com/documentation/3.0/manual/installation/install)
5.如果zabbix在编译时报:
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
缺少net-snmp-devel: yum install -y net-snmp-devel
并且编译时添加--enable-ipv6(上面命令已经包含)
6.启动zabbix时报错:libmysqlclient.so.20
执行systemctl status zabbix-server时,出现 Starting zabbix_server: /usr/local/zabbix//sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
[root@iZ2ze36id59elx8lkfywjcZ zabbix-3.0.24]# service zabbix-server start
Starting zabbix_server: /usr/local/zabbix//sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory [FAILED]
打开/etc/ld.so.conf文件,将编译安装的mysql路径添加上(原路径如果不存在,可以删除)
保存后运行命令ldconfig,更新动态链接库列表
此时邮件可以发送成功