进程 zabbix_Zabbix监控在windows的进程(非进程数)

场景介绍:
小Z同学最近遇到个项目需求,需求是用zabbix监控运行在windows的进程。然鹅,当小Z同学在网上搜了一大堆,发现基本上都是使用官方的proc.num(***.exe)键值拿到进程数量,很显然,这并不符合客户实际的需求,如果是只运行1个的还好,若是运行了3到6个,例如java,就特别的dan疼,在任务管理器发现全是java.exe的。也许,你可以找到有些文章的说可以使用任务管理器可以看到命令行(图一),tasklist /V查看进程详情(图二)等等,然鹅,对于java来说还是看不到的。
当然了拿到java.exe和pid也可以,但作为运维人员最关注的是要知道是谁停了,而不是PID,况且人家也不知道PID对应的进程是啥。所以,本着上进负责的精神,在查阅了几天的资料后,终于实现了!!!在这里记录下来,为热爱zabbix的小伙伴做个参考,也可以自行拓展结合脚本等其他技术实现。教程不复杂,多做几次就上手了。

6d9060f146735fa0fedfc368506d127e.png

faab3ddfb1ca43bab32e82fff3c6b763.png


方法:
1. 对于非java的进程,确实使用tasklist可以监控到具体的进程名,例如监控邮箱服务器程序,方法是打开cmd,输入 tasklist | findstr “mailServer.exe” 这里只输出具体的进程名 或者 tasklist | find “mailServer.exe” 这里会输出进程,使用的资源,PID等等。然后再zabbix_agentd.conf后面加上 UserParameter=mailServer, tasklist | findstr “mailServer.exe” 保存重启agent;在zabbix做监控时,信息类型选择字符或者文本即可。
2. 重点来了,对于java进程亦或者是在任务管理器只看到运行了一堆相同的进程名,但看不到具体的实例名可以利用windows自带的 WMIC命令来获取!打开cmd,输入 wmic process 回车,会输出目前在运行的所有进程,比tasklist还详细,输出的结果包含命令行、执行路径、PID、使用的资源、所有者等等。有兴趣的小伙伴可以到官网多多了解,拓展一下其他的WMIC参数。
当然了,对于封装好的jar包程序,常规的执行命令也就是java –jar ****.jar,是可以用wmic拿到的,命令是 wmic process where name=”java.exe” 就可以输出当前正在运行的所有java进程,但结果不太美观,所以可以指定一下要找的jar包名,例如: wimc process where name=”java.exe” | find “jar包名” ,这样出来的结果就是客户想要的了。

c155cfbb7b64aea87458c8da24fb32e8.png


以下是agent配置示例:
UserParameter=java_jar, WMIC.exe process where name=”java.exe” | find “jar包名”
这里保险一点,写上完整的WMIC.exe就不会报命令找不到的错。监控项照上一步。
3. 触发器
在给非数值的监控配置触发器时,要注意类型要选择红框的 str()

f7c2acbde45cc8c5283905b51c7d1041.png


因为返回的结果是字符串,所以在V这里填上jar包进程名即可。可以只写包名+版本,不用整行都写。

ce4f449b8b5702d3dd8de8b18b545f93.png


问题和恢复的表达式:监控项是每60s检测一次,触发器这里也是每60s检测一次,发现和取值不符则发送告警信息。如果发现乱报警,那就多注意调整下。

0f4a93646c1ff11177a171a2b30e97fe.png

完成后,可以停止程序检测下是否符合需求。
教程结束!!!本文是针对不带参数启动的java进程的监控,带参数启动的后面有空会出一篇,当然了,其实也比较简单。技术交流欢迎加入Q群:177428068

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

phpcms文件所需权限

转载于:https://www.cnblogs.com/zhongheng/p/4684087.html

python mysql 时间比较大小_python时间函数与mysql时间函数转换

时间相关操作,时间有三种表示方式:时间戳 1970年1月1日之后的秒,即:time.time()格式化的字符串 2014-11-11 11:11, 即:time.strftime(%Y-%m-%d)结构化时间 元组包含了&#x…

mysql npe问题_MySQL为Null会导致5个问题,个个致命!

本文转载自微信公众号「Java中文社群」,作者磊哥。转载本文请联系Java中文社群公众号。正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示:“兵马未动粮草先行”,看完了相关的配置之后&#xff0c…

数据结构导论(一)

导读:在看书前,我对这本书的内容,是 这么想的:数据结构,那大概就是关于数据和结构的东西。而讲到数据,估计会说到数据类型,数据定义,数据存储等方面。然后在结构方面,就不…

基于java的汽车维修保养智能预约系统论文

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…

mysql 日志同步 数据不同步_Mysql互为主从问题--日志同步数据不同步

