1. 程式人生 > >Zabbix自動發現java進程

Zabbix自動發現java進程

hub odin sys 啟動命令 proc status mon ear -m

一:簡介
使用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進程