标签:zabbix
1、如果需要使用zabbix自带的SMTP发送邮件,需要在安装前升级系统的curl到7.20版本以上
2、zabbix对接PHP 7.1版本,因为PHP 7.1类型强化,会在安装完成zabbix,登录之后monitor页面显示:
A non well formed numeric value encountered [zabbix.php:21 → require_once() → ZBase->run() → ZBase->processRequest() → CView->getOutput() → include() → make_status_of_zbx() → CFrontendSetup->checkRequirements() → CFrontendSetup->checkPhpMemoryLimit() → str2mem() in include/func.inc.php:410]
A non well formed numeric value encountered [zabbix.php:21 → require_once() → ZBase->run() → ZBase->processRequest() → CView->getOutput() → include() → make_status_of_zbx() → CFrontendSetup->checkRequirements() → CFrontendSetup->checkPhpPostMaxSize() → str2mem() in include/func.inc.php:410]
A non well formed numeric value encountered [zabbix.php:21 → require_once() → ZBase->run() → ZBase->processRequest() → CView->getOutput() → include() → make_status_of_zbx() → CFrontendSetup->checkRequirements() → CFrontendSetup->checkPhpUploadMaxFilesize() → str2mem() in include/func.inc.php:410]
解决方案:
sed -i ‘/$last = strtolower(substr($val, -1));/a$val = substr($val,0,-1);‘ /home/www/zabbix/include/func.inc.php
/home/www/zabbix/include/func.inc.php文件路径各根据各http服务不同有所差异。
3、zabbix 3.0版本之后,使用自定义脚本发送邮件时,需要手动传递脚本参数
{ALERT.SENDTO} 收件人:对应用户邮箱
{ALERT.SUBJECT} 邮件主题:问题状态+对应的trigger名称
{ALERT.MESSAGE} 邮件正文:action中配置的邮件内容
以上参数按照顺序分别对应自定义脚本中的$1,$2,$3
4、使用自定义脚本发送的邮件,接收到的邮件正文为附件
该问题原因是由windws和linux文本格式导致,需要使用dos2unix将邮件内容进行转换
#!/bin/bash
echo "$3" > /tmp/zabbix_alert_message
/usr/bin/dos2unix -k /tmp/zabbix_alert_message
/bin/mail -s "$2" $1 < /tmp/zabbix_alert_message
中转文件/tmp/zabbix_alert_message,需要事先创建,并更属主属组为zabbix,否则zabbix服务器以zabbix用户身份执行自定义脚本时,无权限访问该中转文件,导致格式转换失败
5、执行remote command时需要做的事情:
1、agent端打开remote command支持
[root@localhost ~]# grep -i remote /etc/zabbix/zabbix_agentd.conf
### Option: EnableRemoteCommands
# Whether remote commands from Zabbix server are allowed.
EnableRemoteCommands=1
1为开启,0为关闭,默认为0
2、配置远程命令时,若该命令需要使用root身份执行,在命令前增加sudo命令。
3、在客户端,使用visudo编辑sudo的配置文件,给zabbix用户增加sudo权限,并关闭tty登录限制
新增下面两行:
zabbix ALL=(ALL) NOPASSWD: /etc/rc.d/init.d/httpd restart #增加权限
Defaults:zabbix !requiretty #关闭TTY登录限制
若为关闭tty登录限制,无法成功使用sudo命令,可在visudo中打开sudo使用日志:
Defaults logfile=/var/sudo.log
Defaults !syslog
[root@localhost ~]# more /var/sudo.log
6月 22 16:41:21 : zabbix : sorry, you must have a tty to run sudo ; TTY=unknown; PWD=/ ; USER=root ; COMMAND=/etc/rc.d/init.d/httpd restart
本文出自 “机智少年普朗克” 博客,转载请与作者联系!
标签:zabbix
原文地址:http://armolee.blog.51cto.com/6288560/1941694