章工运维 章工运维
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)

章工运维

业精于勤,荒于嬉
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)
  • linux

  • windows

  • 中间件

  • 网络

  • 安全

  • 存储

  • 防火墙

  • 数据库

  • 系统

  • docker

  • other

  • 监控

    • zabbix

      • zabbix添加证书监控
      • zabbix添加端口和进程监控
      • docker文件安装zabbix5
      • zabbix配置钉钉告警
      • zabbix添加日志监控
      • zabbix添加进程pid监控
      • zabbix监控windows进程
      • zabbix添加web监控
      • centos7编译安装zabbix5.0 proxy端
      • rpm安装zabbix proxy过程简记
      • zabbix使用内置监控项实现日志监控告警
      • zabbix警告常见问题集锦
      • zabbix agent安装及配置介绍
    • prometheus

  • 运维
  • 监控
  • zabbix
章工运维
2022-12-20

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的小伙伴做个参考,也可以自行拓展结合脚本等其他技术实现。教程不复杂,多做几次就上手了。

方法:

对于非java的进程,确实使用tasklist可以监控到具体的进程名,例如监控邮箱服务器程序,方法是打开cmd,输入 tasklist | findstr “mailServer.exe” 这里只输出具体的进程名 或者 tasklist | find “mailServer.exe” 这里会输出进程,使用的资源,PID等等。然后再zabbix_agentd.conf后面加上 UserParameter=mailServer, tasklist | findstr “mailServer.exe” 保存重启agent;在zabbix做监控时,信息类型选择字符或者文本即可。 重点来了,对于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包名” ,这样出来的结果就是客户想要的了。

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

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

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

完成后,可以停止程序检测下是否符合需求。

原文链接:

https://blog.csdn.net/weixin_43631631/article/details/105575412

微信 支付宝
上次更新: 2023/02/23, 18:13:16

← zabbix添加进程pid监控 zabbix添加web监控→

最近更新
01
shell脚本模块集合
05-13
02
生活小技巧(认知版)
04-29
03
生活小技巧(防骗版)
04-29
更多文章>
Theme by Vdoing | Copyright © 2019-2025 | 点击查看十年之约 | 鄂ICP备2024072800号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式