首页 > 其他分享 >针对zabbix二次开发的监控脚本执行timeout时,zabbix-server性能消耗增大问题,开发处理timeout状态的脚本

针对zabbix二次开发的监控脚本执行timeout时,zabbix-server性能消耗增大问题,开发处理timeout状态的脚本

时间:2022-11-19 00:33:48浏览次数:42  
标签:脚本 RUN SCRIPTS PID START zabbix timeout TIME grep

脚本内容:

#!/bin/sh

###################################################
# Script to handle execution timeout states
# script by shell
# writed by Deliver
# huchangxi 2022/11/14
###################################################

# 判断脚本是否正在执行
SCRIPTS_NAME=`basename $0`
SCRIPTS_RUN_NUM=`ps -ef | grep ${SCRIPTS_NAME} | grep -w zabbix | grep -v grep | wc -l`

if [ ${SCRIPTS_RUN_NUM} -gt 1 ]; then

SCRIPTS_RUN_PROC=`ps -ef | grep ${SCRIPTS_NAME} | grep -w zabbix | grep -v grep | head -n 1`
SCRIPTS_RUN_PID=`echo ${SCRIPTS_RUN_PROC} | awk '{print $2}'`
# SCRIPTS_RUN_TIME=`ps -p ${SCRIPTS_RUN_PID} -o etimes | tail -n 1`
SCRIPTS_RUN_START_YMDTIME=`ps -p ${SCRIPTS_RUN_PID} -o lstart | grep -v STARTED`
if [ -n "$SCRIPTS_RUN_START_YMDTIME" ];then
SCRIPTS_RUN_START_TIME=`date -d "${SCRIPTS_RUN_START_YMDTIME}" +%s`
SCRIPTS_RUN_NOW_TIME=$(date +%s)
SCRIPTS_RUN_TIME=$[SCRIPTS_RUN_NOW_TIME-SCRIPTS_RUN_START_TIME]
# 给定脚本最长执行时间60S,运行时长大于60s将kill
SCRIPTS_RUN_MAXTIME=60

if [ ${SCRIPTS_RUN_TIME} -gt ${SCRIPTS_RUN_MAXTIME} ]; then

kill ${SCRIPTS_RUN_PID}
if [ $? -eq 0 ]; then
echo "`date +%F-%H:%M:%S` kill running timeout process successful PID: ${SCRIPTS_RUN_PID} ; RUN_START_TIME: ${SCRIPTS_RUN_START_TIME} ; TIME: ${SCRIPTS_RUN_NOW_TIME} ; RUN_TIME: ${SCRIPTS_RUN_TIME} ;PROCESSNAME: ${SCRIPTS_RUN_PROC}"
else
echo "`date +%F-%H:%M:%S` kill running timeout process failed PID: ${SCRIPTS_RUN_PID} ; RUN_START_TIME: ${SCRIPTS_RUN_START_TIME} ; TIME: ${SCRIPTS_RUN_NOW_TIME} ; RUN_TIME: ${SCRIPTS_RUN_TIME} ;PROCESSNAME: ${SCRIPTS_RUN_PROC}"
fi
fi
fi
fi

标签:脚本,RUN,SCRIPTS,PID,START,zabbix,timeout,TIME,grep
From: https://www.cnblogs.com/A121/p/16905308.html

相关文章

  • ZABBIX开发自定义进程关键字监控
    脚本内容:#!/bin/sh####################################################Usedtomonitorthenumberofprocesskeywords#scriptbyshell#writedbyDeliver#20......
  • C#利用js脚本实现配置的文本表达式计算
    usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingMSScriptControl;namespaceMyQuery.CSharpScript{  ///......
  • 二级联动 js脚本
    //二级联动说明:联动的select的值必须匹配allinfo为二级所有值的数组格式为value|text  //贾世义functionselectChange(obj,changeId,allinfo){   varselV......
  • Shell脚本的基础用法介绍
    Shell脚本介绍Shell一个命令行解释器,它的作用是将输入的命令加以解释并传给系统执行,是用户与系统沟通的桥梁,而Shell脚本是一种脚本语言,支持逻辑判断,循环执行......
  • 《Shell脚本实例 —— linux rcs启动脚本添加》
    linuxrc(bin/busybox)-->etc/inittab--> etc/init.d/rcS--> etc/init.d/Sxx linuxrc是指向busybox的软连接 开机自动执行脚本或命令:1.写一个脚本,然后放到etc......
  • 《Shell脚本学习 —— 后台检测应用程序运行》
    1.守护脚本一般用来检测项目中程序是否奔溃退出,以及程序重启多次后直接重启整个机器。#!/bin/shyd_media_app&count=0whiletruedostillRunning=$(ps|......
  • 定时自动备份【脚本】
    建立执行脚本vi/home/Network_Config_Backup/start.sh#!/bin/bash#使用该脚本前需要安装tftp,xinetd,expect#取时间戳BACKUP_DATA=`date+%Y%m%d`#创建时间戳的备......
  • bash脚本批量启动停止jar包
    #!/bin/sh#端口号PORTS=(100868380858088890080878089)#系统模块MODULES=(registrygatewayuserwelcowisdomauthresources)#系统模块名称MODULE_NAMES=(注册......
  • kafka集群启动脚本失效
    问题描述:之前写的kafka集群启动脚本,今天重启服务器后失效了,只启动了本地的kafka1,另一台虚拟机上的kafka2没启动也没有日志#!/bin/bashcase$1in"start"){......
  • zabbix监控kafka消费
    目录一、Kafka监控的几个指标二、查看zookeeper配置三、查看kafka配置四、查看kafka的groupname五、查看kafka的topic_name六、修改zabbix配置文件......