Zabbix应用常见问题和故障解决方法_第1页
Zabbix应用常见问题和故障解决方法_第2页
Zabbix应用常见问题和故障解决方法_第3页
Zabbix应用常见问题和故障解决方法_第4页
Zabbix应用常见问题和故障解决方法_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Zabbix 应用常见问题和故障解决方法 本文整理了Zabbix需掌握的部分知识、常见问题和一些故障解决方法。供大家学习参考。1、Zabbix 是怎么实施监控的?一个监控系统运行的大概的流程是这样的:agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式:主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy被动:server向agent请求获取监

2、控项的数据,agent返回数据。主动监测通信过程如下:zabbix首先向ServerActive配置的IP请求获取active items,获取并提交active tiems数据值server或者proxy。很多人会提出疑问:zabbix多久获取一次active items?它会根据配置文件中的RefreshActiveChecks的频率进行,如果获取失败,那么将会在60秒之后重试。分两个部分:获取ACTIVE ITEMS列表Agent打开TCP连接(主动检测变成Agent打开)Agent请求items检测列表Server返回items列表Agent 处理响应关闭TCP连接Agent开始收集数

3、据主动检测提交数据过程如下:Agent建立TCP连接Agent提交items列表收集的数据Server处理数据,并返回响应状态关闭TCP连接被动监测通信过程如下:Server打开一个TCP连接Server发送请求agent.pingnAgent接收到请求并且响应Server处理接收到的数据关闭TCP连接1、新建监控项目时,选择的是zabbix代理还是zabbix端点代理程式(主动式),前者是被动模式,后者是主动模式。2、agentd配置文件中StartAgents参数的设置,如果为0,表示禁止被动模式,否则开启。一般建议不要设置为0,因为监控项目很多时,可以部分使用主动,部分使用被动模式。2、

4、Zabbix 自动发现是怎么做的?zabbix发现有3种类型:1、自动网络发现 ( Network discovery)2、主动客户端自动注册 ( Active agent auto-registration )3、低级别发现 ( low-level discovery )自动发现的做法:1、首先需要在模板当中创建一个自动发现的规则,这个地方只需要一个名称和一个键值。2、过滤器中间要添加你需要的用到的值宏。3、然后要创建一个监控项原型,也是一个名称和一个键值。4、然后需要去写一个这样的键值的收集。自动发现实际上就是需要首先去获得需要监控的值,然后将这个值作为一个新的参数传递到另外一个收集数据的

5、item里面去。3、Zabbix监控的客户端是怎么进行批量安装的?推荐使用Ansible等自动化软件来进行批量安装。将安装过程编写执行脚本,然后再使用Ansible来进行批量安装。1、使用命令生成密钥。2、将公钥发送到所有安装zabbix客户端的主机。3、安装 ansible 软件,(修改配置文件,将zabbix 客户机添加进组)。4、创建一个安装zabbix客户端的脚本。5、执行该脚本。6、验证。4、Zabbix4.0 中有些报警不会立即触发报警邮件,这种问题该如何排查?【问题描述】手动关闭问题时却会立即发送报警邮件,比如更改hostname,监控项中信息类型为字符或文本会出现这种情况。ch

6、pps2000:建议按照触发器描述查下triggers表,按照triggerid查function表,确认表达式和监控项有没有问题,如果确定没问题的话查下event表,看看触发器是否生成事件,看事件后面的actionid和mediaid确定是否发出了报警并通知。5、Zabbix可以监控端口带宽速度限制吗?skey_deng:根据实际操作经验是不能获取到带宽速度限制的参数的,如果使用qos的话,监控是没有办法获取到数据的,而且qos是动态的,更难监控,目前我们常用的方法是有固定带宽,比如总行和各支行及网点的数据传输,带宽是固定的,我们设置一个准确值给他,然后用实时带宽对比这个设置值,确定当前带宽

7、占用的比率。上面的方法可以让你看到带宽的占用情况,如果你是为了解决带宽占用告警的问题,那么就需要采用动态基线,动态阈值的方式来实现监控,避免告警风暴的出现,但是这涉及到页面的开发,和算法的研究,然后呈现出动态的告警,目前zabbix应该没有办法实现。6、自动化运维系统建设中,监控经常会用到 Zabbix ,那么使用它监控常用关系型数据库 DB2、Oracle、MySQL、SQLServer 时,有什么比较全面的监控模板?李承轩:Oracle可以使用orabbix插件监控,动手能力强的可以通过ODBC去监控。MySQL可以使用Percona提供的一个模板监控,动手能力强的可以用shell、Pyt

