Zabbix自动发现java进程

一:简介

使用Python psutil模块,查找java模块,并获取启动命令,结合zabbix监控自动监控。点击下载

二:操作

发现脚本

#!/usr/bin/env python
# coding:utf-8

import psutil
import re
import json

def thread():
    try:
        data = []
        name = []
        a = psutil.pids()
        for i in a:
            p = psutil.Process(i)
            if p.name() == ‘java‘:
                if re.search(‘jar‘, p.cmdline()[-1]):
                     name.append(p.cmdline()[-1].split(‘-‘)[0])
        for i in name:
            data.append({‘{#PNAME}‘: i})
        print json.dumps({‘data‘: data}, indent=2)
    except Exception,e:
        print e

thread()

监控脚本

#!/usr/bin/env python

import psutil
import re
import json
import sys

def Process(name):
    result = []
    try:
        a = psutil.pids()
        for i in a:
            p = psutil.Process(i)
            if p.name() == ‘java‘:
                cmd = ‘ ‘.join(p.cmdline())
                if re.search(name, cmd):
                    result.append(0)
                else:
                    result.append(1)
    except Exception,e:
        print 1
    else:
        if 0 in result and result.count(0) == 1:
            print 0
        else:
            print 1

name = sys.argv[1]
param = sys.argv[2]

if name == ‘Process‘:
    Process(param)

添加zabbix自定义key

UserParameter=app_scan,/usr/local/zabbix/app_scan.py

UserParameter=app_status[*],/usr/local/zabbix/app_monitor.py $1 $2

zabbix模板,点击链接中的模板下载

时间: 2024-11-10 05:39:46

Zabbix自动发现java进程的相关文章

zabbix自动发现结合shell实现自动发现占用内存最大top10进程并监控其资源

最近在想一个问题,线上服务器跑的服务五花八门,可能这台跑的是nginx,另一台跑的是mysql,其他的跑的是nfs或者其他服务等等,通过某一个脚本中固定的写入一些服务来实现监控所有的服务器的进程占用资源情况占用zabbix服务器资源不说,假如该服务器跑的服务不在固定列表中,监控服务获取不到相应数据. 为了解决这个问题,最近在想通过zabbix的自动发现功能能不能实现自动发现占用服务器内存最大的N个进程,然后对这些进程占用内存和CPU的资源情况进行监控获取数据呢?于是就有了本篇文章的诞生. 首先,

zabbix自动发现与监控内存和CPU使用率最高的进程

监控需求 某项目的应用服务器CPU和内存使用率的监控,通过zabbix系统监控记录应用服务器上进程的CPU和内存的使用情况,并以图表的形式实时展现,以便于我们分析服务器的性能瓶颈. 监控方式 利用zabbix监控系统的自动发现功能,首先编写shell脚本获取服务器的CPU和内存资源使用率最大的进程,以json的格式输出,然后对这些进程的CPU和内存资源使用情况进行监控.(本文监控的进程为Linux服务器中资源使用率最高的10个进程.) 缺点 不适用于监控固定的进程 首先使用top命令查看进程状态

zabbix专题:第九章 zabbix自动发现功能详解

zabbix自动发现功能详解 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.co zabbix自动发现功能详解 网络发现简介 有100台服务器,不想一台台主机去添加,能不能让zabbix自动添加主机呢,当然可以,网络发现便是这个功能,当然前提条件是所有服务器都已经安装了agent或者snmp(其实也可以不用,鉴于我们大部分功能都用agent,所以请安装上agent),server扫描配置好的ip段,自动添加ho

zabbix自动发现监控mongo

1: zabbix自动发现mongo监控的端口,并返回zabbix_server需要的格式,脚本部署在zabbix_agent上,路径为/usr/local/zabbix/zabbix_discover_mongo.sh,脚本内容如下: #!/bin/sh #zhuangweihong 20160419 zabbix discover mysql res=`sudo ss -tulnp|grep mongo|grep -v 28107|awk '{print $(NF-2)}'|awk -F':

zabbix自动发现和自动注册

zabbix自动发现和自动注册 熟练通过Zabbix监控平台监控单台客户端之后,企业中有成千上万台服务器,如果手工添加会非常耗时间,造成大量的人力成本的浪费,有没有什么好的自动化添加客户端的方法呢? Zabbix自动发现就是为了解决批量监控而设计的功能之一,什么是自动发现呢,简单来说就是Zabbix Server端可以基于设定的规则,自动批量的去发现局域网若干服务器,并自动把服务器添加至Zabbix监控平台,省去人工手动频繁的添加,节省大量的人力成本. 一. 自动发现: Zabbix最大的特点之

zabbix自动发现oracle表空间并监控其使用率

监控需求 Oracle表空间使用率实时监控,当表空间使用率达到95%时触发告警机制.Oracle表空间分为系统默认表空间和用户创建的表空间,而表空间又有自动扩展和非自动扩展两种类型,用户(DBA)在创建表空间时可以根据应用需求指定是否开启表空间自动扩展.那么在这里我们需要分析一个监控策略,就是当zabbix监控到某个表空间使用率达到95%,那么就让触发器触发警告(Warning)信息,并发送邮件给DBA或管理者.当检测到表空间没有开启自动扩展时,则触发Information信息.说明一下:ora

Zabbix自动发现之fping

原文发表于cu:2016-06-21 Zabbix自动发现功能从配置流程上比较简单:Discovery与Action. 在做Zabbix的自动发现验证时,使用"ICMP ping"的check方式时,自动发现功能并不生效. 一.环境 1. zabbix环境 Zabbix:zabbix-3.0.1server/agent 2. 配置环境 Discovery 发现本地网络172.19.200.1-254,Check:ICMP ping,如下: Action ICMP ping方式下,UP状

zabbix自动发现使用中端口并图形展示各个端口连接数

zabbix自动发现当前服务器使用中的端口并图形展示各个端口连接数 1.修改配置文件 vi /data/server/zabbix_agent/conf/zabbix_agentd.conf UserParameter=tcp.port.discovery,/data/server/zabbix/bin/discover_tcp_port_count tcp_port_discovery UserParameter=tcp.port.count[*],/data/server/zabbix/bi

5、Zabbix自动发现主机

上一篇文档介绍了zabbix自动注册,就是zabbix agent主动寻找zabbix server并根据server定义好的规则完成添加主机.加入指定主机组.链接模板等操作. Zabbix自动发现跟自动注册正好相反,它是由server扫描某一个网段内所有主机,发现主机后根据定义好的规则完成添加主机.加入指定主机组.链接模板等操作. zabbix的自动发现功能,能够基于规则自动发现主机并添加主机 基于发现规则的条件: 1.IP地址段 2.基于服务器,比如说FTP.SSH.WEB等 3.基于zab