zoukankan      html  css  js  c++  java
  • 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模板,点击链接中的模板下载

  • 相关阅读:
    shell 表达式
    manjaro 换源到中国并按照速度排序
    ORA-01950:对表空间 'USERS' 无权限
    normal 普通身份 sysdba 系统管理员身份 sysoper 系统操作员身份 dba和sysdba
    学生选课数据库SQL语句练习题
    多线程编程
    补充知识点
    输入输出
    集合作业
    银行(1)0925
  • 原文地址:https://www.cnblogs.com/GXLo/p/7885235.html
Copyright © 2011-2022 走看看