企业真实案例:zabbix调用脚本超时解决方案

author author     2022-11-30     202

关键词:

场景模拟:

  1. 企业需要对某台执行一个清理系统垃圾的脚本
  2. 企业需要对某台数据库执行一个查询数据库的脚本
  3. 企业需要对某台监控设备进行一系列动作的脚本

现象分析
使用过zabbix调用脚本的运维人员都知道的一个现象,就是如果脚本运行的时间超过30s秒,就会获取该脚本执行的结果。
上述原因是zabbix的内部源码造成的,它限制了脚本执行的时间最多不超过30s

现象重现
我们在/usr/local/zabbix/scripts/目录下创建一个test目录,并创建一个test.py脚本,(shell脚本也行)
我们在脚本中加一个time.sleep(35),模拟脚本调用超时现象
技术图片
执行改脚本。Time python test.py
技术图片
从上图可以看出。手动执行改脚本是可以输出结果的。
接着在zabbix创建脚本,执行调用该脚本的操作
技术图片

调用脚本
技术图片
技术图片
技术图片
上图证明zabbix调用脚本有超时限制
解决方案
通过agent的内置键system.run+zabbix_sender结合实现,调用脚本并返回结果

第一步:
采用zabbix_agent内置键调用test.py脚本
System.run[command,nowait]
Command:要执行的命令或者脚本
Nowait:不等待用户返回的结果,永远返回1
技术图片

图中的HOST.IPzabbix的内置宏,他的作用是自动获取该脚本的主机ip
注意:最好写绝对路径,否则可能出现报错
图中如果system.run的command参数中间有空格请加单引号或者双引号

第二步:
再次调用该脚本看一下
技术图片
技术图片
技术图片
如果,此时脚本其实已经调用成功了,不会再出现超时提示。

第三步:
接收超时脚本的结果
创建一个zabbix采集器的监控项,命名为test
技术图片
调整test.py脚本结合zabbix_sender使用

总的过程就是通过system.run[command,nowait]内置键,触发该脚本,然后test.py脚本执行完成后,把结果发送到监控主机上。
再次调用该脚本,永远返回1.
检查zabbix-server上的名称为test这个zabbix采集器的监控项有没有clean finish的字符串,有则说明,zabbix调用脚本成功。
技术图片
验证成功。上述方法已经解决了脚本超时无法执行的问题。

zabbix_server执行window脚本出现中文乱码如何解决

场景分析:企业员工A在zabbix_server上,执行了一个通过agent调用远程window主机脚本的操作,但是由于脚本的输出结果带有中文,A在zabbix_server的界面看到的内容是一串乱码字符,他根本不知道远程脚本是否执行成功。于是他想包脚... 查看详情

自动化安装zabbix脚本(3.0/3.2)

...的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。二、zabbix特点  1.企业级... 查看详情

中小企业zabbix监控生产案例实践

...abbix监控介绍1、Zabbix的功能概述1.1zabbix是什么Zabbix是一个企业级的、开源的、分布式的监控套件。Zabbix可以对网络和服务进行监控。Zabbix利用灵活的告警机制,可实现微信短信和邮件的自动报警。Zabbix利用存储的监控数据提供监... 查看详情

zabbix3.0/3.2/3.4自动安装脚本

...的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。二、zabbix特点  1.企业级... 查看详情

zabbix_server执行window脚本出现中文乱码如何解决

场景分析:A企业员工啊旺在zabbix_server上,执行了一个通过agent调用远程window主机脚本的操作,但是由于该脚本的输出结果带有中文,啊旺在zabbix_server的界面看到的内容是一串乱码字符,他根本不知道远程脚本是否执行成功。于... 查看详情

zabbix实现企业微信(wechat)告警(代码片段)

根据https://www.linuxprobe.com/zabbix-alert-with-wechat.html搭建成功大致记录1.环境不一致,导致执行python脚本不成功,后更新阿里yum源解决2.python脚本使用参考地址https://github.com/X-Mars/Zabbix-Alert-WeChat3.配置zabbix用户要注意权限 查看详情

