Windows zabbix监控远程进程实现机制

  最近负责zabbix监控部署方面的工作,需要完成本地服务端监控远程虚拟机的运行状态(CPU、打开的进程等),与大家分享下我的实现方法。

  (1) 首先,需要实现记录zabbix客户端的进程的批处理:zabbix_task.bat;

  zabbix_task.bat内容如下:

  @echo off

  chcp 65001

  tasklist /v |findstr "%username%" > c:/zabbix_temp.txt  #进程路径根据个人习惯设置

  pause

  (2) 其次,实现实时监控远程的进程的批处理,使用VBS脚本调用脚本1实现定时刷新进程,脚本命名为:zabbix_monitor.vbs

  本地电脑远程创建远程电脑的计划任务程序(当每次登陆时自动运行脚本zabbix_monitor.vbs),进行实时监控电脑进程

  zabbix_monitor.vbs内容如下:

  Set ws = CreateObject("Wscript.shell")

  do
  ws.run left(Wscritp.Scritpfullname,instrrev(wscript.Scriptfullname,"\")-1)&"\zabbix_task.bat",vbhide

  Wscript.sleep 5000

  loop

  (3) 最后,实现过滤筛选zabbix服务端需要监控的进程脚本:zabbix_tasklist.bat

  @echo off

  setlocal enabledelayedexpansion
  chcp 65001
  echo {
  echo "data" :[
  for /f "tokens = 9*" %%i in (c:\zabbix_temp.txt)
  do(
  set "str=%%j"
  set "str=!str:\=\\!"
  if"!str!"=="!str:暂缺=!" if"!str!"=="!str:Wnd=!" if"!str!"=="!str:N/A=!" if"!str!"=="!str:MCI=!" if"!str!"=="!str:dwn=!" if"!str!"=="!str:taskeng=!"   if"!str!"=="!str:KSafeTray=!" if"!str!"=="!str:6EBF21D6BA1F=!" if"!str!"=="!str:jusched=!" if"!str!"=="!str:HwUvPUpgrade=!"                   if"!str!"=="!str:SPES=!" if"!str!"=="!str:Windows Update=!" if"!str!"=="!str:cmd.exe=!" if"!str!"=="!str:SysFader=!"
  echo {"{#TASK_NAME}":"!str!"},
  )
  echo {"{#TASK_NAME}":"NULL"}
  echo]
  echo
  }

 PS:本地电脑访问远程电脑创建计划任务程序,可以使用批处理schtask命令完成访问远程电脑 

  

  

时间: 2024-10-03 15:01:23

Windows zabbix监控远程进程实现机制的相关文章

zabbix 监控特定进程

由于一些服务器上跑着一些重要程序,需要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中添加自定义脚本对特定程序进行监控,最近看了zabbix的官方文档,发现原来强大的zabbix居然能监控程序是否运行,并能监控其使用的内存大小,以下是我的实践记录: 1. 在特定机器或模板上创建新的监控项,点击Key 后面的Select 按钮,选择如下两项,一项是用来监控特定进程的数量,另一项是用来监控进程使用内存的大小. 2.以下是对squid进程的监控配置,key中的参数说明,第一个参数是

zabbix监控之进程自动发现

1,获取要监控的进程到/tmp/process_list.txt文件 cat process_list.sh #!/bin/bashcat /dev/null >/tmp/process_list.txt if [ `ps aux|grep "/data/apache_projects/tomcat7-express-18034"|grep -v grep |wc -l` -gt 0 ];then echo "/data/apache_projects/tomcat7-

zabbix监控 nginx 进程

参考 http://chenx1242.blog.51cto.com/10430133/1837990 1 前期说明 zabbix_server查看"文件在后台运行数量"所对应的key就是:proc.num[<name>,<user>,<state>,<cmdline>],具体意思如下: <name>:进程名称,默认为"all processes": <user>:用户名,默认 "al

zabbix监控Linux进程方法

利用zabbix proc.num方法监控Linux服务进程 proc.num[<name>,<user>,<state>,<cmdline>] 监控用户某些状态的进程的数量 name - 进程名称 (默认"all processes") user - 用户名 (默认 "all users") state - 可用值: all (默认), run,sleep, zomb cmdline - 命令行过滤(正则表达时) 具

zabbix监控特定进程

由于一些服务器上跑着一些重要程序,需要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中添加自定义脚本对特定程序进行监控,最近看了zabbix的官方文档,发现原来强大的zabbix居然能监控程序是否运行,并能监控其使用的内存大小,以下是我的实践记录: 1.在特定机器或模板上创建新的监控项,点击Key 后面的Select 按钮,选择如下两项,一项是用来监控特定进程的数量,另一项是用来监控进程使用内存的大小. 2.以下是对squid进程的监控配置,key中的参数说明,第一个参数是进

zabbix监控业务进程变动

Zabbix 监控进程宕机 业务需求后端进程宕机以后能在短时间内迅速拉起,业务影响不大,但是开发需要查看coredump,要求能监控到pid变化:在现有构架下zabbix能监控并报警: 当然zabbix设置报警设置就不再一一 在每台服务器/etc/zabbix/zabbix_agentd.conf设置路径:此例只需要piddiff.sh UserParameter=checkpid,sh /usr/local/script/piddiff.sh UserParameter=test,sh /us

Zabbix监控qemuKVM进程-low_level_discovery

本文介绍基于Zabbix LLD(low_level_discovery)自动发现机制创建自动发现脚本及对详细进程进行监控. 执行过程: 1:基于py脚本寻找KVM主机上的虚拟机名称,返回JSON格式 2:配置Zabbix模板,自动生成监控列表信息 3:基于ps命令获取监控值 代码文件: 获取虚拟机名称列表: 1 #!/usr/bin/env python 2 import os 3 import json 4 t=os.popen("""ps -e -o 'pid,comm

zabbix监控hadoop进程

环境:centos6.7 | zabbix3.2.4 | hadoop2.6.0 主要监控进程:journalnode | namenode | zkfc | datanode 监控脚本:hadoop.sh #!/bin/bash server=$1 case $server in    journalnode)               /etc/init.d/hadoop-hdfs-journalnode status >> /dev/null 2>&1          

zabbix 监控僵尸进程

1 选择一个模板,然后创建一个监控项 如图: 2 创建触发器 返回值大于1则报警,也可以设置成0 3 服务端测试 /home/usr/local/zabbix/bin/zabbix_get -s ip -p 10050 -k "proc.num[,,zomb,]" 4 创建图像