Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法

场景模拟:

国内有部分企业需要运行某些窗口程序(即.exe)来支撑重要的业务运作,一旦这些重要的窗口程序中断了,那么就会造成巨大的经济损失或者影响工作效率,后果如此严重。所以想通过zabbix进行多程序状态的监控,一旦这些重要的窗口程序中断,里面产生告警,通知运维人员去修复。

提前准备好,两个bat脚本,findexe.bat(把要监控的exe程序做成自动发现),check_exe_status.bat(获取监控exe程序的状态)
第一步–准备bat脚本:

findexe.bat脚本的内容如下

@echo off

setlocal enabledelayedexpansion

set /a n=0

set /a n1=0

for %%i in (%*) do (set /a n+=1)

@echo {"data":[

for %%a in (%*) do (

set /a n1+=1

@echo {"{#SERVERNAME}":"%%a"

if !n1! neq !n! (

@echo },

) else (

@echo }

)

)

echo ]}

check_exe_status.bat脚本内容如下

@echo off

tasklist|findstr ^%1 >/NUL 2>&1

if %errorlevel% == 0 (

echo "running"

) else (

echo "norunning"

)

注意tasklist|findstr ^%1 >/NUL 2>&1这条命令是查询监控程序exe有没有运行的

第二步–制作监控模板

点击添加,创建模板

然后在刚才的check_exe_status模板中,创建自动发现规则

图中键值名为findexe,键值里面的参数就是客户要监控的多个进程,用双引号括起来,中间用空格分割。

findexe[“firefox.exe chrome.exe xxxlll.exe”]

如果还有其他exe程序要监控,只需要用空格分割,往后面填入即可。

接着在这个自动发现规则下,新建一个监控项原型。