zabbix的2个使用小案例

一、如何在Zabbix执行远程主机的脚本或指令?场景需求:1、我们可以通过zabbix_server的web界面的脚本功能实现对已经安装了zabbix_agent主机实现远程关机而不用手动登陆然后输入关机指令2、我们可以通过zabbix_server的web界面的脚本... 查看详情

第十三讲:prometheus企业级实际使?

  本讲主要内容  prometheus+grafana 企业CPU监控真实案例  prometheus+grafana 企业内存监控真实案例  prometheus+grafana 企业硬盘/IO监控真实案例  prometheus+grafana 企业?络传输真实案例  (一)prometheus+grafana ... 查看详情

zabbix之企业微信告警(代码片段)

文章目录zabbix之企业微信告警二进制安装python下载并安装python3.6做软链接安装requests库查看python版本微信告警的配置方式修改zabbix_server配置文件通过企业ID和secret来获取token测试你的token值是否可用编写通过企业微信告警脚本测试... 查看详情

zabbix理论知识

...的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。Zabbix作用Zabbix能够监视各种服务器的健康性、网络的稳定性以及各种应用系统的可靠性。当监控出现异常时,Zabbix通过灵活的告警策略,可以为任何事件配置基... 查看详情

数据中台实战课网易一线真实案例

... 别着急,在你跃跃欲试之前,先了解一下:什么样的企业适合建设数据中台?数据中台到底要解决什么问题?数据中台建设有什么可参考的方法论或者路径吗? 郭忆结合网易数据中台的实践经验,给你大量的真实案例,... 查看详情

zabbix企业级分布式系统网络监视解决方案实战课程(代码片段)

------------------课程目录-------------------1.[zabbix企业实战]1.top1.mp42.top2.mp43.top3.mp44.zabbix_10_01.mp45.zabbix_11_01.mp46.zabbix_12.mp47.zabbix_2_01.mp48.zabbix_2_02.mp49.zabbix_2_03.mp410.zabbix_3.m 查看详情

zabbix监控——zabbix自定义用户参数制作监控项(代码片段)

很多情况下,我们使用zabbix内建的监控项不足以监控企业的具体业务,这时就需要使用zabbix提供的自定义参数扩展接口,自己根据业务监控需求,开发相应的脚本作为数据获取途径,自定义参数又存在两种方式,一种是直接把脚... 查看详情

zabbix如何调用脚本进行远程监控

参考技术A根据你的监控模板 查看详情

zabbix监控平台生产环境案例(代码片段)

Zabbix监控平台(三)生产环境案例  一,Zabbix生产环境监测案例概述1.1项目规划1.2SNMP监控流程1.3IPMI1.4JMX(使用ZabbixJavaGateway代理)1.5实战监控Nginx,Apache,MySQL,PHP-fpm1.6Zabbix的Web监测二,Zabbix监控MySQL数据库操作实战2.1编写监... 查看详情

zabbix企业级监控概述和部署

...的提供分布式系统监视以及网络监视功能的企业级的开源解决方案zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix特点:安装与配置简单... 查看详情

[zabbix问题解决]item取值超时怎么办?

...块,需要运维监控一下868386829002这三个端口,于是我就在zabbix里把这三个端口进行了监控,但是却无法返回值,如图:650)this.width=650;"src="https://s3.51cto.com/wyfs02/M00/8E/80/wKiom1jCSCDAQlowAADLnB7sVVw783.png"title="2.png"alt="wKiom1j 查看详情

zabbix5.0配置企业微信告警(代码片段)

文章目录配置企业微信1、注册企业微信2、添加部门3、添加部门成员4、自建应用(用来告警通知的)配置zabbix服务端(zabbix-server)1、编辑zabbix-server.conf文件进行配置2、安装组件requests3、微信报警脚本4、测试脚... 查看详情