Mysql互为主从问题--日志同步数据不同步我搭建的是mysql互为主从 复制两台机器的mysql环境完全相同第一部分测试:B为master A为slave的同步测试在B上创建表lian,并插入数据mysql> create table lian (a int,b char(10));mysql> insert into lian (…

UVALive 4764 dp

DES: 这是一个新的游戏。给你一套牌、编号从1到100000.正常来说。你手中的牌和这次翻的牌是一样的,就会加一分。但是。如果是999的话。加三分。所以问你最大的分是多少。 貌似是简单的DP吧。(DP菜鸟...再简单我也不会...T_T...)于是...我看懂…

mysql数据库事务命令_MySql学习18----数据库事务---命令使用(02)

本篇讲述数据库中非常重要的事务概念和如何使用MySQL命令行窗口来进行数据库的事务操作。下一篇会讲述如何使用JDBC进行数据库的事务操作。事务是指数据库中的一组逻辑操作,这个操作的特点就是在该组逻辑中,所有的操作要么全部成功,要么全部失…

sequelize连接mysql_Sequelize没有连接mysql

文件config / config.json{"development": {"username": "root","password": null,"database": "example","host": "example.sqlite","dialect": "sqlite"},"stage…

SQL SERVER 2014 各个版本支持的功能

转自:https://technet.microsoft.com/library/cc645993 转换箱规模限制 功能名称EnterpriseBusiness IntelligenceStandardWebExpress with Advanced ServicesExpress with ToolsExpress单个实例使用的最大计算能力(SQL Server 数据库引擎)1操…

Android无法生成R文件的终极解决办法

R文件如果在clean项目(Project—>Clean)和 Fix Project Properties(如下图): 如果在第一步无法解决的的时候,那可能原因就是资源文件调用的错误,比如资源文件命名不规范,多余的资…

java awt 教程_JAVA教程 第五讲 AWT图形用户界面设计

5.1 用AWT生成图形化用户界面抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立图形用户界面GUI (Graphics User Interface)工具集,AWT可用于Java的applet和applications中。它支持图形用户界面编程的功能包括: 用户界面组件&am…

从C# String类理解Unicode(UTF8/UTF16)

上一篇博客:从字节理解Unicode(UTF8/UTF16)。这次我将从C# code 中再一次阐述上篇博客的内容。 C# 代码看UTF8 代码如下: string test "UTF-8你"; //把字符转换为 byte[] byte[] bytearray_UTF8 Encoding.UTF8.GetBytes(test)…

python浅拷贝深拷贝

copy_listlist[:] 得到的是浅拷贝,即只能顶层拷贝,里面的嵌套不会复制一份。 a [0, [1, 2], 3] b a[:] a[0] 8 a[1][1] 9 请问现在a和b分别是多少? 答案:是 a 为 [8, [1, 9], 3],b 为 [0, [1, 9], 3]。 b的第二个…

中兴的一道笔试题

今天做了中兴的秋招题目,有一个题以前没有仔细想过,题目我有点儿记不清楚了,大概意思是这样的:有一个循环的单链表,给定该链表的尾指针比给定头指针好么? 我的思路:如下图,这是一个循…

Android SurfaceView实现静态于动态画图效果

本文是基于Android的SurfaceView的动态画图效果,实现静态和动态下的正弦波画图,可作为自己做图的简单参考,废话不多说,先上图, 静态效果: 动态效果: 比较简单,代码注释的也比较详细&…

数学概念——J - 数论,质因数分解

J - 数论,质因数分解Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit StatusDescription Tomorrow is contest day, Are you all ready? We have been training for 45 days, and all guys must be tired.But , you are…

java黄金分割点游戏_结对编程1——黄金点小游戏项目简介及需求分析

一、项目成员2018141461085龚泽楠2018141461012蔡铧荣二、项目名称黄金点小游戏三、项目简介游戏规则: N个同学( N通常大于 10 ),每人写一个 0~100 之间的有理数 (不包括 0或100) ,交给裁判算出所有数字的平均值然后乘以 0.618 (所谓黄金分割…

HDU 2242 考研路茫茫——空调教室

考研路茫茫——空调教室 Time Limit: 2000msMemory Limit: 32768KBThis problem will be judged on HDU. Original ID: 224264-bit integer IO format: %I64d Java class name: Main众所周知,HDU的考研教室是没有空调的,于是就苦了不少不去图书馆的…

java 正则表达式 组合_java基础:5.1 面向对象、类的关联 聚合 组合、正则表达式...

上一个礼拜太忙了,今天开始恢复java的学习~目录1、面向过程——面向对象的区别传统的面向过程式编程是动作驱动的,数据和动作是分离的。面向对象编程的范式重点在于对象,动作和数据一起定义在对象中。面向过程的范式重点在于设计方法。面向对…