用python监控java服务脚本(1)
2009-05-20 15:56
169 查看
java服务有的时候报了OutOfMemory错误后,进程还在哪里。为了即时发现这样的错误,写了这个脚本,用这个脚本定时扫描java服务日志文件的最后500行,如果有OutOfMemory错误,就给指定邮箱发送邮件。邮件内容包括:发生错误的主机和报错的文件。
#!/usr/bin/python import string import smtplib from email.mime.text import MIMEText import socket import fcntl import struct logFiles = ['file.txt'] pat = 'OutOfMemory' mailserver = 'smtp.163.com' username = 'xxxx@163.com' password = 'yy' from_addr = 'xxxx@163.com' to_addr = 'zzzz@sohu.com' def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl(s.fileno(),0x8915,struct.pack('256s', ifname[:15]))[20:24]) host = get_ip_address('eth0') def fileScan(file,pattern): logFile = open(file,'r') logStrs = logFile.readlines() logLines = len(logStrs) logStr = str(logStrs[-10:logLines]) try: logStat = logStr.index(pattern) if logStat: return 1 except ValueError: return 0 logFile.close() for f in logFiles: stat = fileScan(f,pat) if stat: msg = MIMEText('Host ip: ' + host + "\r\n" + 'OutOfMemory File: ' + f) msg['Subject'] = 'Java Service OutOfMemory' svr = smtplib.SMTP(mailserver) #svr.set_debuglevel(1) #print debug svr.login(username,password) svr.sendmail(from_addr,to_addr,msg.as_string()) svr.close()
相关文章推荐
- 用python监控java服务脚本(2)
- 网站web服务质量监控python脚本
- zabbix使用zabbix_java_gateway 监控java应用进程 主动模式 python脚本
- 监控redis和zookpeer服务脚本 并且python发送邮件
- python脚本监控进程,服务停止后自动启动
- 在后台运行Python脚本服务
- Zabbix 监控Mysql 主从状态的Python脚本
- tcpdump+python编写的流量监控的脚本
- windows bat脚本监控服务
- JAVA网站full GC监控脚本
- 用 Python 脚本实现对 Linux 服务器的监控
- 通过Nagios监控Weblogic服务(续)--优化调整脚本
- Python 监控 Data Guard 脚本
- 通过Python脚本自动发布ArcGIS服务
- 自动监控apache服务状态并重启的shell脚本
- java调用python脚本之tomcat中
- linux系统使用python监控apache服务器进程脚本分享
- 通用TCP、UDP服务监控脚本
- python监控web扩张时间脚本
- Python 监控 DB 服务器信息(cpu, 磁盘,进程,alert log) 脚本