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,更新動態鏈接庫列表
此時郵件可以發送成功