2019独角兽企业重金招聘Python工程师标准>>>

#!/usr/bin/env python
#
#
import os
import commands
import re
import sys(status1, result1) = commands.getstatusoutput("/bin/ps -ef|grep /data/program/payment/payment-channel/|/bin/grep -v grep|/bin/awk '{print $2}'")
channel_pid = result1
(status2, result2) = commands.getstatusoutput("sudo /data/program/jdk/bin/jstat -gcutil %s 1s 1|/bin/awk '{print $3,$4,$5,$6,$7,$8,$9}'|/bin/sed -n '2'p" %(channel_pid))
(status3, result3) = commands.getstatusoutput("sudo /data/program/jdk/bin/jstat -gccapacity %s 1s 1|/bin/awk '{print $1,$2,$7,$8,$11,$12}'|/bin/sed -n '2'p" %(channel_pid))#格式化为列表
result4 = result2.split(' ')
result5 = result3.split(' ')if result5[4] == result5[5]:channel_jvm_P = result4[2]
else:channel_jvm_P = ((float(result5[5])*float(result4[2])/100) / float(result5[5]))*100if result5[2] == result5[3]:channel_jvm_O = result4[1]
else:channel_jvm_O = ((float(result5[2])*float(result4[1])/100) / float(result5[3]))*100
if result5[0] == result5[1]:channel_jvm_E = result4[0]
else:channel_jvm_E = ((float(result5[1])*float(result4[0])/100) / float(result5[1]))*100channel_jvm_YGC = result4[3]
channel_jvm_YGCT = result4[4]
channel_jvm_FGC = result4[5]
channel_jvm_FGCT = result4[6]
channel_jvm_P = channel_jvm_P
channel_jvm_E = channel_jvm_O
channel_jvm_O = channel_jvm_E#channel_jvm_YGC+channel_jvm_YGCT+channel_jvm_FGC+channel_jvm_FGCT
channel_jvm_info = channel_jvm_YGC + ' ' + channel_jvm_YGCT + ' ' + channel_jvm_FGC + ' ' +  channel_jvm_FGCT  + '\n'(status6, result6) = commands.getstatusoutput("/usr/bin/tail -1 /tmp/channel_jvm_info_test.txt|/bin/awk '{print $1,$2,$3,$4}'")
result7 = result6.split(' ')
channel_jvm_old_YGC = result7[0]
channel_jvm_old_YGCT = result7[1]
channel_jvm_old_FGC = result7[2]
channel_jvm_old_FGCT = result7[3]files = open('/tmp/channel_jvm_info_test.txt','w+')
files.writelines(channel_jvm_info)
files.close()channel_jvm_YGC_value = float(channel_jvm_YGC)-float(channel_jvm_old_YGC)
channel_jvm_YGCT_value = float(channel_jvm_YGCT)-float(channel_jvm_old_YGCT)
channel_jvm_FGC_value = float(channel_jvm_FGC)-float(channel_jvm_old_FGC)
channel_jvm_FGCT_value = float(channel_jvm_FGCT)-float(channel_jvm_old_FGCT)
channel_jvm_P_value = float(channel_jvm_P)
channel_jvm_E_value = float(channel_jvm_E)
channel_jvm_O_value = float(channel_jvm_O)result =  'channel_jvm_info is channel_jvm_YGC=%s channel_jvm_YGCT=%0.3f channel_jvm_FGC=%s channel_jvm_FGCT=%0.3f channel_jvm_P=%0.3f  channel_jvm_E=%0.3f channel_jvm_O=%0.3f| channel_jvm_YGC=%s;5;10;0 channel_jvm_YGCT=%0.3f;0.2;0.5;0 channel_jvm_FGC=%s;1;2;0 channel_jvm_FGCT=%0.3f;0.5;1;0 channel_jvm_P=%0.3f;80;90;0 channel_jvm_E=%0.3f;80;90;0 channel_jvm_O=%0.3f;80;90;0' %(int(channel_jvm_YGC_value),float(channel_jvm_YGCT_value),int(channel_jvm_FGC_value),float(channel_jvm_FGCT_value),float(channel_jvm_P_value),float(channel_jvm_E_value),float(channel_jvm_O_value),int(channel_jvm_YGC_value),float(channel_jvm_YGCT_value),int(channel_jvm_FGC_value),float(channel_jvm_FGCT_value),float(channel_jvm_P_value),float(channel_jvm_E_value),float(channel_jvm_O_value))
if  (channel_jvm_YGC_value > 10 and channel_jvm_E_value > 90) or channel_jvm_YGC_value > 10  or channel_jvm_YGCT_value > 0.5 or channel_jvm_FGC_value > 2 or (channel_jvm_FGC_value > 2 and channel_jvm_O_value > 90) or channel_jvm_FGCT_value > 0.5 or channel_jvm_P_value > 90:print resultsys.exit(2)
elif (channel_jvm_YGC_value > 5 and channel_jvm_E_value > 80) or channel_jvm_YGC_value > 5  or channel_jvm_YGCT_value > 0.2 or channel_jvm_FGC_value > 1 or (channel_jvm_FGC_value > 1 and channel_jvm_O_value > 80) or channel_jvm_FGCT_value > 0.2 or channel_jvm_P_value > 80:print resultsys.exit(1)
elif (channel_jvm_YGC_value < 5 and channel_jvm_E_value < 80) or channel_jvm_YGC_value < 5  or channel_jvm_YGCT_value < 0.2 or channel_jvm_FGC_value < 1 or (channel_jvm_FGC_value < 1 and channel_jvm_O_value < 80) or channel_jvm_FGCT_value < 0.2 or channel_jvm_P_value < 80:print resultsys.exit(0)