8、hon自行监控。TonyWang:补充下:目前我们基于Zabbix对Oracle、mysql和SQLServer都监控了:Oracle 可以用Orabbix,不过Orabbix软件很久没更新,对于新的Oracle版本可能支持不好,对RAC环境也没有现成的配置文件。不好Orabbix好处是可以自己定义监控项(通过定义获取监控的SQL语句),譬如可以根据需要增加阻塞监控、表空间使用率等监控SQLServer 一般是通过读取windows性能计数器来获取监控数据,需要解决同一台服务器多实例问题MySQL目前是通过Zabbix的自定义监控项实现,执行shell脚本7、Zabbix配置了IPV6的地址,

9、怎么样可以监控到网外的某一个IPV6地址的网络质量?小民工:1.如仅是到探测给地址网络质量,可使用ping探测,设定探测周期及阈值,如:设定探测间隔为1s,当延时连续3次大于50ms则触发报警;2.如涉及到该地址的具体服务,可以使用具体协议,如tcp/udp,telnet/http请求来作为具体探测方式;注:此类探测工具,zabbix官方可以下载到相应模板,导入现有系统做自定义修改后即可使用。8、Zabbix_server正常运行,却提示服务器没有运行的解决办法许远:Zabbix突然出现了:Zabbix server is not running:the information display

10、ed may not be currentZabbix 服务器没有运行:显示的信息可能不是当前的一、SELinux未关闭selinux一定要关闭,如果开启selinux,可能zabbix的discovery都不能正常使用关闭selinux方法:1、修改/etc/selinux/config文件中的SELINUX=“”值为disable,然后重启。2、如果不想重启,使用setenforce 0setenforce 1,selinux为enforcing模式setenforce 0,selinux为permissive模式二、zabbix web 目录下面,$ZBX_SERVER 是否为IP,如果

11、是localhost,ping一下localhost是否能解析。如果不能,需要/etc/hosts文件里增加相应的项目。三、查看php的fsockopen模块是否启用。方法一:第一步:php.ini文件中查找allow_url_fopen = On使其值为On第二步:php.ini文件中查找extension=php_openssl.dll如果前面有分号,去掉分号第三步:重启web服务器,apache或IIS方法二:1. vi php.ini找到 allow_url_fopen 这个参数设置成 On,即allow_url_fopen = On2. 让你的php支持 opensll扩展。默认,是

12、没有openssl扩展的,只能重新编译安装。yum install openssl openssl-develcd /usr/local/src/php-5.2.14/ext/openssl/usr/local/php/bin/phpize./configure with-openssl with-php-config=/usr/local/bin/php-configmake & make install看提示,把编译成的openssl.so 拷贝到你在php.ini 中指定的 extension_dir 下3. vi php.ini加入extension=openssl.so4. 重启we

13、b server四、监控对象占满了trapper进程导致前端与server无法通信“At least one trapper process must be running to display server availability and view queue in the frontend.”Trapper进程用于接收前端查询server可用性及队列的请求将StartTrappers=20调整到StartTrappers=100,重启zabbix-server。9、Zabbix监控虚拟主机告警Lack of free swap space on Zabbix server解决办法mins

14、eo:Zabbix监控虚拟机的时候有时候会报一下告警是因为Zabbix监控没有考虑虚拟主机的交换空间情况解决办法修改配置10、Zabbix4.4 启动失败的分析与解决泊涯:问题:在安装配置好zabbix后无法正常启动,原因是SELINUX设置问题导致启动失败。故障分析:rootlocalhost zabbix# systemctl start zabbix-server.serviceJob for zabbix-server.service failed because a configured resource limit was exceeded. See systemctl statu

15、s zabbix-server.service and journalctl -xe for details.rootlocalhost zabbix# journalctl -xe- Defined-By: systemd- Support: /mailman/listinfo/systemd-devel- Unit zabbix-server.service has begun starting up.1月 07 15:21:17 localhost.localdomain systemd1: PID file /run/zabbix/zabbix_server.pid not reada

16、ble (yet?) after start.1月 07 15:21:17 localhost.localdomain systemd1: zabbix-server.service never wrote its PID file. Failing.1月 07 15:21:17 localhost.localdomain systemd1: Failed to start Zabbix Server.- Subject: Unit zabbix-server.service has failed- Defined-By: systemd- Support: /mailman/listinfo

