1.编辑自动发现脚本

自动发现脚本只支持JSON格式

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. import commands
  4. import psutil
  5. import threading
  6. import json
  7. # 获取所有java进程的pid
  8. Pids=commands.getoutput('pidof java').split()
  9. def name(pid):
  10. p = psutil.Process(int(pid))
  11. # 应为zabbix监控,是使用zabbix用户,所以cwd参数会报权限不足
  12. #dir = p.cwd().split(r'/')
  13. #return str(dir[-2]).split(r'_')[-1]
  14. # 这种办法虽然Low一点,但是目前来说,是可以使用的
  15. return p.cmdline()[-4].split(r'/')[-1]
  16. pids={}
  17. data=[]
  18. for i in Pids:
  19. scn={}
  20. scn[r"{#PID}"]=i
  21. scn[r"{#NAME}"] = name(i)
  22. data.append(scn)
  23. pids["data"] = data
  24. print json.dumps(pids)

执行效果

  1. # ./process_scan.py
  2. {"data": [{"{#PID}": "47524", "{#NAME}": "tomcat_xxx"}]}

2.编辑性能获取脚本

  1. #!/usr/bin/env python
  2. # coding:utf-8
  3. import psutil
  4. import sys
  5. item = sys.argv[1]
  6. pid = sys.argv[2]
  7. # 进程状态[目前都是多线程程序,所以此状态只有参考价值]
  8. def status(pid):
  9. p = psutil.Process(int(pid))
  10. return p.status()
  11. # 内存使用率
  12. def mem(pid):
  13. p = psutil.Process(int(pid))
  14. return p.memory_percent()
  15. # CPU使用率
  16. def cpu(pid):
  17. p = psutil.Process(int(pid))
  18. return p.cpu_percent()
  19. if item == 'status':
  20. print status(pid)
  21. elif item == 'mem':
  22. print '%.2f' %(mem(pid))
  23. elif item == 'cpu':
  24. print cpu(pid)

3.添加zabbix自动意义参数

  1. $ vim etc/zabbix_agentd.conf
  2. UserParameter=process_scan,/data/zabbix/process_scan.py
  3. UserParameter=Process_status[*],/data/zabbix/process_status.py $1 $2

4.zabbix中添加自定义发现项

5.添加监控项

Zabbix自动发现监控Tomcat进程的更多相关文章

  1. zabbix自动发现监控mysql

    一. 数据库给只读权限 1.1 grant usage on *.* to 'zabbix'@'127.0.0.1' identified by 'zabbix'; flush privileges; ...

  2. zabbix自动发现监控url

    1.在监控客户机上 web_site_code_status.sh: #!/bin/bash UrlFile="/opt/scripts/WEB.txt" IFS=$'\n' we ...

  3. zabbix监控自动发现监控tomcat(V1)

    背景说明: 由于zabbix监控使用自带的模版,只能监控主机上只有1个tomcat的场景适合,虽然网上很多朋友都是在每个监控项上面添加一个空格来解决问题.但是个人感觉这种方法还是蛮麻烦的,所以写一篇使 ...

  4. 使用 zabbix 自动发现监控 MySQL

    介绍 使用 zabbix 的 low-level 自动发现功能完成单主机多端口的监控, 详见low_level_discovery, 整体上监控类似 percona 的 zabbix 监控插件, 不过 ...

  5. zabbix自动发现监控远程端口

    zabbix监控远程服务器端口,simple checks是zabbix用来监控无agent的主机 脚本和模板地址: https://github.com/mikeluwen/tcpmonitor

  6. zabbix 自动发现 监控 硬盘读写 disk io

    直接 上配置: 1.配置文件 cat userparameter_harddisk.conf #discovery hard diskUserParameter=custom.vfs.discover ...

  7. zabbix自动发现功能实现批量web url监控

    需求: 现在有大量url需要监控,形式如http://www.baidu.com ,要求url状态不为200即报警. 需求详细分析: 大量的url,且url经常变化,现在监控用的是zabbix,如果手 ...

  8. 添加zabbix自动发现(监控多tomcat实例)

    说明 何为自动发现?首先我们监控多tomcat实例,如果一个个实例地添加或许可以完成当前需求.但是日后随着实例的增多,再手动一个个去添加就十分不方便了.这时候需要自动发现这个功能,来帮助我们自动添加监 ...

  9. zabbix使用自动发现监控esxi的磁盘存储storage

    zabbix使用自动发现监控esxi的磁盘存储storage 在任意一台可以访问vcenter的zabbix-agent服务器上添加exsi的磁盘监控模板即可 创建模板过程: custom.esxi. ...

随机推荐

  1. km算法入门

    本文知识均由笔者自学,文章有错误之处请不吝指出. 笔者刷数模题的时候有一道题考到了"二分图最大权分配",需要用到KM算法,但是书上对KM算法的介绍又臭又长,更何况有些同学" ...

  2. UWP 重启App

    今天看见了阿迪王的博客,写到了重启App自身的代码,微软终于在16299加进来了 其实就加上一句话 await CoreApplication.RequestRestartAsync(string.E ...

  3. OpenCV 实现图片的水平投影与垂直投影,并进行行分割

    对于印刷体图片来说,进行水平投影和垂直投影可以很快的进行分割,本文就在OpenCV中如何进行水平投影和垂直投影通过代码进行说明. 水平投影:二维图像在y轴上的投影 垂直投影:二维图像在x轴上的投影 由 ...

  4. 程序员的自我救赎---3.1:理解Oauth2.0

    <前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...

  5. Codeforces 869E The Untended Antiquity

    题意:给定一个网格图,三种操作:1.在(r1,c1,r2,c2)处建围墙.2.删除(r1,c1,r2,c2)处的围墙.3.询问两点是否可达 思路比较巧妙,将围墙内的点赋加一个权值,询问的时候判断两个点 ...

  6. KafkaManager中Group下不显示对应Topic的解决方案

    一.软件版本 Kafka:0.8.2.1 KafkaManager:1.2.9.10 二.问题现象 点击Consumer下某个组,显示如下图所示的异常,查看KafkaManager的Applicati ...

  7. 查看主机DNSserver

    一.Nslookup(name server lookup)( 域名查询):是一个用于查询 Internet 域名信息或诊断DNS server问题的工具.nslookup能够指定查询的类型,能够查到 ...

  8. 独立安装WAMP

    安装apache 获得apache安装软件: 建议去官网下载: www.apache.org 双击执行: 进入欢迎界面 点击"next"进入到协议界面 接收协议点击"ne ...

  9. 给eclipse配置sublime主题的背景

    效果例如以下: 步骤: 1.假设你的Eclipse没有Marketplace的话,你自己装一个即可了:Help–>Install New Software–>add location:ht ...

  10. jmeter的使用---web测试

    jmeter的使用---web测试 url:http://127.0.0.1:1080/WebTours/ 1.通过badboy录制脚本 1.1输入url点击右侧的跳转按钮,随后右侧显示url界面 1 ...