转载于:https://my.oschina.net/eddylinux/blog/534444

python 监控jvm脚本相关推荐

  1. python监控进程状态_python监控进程脚本

    本文实例为大家分享了python监控进程脚本的具体代码,供大家参考,具体内容如下 原理: 监控一个指定进程,每隔5秒钟获取其CPU.内存使用量超过60%即kill掉该进程,获取其句柄数,超过300也k ...

  2. linux监听apache代码,linux系统使用python监控apache服务器进程脚本分享

    这篇文章主要介绍了linux系统使用python监控apache服务器进程的脚本,大家参考使用吧 crtrl.py监控Apache服务器进程的Python 脚本 复制代码 代码如下: !/usr/bi ...

  3. 通过 PRTG EXE 高级监控脚本 + python 监控华为防火墙线路健康状态

    背景 通过 SNMP 无法获取 华为 healthcheck 健康监测状态,本机建介绍PRTG脚本 通过 EXE 脚本自定义监控参数,该传感器可以接受 json 或者 xml 格式,下来来看看如何是先 ...

  4. zabbix监控JAVA微服务_Zabbix监控JVM(微服务进程)

    老的方法感觉效果不好,又写了一个模板和脚本,请移步: http://www.cnops.top/posts/748ad64f.html 有兴趣的可以继续往下看. Zabbix监控JVM(微服务进程) ...

  5. JVM监控:JVM监控指标、JVM监控界面实现、Java监控JVM

    本文概要: 1.监控JVM的哪些指标: 2.一目了然的JVM监控的UI界面: 3.Java代码获取JVM监控状态. 1.监控JVM的哪些指标 javaVersion                   ...

  6. 自定义cacti插件监控jvm

    插件功能: 根据网上网上文档,自定义插件监控jvm对象,主要包括各个区域使用率,GC时间,用于对jvm参数调优效果进行监控对比. 实现步骤: A,被监控主机 1.1 被监控主机部署监控脚本,获取指定t ...

  7. python自动化办公脚本下载-python自动化脚本

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_stat ...

  8. JVM性能调优监控工具专题二:VisualVM基本篇之监控JVM内存,CPU,线程

    2019独角兽企业重金招聘Python工程师标准>>> JVM性能调优监控工具专题二:VisualVM基本篇之监控JVM内存,CPU,线程 博客分类: java jvm 前言: 上一 ...

  9. SpringBoot项目优化和Jvm调优及VisualVM远程连接监控JVM(JMX连接)

    项目调优 作为一名工程师,项目调优这事,是必须得熟练掌握的事情. 在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行. 在这边有一篇比较好的文章,推荐给大家! Spring ...

最新文章

  1. 用Ajax构建关键任务的企业级Web应用 ——《深入Ajax:架构与最佳实践》
  2. LeetCode-166- Fraction to Recurring Decimal
  3. 可能是把Docker的概念讲的最清楚的一篇文章
  4. 前端学习(2461):打包发布
  5. Oracle创建表空间、创建用户以及授权
  6. PCRE demo【转】
  7. [渝粤教育] 西南科技大学 画法几何与机械制图 在线考试复习资料
  8. 中国石化股票价值线分析
  9. 社区新闻舆情报道收集工作怎么做好的方法
  10. 【Python】【pygame】更逼真的星星、连绵细雨
  11. 第二十二章 独自早餐(枯木雕之秘)
  12. 小猪佩奇的4种python玩法,带你趣味学python!
  13. Codeforces Beta Round #57 (Div. 2)E---Enemy is weak(树状数组+离散化)
  14. 使用 OpenCV 和 Python 识别信用卡号
  15. Codeforces Round #700 (Div. 2)全部题解
  16. https://ac.nowcoder.com/acm/contest/317/D
  17. 使用MySQL的聊天室_聊天室phpmysql(一)
  18. 永磁同步电机的损耗理论到实际
  19. 【步进电机和 Arduino】
  20. 介绍一下遇到汉字不认识怎么办?

热门文章

  1. DCMTK:使用RLE传输语法压缩DICOM文件
  2. VTK:非结构化网格之ClipUnstructuredGridWithPlane
  3. VTK:网格之InterpolateFieldDataDemo
  4. VTK:网格之Decimation
  5. VTK:Filtering之WarpTo
  6. QT的QSoundEffect类的使用
  7. C语言实现类似QQ聊天界面抖动功能
  8. linux组群账户存放在,linux用户和群组
  9. 64.多态性实现机制—静态分派与动态分派(方法解析、静态分派、动态分派、单分派和多分派)
  10. 01_基于应用拆分的技术架构