码迷,mamicode.com
首页 > 编程语言 > 详细

Zabbix自动发现java进程

时间:2017-11-23 16:32:09      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:github   import   dump   监控   链接   查找   user   data   自动发现   

一:简介
使用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模板,点击链接中的模板下载

Zabbix自动发现java进程

标签:github   import   dump   监控   链接   查找   user   data   自动发现   

原文地址:http://www.cnblogs.com/GXLo/p/7885235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!