17、/systemd-devel- Unit zabbix-server.service has failed.- The result is failed.1月 07 15:21:17 localhost.localdomain systemd1: Unit zabbix-server.service entered failed state.1月 07 15:21:17 localhost.localdomain systemd1: zabbix-server.service failed.1月 07 15:21:17 localhost.localdomain polkitd804: Unr

18、egistered Authentication Agent for unix-process:6787:8831344 (system bus name1月 07 15:21:24 localhost.localdomain polkitd804: Registered Authentication Agent for unix-process:6797:8832061 (system bus name :1月 07 15:21:27 localhost.localdomain systemd1: zabbix-server.service holdoff time over, schedu

19、ling restart.1月 07 15:21:27 localhost.localdomain systemd1: Starting Zabbix Server.- Subject: Unit zabbix-server.service has begun start-up- Defined-By: systemd- Support: /mailman/listinfo/systemd-devel- Unit zabbix-server.service has begun starting up.1月 07 15:21:27 localhost.localdomain systemd1:

20、PID file /run/zabbix/zabbix_server.pid not readable (yet?) after start.1月 07 15:21:27 localhost.localdomain systemd1: zabbix-server.service never wrote its PID file. Failing.1月 07 15:21:27 localhost.localdomain systemd1: Failed to start Zabbix Server.- Subject: Unit zabbix-server.service has failed-

21、 Defined-By: systemd- Support: /mailman/listinfo/systemd-devel- Unit zabbix-server.service has failed.- The result is failed.1月 07 15:21:27 localhost.localdomain systemd1: Unit zabbix-server.service entered failed state.1月 07 15:21:27 localhost.localdomain systemd1: zabbix-server.service failed.1月 0

22、7 15:21:27 localhost.localdomain polkitd804: Unregistered Authentication Agent for unix-process:6797:8832061 (system bus namelines 1907-1944/1944 (END)Last login: Tue Jan 7 23:24:43 2020 from 7查看 zabbix 日志分析:发现日志提示权限问题:5966:20200107:145500.376 using configuration file: /etc/zabbix/zabbix_server.conf

23、5966:20200107:145500.376 cannot set resource limit: 13 Permission denied5966:20200107:145500.376 cannot disable core dump, exiting.5976:20200107:145506.314 Starting Zabbix Server. Zabbix 4.4.4 (revision 3131fdac04故障处理:优化修改SELINUX=disabledrootlocalhost selinux# vi configThis file controls the state o

24、f SELinux on the system.SELINUX= can take one of these three values:enforcing - SELinux security policy is enforced.permissive - SELinux prints warnings instead of enforcing.disabled - No SELinux policy is loaded.SELINUX=disabledSELINUXTYPE= can take one of three two values:targeted - Targeted proce

25、sses are protected,minimum - Modification of targeted policy. Only selected #processes are protected.mls - Multi Level Security protection.SELINUXTYPE=targeted重新启动:rootlocalhost # systemctl start zabbix-server.servicerootlocalhost # systemctl status zabbix-server.service zabbix-server.service - Zabb

26、ix ServerLoaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled)Active: active (running) since 二 2020-01-07 15:26:56 CST; 6s agoProcess: 1529 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)Main PID: 1531 (zabbix_server)CGroup:

27、/system.slice/zabbix-server.service1531 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf1月 07 15:26:56 localhost.localdomain systemd1: Starting Zabbix Server.1月 07 15:26:56 localhost.localdomain systemd1: zabbix-server.service: Supervising process 1531 which is not our child. .exits.1月 07 1

28、5:26:56 localhost.localdomain systemd1: Started Zabbix Server.Hint: Some lines were ellipsized, use -l to show in full.rootlocalhost #至此,问题已经得到解决。总结:最后要提醒各位同行,一般在安装一些开源软件,如MYSQL、POSTGRES、zabbix、openshift等,在安装前先检查下系统对应版本是否与需安装的软件兼容性、在检查下下,防火墙、安全等是否开启,如下:1、iptables开启和关闭;2、SELinux开启和关闭;3、CentOS 6和CentO

29、S 7 firewalld防火墙的开与关等。11、Zabbix监控界出现“Zabbix poller processes more than 75% busy ”报警?小雄free:线上部署的zabbix监控环境运行一段时间后,突然出现了报警“Zabbix poller processes more than 75% busy“ 。其实,Zabbix的监控警报有很多种,比较常见的几个莫过于内存耗尽,网络不通,IO太慢还有这个“Zabbix poller processes more than 75% busy”了。一开始的时候因为这个即不影响使用也持续一会儿就自行解决就没有多在意。然后随着数据

30、库的增大,Zabbix消耗的内存可是越来越多,Poller processes(轮询)开始天天Busy了.最后,发现解决这个问题很简单。可以增加Zabbix Server启动时初始化的进程数量,但这样做直接增加了轮询的负载量,内存配置充足的情况下完全可以这么做。具体编辑Zabbix Server的配置文件/etc/zabbix/zabbix_server.conf,找到配置StartPollers的段落:Option: StartPollersNumber of pre-forked instances of pollers.Mandatory: noRange: 0-1000Default:

31、StartPollers=5取消StartPollers前的#号注释,修改5为10或者更大【由于线上机器内存64G的,我此处修改成60或80】修改后,重启zabbix_serverpkill -9 zabbix_server/usr/local/zabbix/sbin/zabbix-server过一会儿就发现触发器里已经没有类似的警告了。当然,我们也可以额定时写个脚本来重启zabbix_server来降低负载下面是脚本/root/zabbix-restart.sh!/bin/bash/usr/bin/pkill zabbix_server/usr/local/zabbix/sbin/zabbi

32、x_server然后crontab做计划任务0 3 * /bin/bash -x /root/zabbix-restart.sh /dev/null 2&112、Zabbix监控图里获取不到数据?小雄free:可以先在服务端的命令行里通过命令: /usr/local/zabbix/bin/zabbix_get -s 0 -p 10050 -k mysql.statusUptime其中:-s后面跟的是被监控机的ip地址;k后面跟的是监控项的键值,这个可以在zabbix页面里对应监控项里查到。如果在服务端通过以上命令能获取到数据,那么在zabbix监控页面的图形里显示获取不到数据,可能就是web页

33、面里的配置问题了。13、内存溢出导致zabbix_server服务关闭?相逢即是美丽心情:14721:20170714:095330.028 file:dbconfig.c,line:452 zbx_mem_malloc(): out of memory (requested 80 bytes)14721:20170714:095330.028 file:dbconfig.c,line:452 zbx_mem_malloc(): please increase CacheSize configuration parameter14719:20170714:095330.331 One chil

34、d process died (PID:14721,exitcode/signal:1). Exiting .14719:20170714:095332.332 syncing history data.14719:20170714:095332.332 syncing history data done14719:20170714:095332.332 syncing trends data.14719:20170714:095332.694 syncing trends data done14719:20170714:095332.695 Zabbix Server stopped. Za

35、bbix 2.4.7 (revision 56694).zabbix内存溢出。/etc/zabbix/zabbix_server.conf 或者/etc/zabbix/zabbix_agent.conf添加或修改CacheSize,或CacheSize=8M改为CacheSize=1024M (这个值根据自己的需求)重启服务zabbix_server14、Zabbix给新机器添加监控,按正常操作完成后,发现主机那一栏最后的灯不亮小雄free:如下截图:来回检查了好几遍,没发现问题,删除后重新加了两遍,还是灯不亮,后来在网上找相关的解决方法,试了发现不是自己遇到的问题,等过了一段时间发现灯正常亮

36、了。解决办法:验证zabbix_agent是否添加成功的方法,也适用其他问题。1、检查防火墙和SELinux是否关闭。2、添加完成后在zabbix_server上查看日志,如果不知道位置,请查看zabbix_server.conf配置文件如果在日志中发现主机名或ip不能被发现,就检查/etc/hosts文件中ip和主机名,是否有写错的问题。3、查看zabbix_agent.conf中配置的hostname=xxx,这里是否有些错的情况。Server=zabbix_server的ipServerActive=zabbix_server的iphostname=zabbix_agent的主机名4、检查zabbix_agent是否启动,一般都不会忘记,但不排除犯傻的情况。5、如果以上检查都没有发现错误。在zabbix_server的web页面-监测中-最新数据,选择新加的主机,查看是否有最新数据(记得链接一个系统模板,不然你啥也看不到),如果有正常数据刷新,则不用管灯是否亮了,已经能正常采集到数据了。如果等了一两分钟还没有数据(系统模板的监

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论