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模板,點擊鏈接中的模板下載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM