ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

zabbix使用中出现的问题合集

2021-12-17 09:02:21  阅读:362  来源: 互联网

标签:agentd 自定义 zabbix 报错 使用 合集 服务端 客户端


目录

一.[客户端]重启 libcurl.so.4: cannot open shared obje

问题:
yum安装客户端,重启zabbix-agent客户端

/usr/sbin/zabbix_agentd: error while loading shared libraries: libcurl.so.4: cannot open shared obje

解答:
看 /etc/zabbix/zabbix_agentd.conf是否存在,因为zabbix服务识别不到配置文件才会报错。

看看/etc/zabbix下面是不是有备份或者类似名字的配置文件,修改为zabbix_agentd.conf,这样服务就可以识别了。修改后重启客户端。

二.[客户端]日志出现(Not all processes could be identified)

场景:一般是自定义监控项时,脚本里使用了netstat这个命令。

权限问题,zabbix_agentd是zabbix用户启动的,默认不能执行netstat -p等命令,导致从服务器取到的自动发现脚本为空

(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)

解决方法 :
chmod +s /bin/netstat

chmod +s 是为了方便普通用户执行一些特权命令,SUID/SGID程序允许普通用户以root身份暂时执行该程序,并在执行结束后再恢复身份。

三.zabbix升级,再重启服务端后网页上出现Database error

报错:

Database error
–The frontend does not match Zabbix database. Current database version (mandatory/optional): 3040000/3040000. Required mandatory version: 3020000. Contact your system administrator.

解答:
未完成

四.重启客户端或者服务端出现 [2332]: user zabbix does not exist

重启zabbix客户端或服务端
如下:
zabbix_agentd [2332]: user zabbix does not exist
zabbix_agentd [2332]: Cannot run as root!

解答:
创建一个zabbix用户,如果存在zabbix用户还是依然这个错误,则su - zabbix 再启动。

用zabbix这个用户去重启,如果重启还不行,切换回root后再重启,一般就ok了

五.将编译后的zabbix相关配置文件和东西放到新机器,启动失败

将zabbix配置文件整体放到新机器的目录下,启动失败

解答:
还没知道,不过还原可以
待定

六.zabbix无法启动,启动显示正确,但是没有端口号

解答:
关闭selinux即可
或者配置selinux策略(LAMP环境):
setsebool -P httpd_can_connect_zabbix on
setsebool -P httpd_can_network_connect_db on

导入module注:若没有audit2allow模板,请安装selinux-policy* setroubleshoot
yum -y install selinux-policy* setroubleshoot
cat /var/log/audit/audit.log | grep zabbix_server | grep denied | audit2allow -M zabbix-server_setrlimit

生成modulesemodule -i zabbix-server_setrlimit.pp
semodule -i zabbix-server_setrlimit.pp

七.自定义的脚本服务端和客户端获得值不一致

前情提要:
自定义zabbix脚本监控mysql,出现在客户端用zabbix_agentd -t slave_status[Slave_IO_Running]获得值为0,是正确的

但在服务端用/usr/local/zabbix/bin/zabbix_get -s 192.168.1.14 -k slave_status[Slave_IO_Running]获得却为1

原因:
这是因为在服务端执行时用的当前终端,和脚本执行的一样,而在服务端获取是独立的终端。

例如上述脚本需要调用mysql这个命令,但mysql是源码安装的,做了环境变量。那在客户端执行时没问题的,因为加载了当前的环境变量

如果是服务端执行,会报错mysql not found,没有mysql这个命令。因为脚本是对mysql -e "xxx"方式获得的值进行if判断,为真则echo 0,为假则echo 1。没有mysql命令自然返回1了。

因为服务端不加载/etc/profile这种环境变量,他不登录服务器。

解决办法:
可以再脚本中写绝对路径来避免此类错误。也可以用ln -s对命令做一个软连接,连接到/usr/local/bin/下面。

八.自定义监控项取不到数据,报错Received value [sudo:sorry,you must have a tty to run sudoi]

报错信息:
zabbix_agentd -t slave_status[Slave_IO_Running]
Received value [sudo:sorry,you must have a tty to run sudoi]is not suitable for value type [Numeric(unsigend)]

原因:
导致这问题的原因是 sudo默认需要在 tty终端里才能正确被调用,而用的脚本,才会出现这个问题。

解决:
我们可以通过修改 /etc/sudoers配置文件来解决这个问题:
vi /etc/sudoers

#Defaults requiretty #注释掉此行

九.自定义监控项,检测报错ZBX_NOTSUPPORTED: Unsupported item key.

报错信息:
file

原因:
Zabbix Agent默认的超时时间是3秒。往往我们自定义的Item由于各种原因返回时间会比较长(比如监控mysql,可能4秒后脚本才运行完毕)。所以建议统一修改一个适合自己实际的值。

解决:
vim /etc/zabbix/zabbix_agent.conf

Timeout=8

十.命令行可以取值,在图形显示不支持键值,看不到值

报错:
自定义的脚本如下
a是mysql从和主同步时,从慢同步多少秒。
b是上一个a值
只有当上一值大于600,最新值大于600,才会输出a,也就是该报警了
这样做防止主执行一个大的事物,导致从瞬间sbm高涨,然后又降低了。
只有上一个值和当前值都很高,才判定有问题。

a=mysql同步慢多少秒
b=`cat /tmp/sbm.tmp`

if [[ $a -ge 600 ]] && [[ $b -ge 600 ]];then
    echo $a
else
    echo 0
fi
echo "$a" >> /tmp/sbm.tmp

结果发现值是灰色的,但用 zabbix_agentd -t 键值 来测试没有问题

原因:
zabbix自定义的脚本不能有输出或者写入文件等操作。

解决:
将最后输出那行删除就行了

十一.zabbix启动客户端报错libpcre.so.1找不到

报错如下

/usr/local/zabbix-agent/sbin/zabbix_agentd: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

在这里插入图片描述

find / -name libpcre.so*

在这里插入图片描述

#里面这个1应该是之前链接不行的 或者删除 再链接
ln -s /usr/lib64/libpcre.so.0 /usr/lib64/libpcre.so.1
vim /etc/ld.so.conf
/usr/lib64/libpcre.so.1
ldconfig

在配置文件加上,再去启动服务
/etc/init.d/zabbix_agentd start

在这里插入图片描述

标签:agentd,自定义,zabbix,报错,使用,合集,服务端,客户端
来源: https://www.cnblogs.com/rxysg/p/15700810.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有