原型的{#SERVERNAME}的值是固定的有第一步的findexe.bat中定义。

第三步–配置zabbix_agent.conf的自定义键值

脚本路径自定义,自定义键值要和模板的命名一致

重启zabbix_agent

第四步–验证多个exe程序状态

自动发现填入了三个exe程序名,其中xxxll.exe为不存在的exe,为了验证效果,现在把firefox.exe程序关掉,看一下他的最新数据是否会显示成norunning。

验证成功。

到此这篇关于Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法的文章就介绍到这了,更多相关Zabbix结合 bat 脚本状态监控内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法

    Python编写从ZabbixAPI获取信息 此脚本用Python3.6执行是OK的. # -*- coding: utf-8 -*- import json import urllib.request, urllib.error, urllib.parse class ZabbixAPI: def __init__(self): self.__url = 'http://192.168.56.102/zabbix/api_jsonrpc.php' self.__user = 'admin' s

  • Zabbix监控Linux主机设置方法

    说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配置防火墙,开启10050.10051的TCP和UDP端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 -A INPUT -s 192.168.21.127 -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCE

  • Zabbix实现批量监控端口状态的方法

    引言 在监控生产环境的服务的时候,通常需要对多个端口进行监控,如果我们手动一个一个的添加,这将是一件很麻烦的事情,为了减少这样的情况,我们采用批量添加监控端口的方法,这是非常常见的需求,zabbix也是支持这种方式的,需要使用zabbix的Discovery功能来实现,下面小编就给大家分享一下批量添加端口的占用. 使用Zabbix监控如何监控服务器端口状态,大概的流程:zabbix监控服务自带端口监控的监控项,所以需要我们自己手动定义所监控的item,客户端获取的端口列表通过agent传送到服务

  • Zabbix监控交换机设置方法

    说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对交换机进行监控. 具体操作: 以下操作在被监控的交换机上进行,这里以Cisco交换机为例. 一.登录到Cisco交换机,开启snmp服务 注意:使用telnet或者仿真终端登录到交换机特权配置模式 enable #切换到特权模式 configure terminal #进入全局配置模式 snmp-server community public ro #打开交换机snmp服务,设置团体名称为public,只读 snmp-serve

  • Zabbix监控方案-官方最新4.4版本【推荐】

    Zabbix 2019/10/12 Chenxin 参考 https://www.zabbix.com/documentation/4.0/zh/manual https://baike.baidu.com/item/zabbix/6780368?fr=aladdin 简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. zab

  • Zabbix系统端口监控状态

    一.监控系统Zabbix -添加端口监控 对于进程和端口的监控,可以使用zabbix自带的key进行监控,只需要在server端维护就可以了,相比于nagios使用插件去监控的方式更为简单.下面简单介绍配置: 1.监控端口 zabbix监控端口使用如下key: key:net.tcp.listen[port] Checks if this port is in LISTEN state. 0 - it is not, 1 - it is inLISTEN state. 2.解释: 监听端口状态,

  • Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法

    场景模拟: 国内有部分企业需要运行某些窗口程序(即.exe)来支撑重要的业务运作,一旦这些重要的窗口程序中断了,那么就会造成巨大的经济损失或者影响工作效率,后果如此严重.所以想通过zabbix进行多程序状态的监控,一旦这些重要的窗口程序中断,里面产生告警,通知运维人员去修复. 提前准备好,两个bat脚本,findexe.bat(把要监控的exe程序做成自动发现),check_exe_status.bat(获取监控exe程序的状态) 第一步–准备bat脚本: findexe.bat脚本的内容如下

  • windows下定时利用bat脚本实现ftp上传下载

    前言: 工作中可能会遇到以下情况,利用windows作为中转,来实现两台linux服务器的文件传输. 实现步骤: 1.FTP上传和下载的bat脚本. 脚本分为两部分:可执行bat脚本和ftp命令文件: 可执行bat脚本: @echo off ftp -s:D:\ftp\ftp.txt ftp命令ftp.txt: open 192.168.1.166 ftp-user passwd prompt off lcd D:\ftp cd /home/myftp mget * close open 10.

  • 利用python生成一个导出数据库的bat脚本文件的方法

    实例如下: # 环境: python3.x def getExportDbSql(db, index): # 获取导出一个数据库实例的sql语句 sql = 'mysqldump -u%s -p%s -h%s -P%d --default-character-set=utf8 --databases mu_ins_s%s > %s.s%d.mu_ins_%d.sql' %(db['user'], db['pwd'], db['host'], db['port'], index, db['serv

  • Bat脚本处理ftp超强案例分析

    前言: 公司有几百台windows服务器,每次程序更新,如果是一台台拷数据,只怕安排十个人,一天都不一定做得完,所以就必须研究个全自动更新方案来,于是就想到了FTP,做个主FTP站,在几百台客户机上启动BAT脚本,每30秒检测一次,如果主站有更新程序,就自动下载更新,几分钟内,上400台windows服务器,都可以全自动更新程序完毕,相当实用,现把当初研究BAT的脚本思路贴出来,希望对大批量运维人员一个方向.当然,批量更新服务器,每个公司有它自己的解决办法,这个BAT的方式不是最优的,可以用sh

  • zabbix利用python脚本发送报警邮件的方法

    前言 zabbix是个非常强大的监控工具,可以监控linux和windows的服务器数据,也可以通过自定义key来扩展默认的监控项,但是自带的邮件报警提供的信息却不太友善.本文想通过自定脚本的方式,实现在报警邮件的同时发送对应的图像和url连接. 步骤如下: 1.编辑zabbix_server.conf文件,修改AlertScriptsPath参数,该参数用于指定外部脚本的绝对路径. vim /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr

  • windows7系统去除快捷方式小箭头BAT脚本分享

    相信很多人都知道怎么清除windows xp的快捷方式,但windows 7的不一定知道,下面给大家带来个不错的清除windows 7快捷方式的bat脚本. 脚本内容如下: 复制代码 代码如下: @echo off mode con cols=35 lines=8 & color 0A title 去除系统快捷方式箭头 echo 程序将为你去除系统快捷方式的小箭头 pause echo Windows Registry Editor Version 5.00>>1.reg echo [

  • 利用BAT脚本加入域和退出域的代码

    利用BAT脚本加入域和退出域 加入域的脚本: @echo off netdom join %computername% /domain:test.com /UserD:user /PasswordD:pass /REBoot:5 退出域的脚本: @echo off netdom remove %computername% /domain:test.com /UserD:user /PasswordD:pass /REBoot:5 上面两个批处理脚本是通过调用xp support tools 里面

  • Windows系统自动连接网络共享打印机BAT脚本分享

    最近几天财务老是闹连不上网络打印机,教了她几遍要在cmd里输入net use \\192.168.10.131 /user:guest 回车后再输入密码,实在是烦了,直接写了个bat脚本给她使用. 脚本内容: 复制代码 代码如下: @echo off echo 添加网络打印机 echo 等待.... sc config spooler start= auto net stop spooler & net start spooler rem 只需替换以下ip.打印机名.帐号.密码为具体名称即可 n

  • Windows系统清理QQ聊天记录、反监控QQ聊天的BAT脚本分享

    今天女朋友告诉我说她们公司居然查看她们qq聊天记录,对于这样的公司我只能说x,好吧,写个脚本先清理下本地的qq聊天记录,再去找机器是否有安装监控软件. 系统:windows 软件:qq 2013 下面是我写的清理qq聊天记录的bat脚本,内容如下: 复制代码 代码如下: @echo off taskkill /f /im qq.exe taskkill /f /im qqprotect.exe taskkill /f /im txplatfirm.exe cd C:\Documents and

  • Windows下简单的Mysql备份BAT脚本分享

    前言 本文介绍的是一个简单的在 Windows 下备份 Mysql 的 BAT 脚本,脚本使用 mysqldump 命令来备份一个指定的 Mysql 数据库到一个文件,文件格式为 %dbname%-yyyyMMddHHmmss.sql,只保留最近60天的备份.如果想定时执行,在 Windows 中添加任务计划即可,具体的可以参考这篇文章. 示例代码如下 @echo off set hour=%time:~0,2% if "%time:~0,1%"==" " set

随机推荐