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()
分享到:
相关推荐
yarn任务邮件监控及linux进程邮件监控,定时检查 ,本人在生产环境使用的,可以监控yarn任务,各种进程 如namenode ,java jar进程,如果不明白可以留言或者联系我(文档里面有联系方式)
有时需求使用JAVA直接调用python脚本,执行一些服务器监控的事情。 本文给出一个java直接调用python脚本的例子
监控LINUX服务器内存、CPU、磁盘路径等信息钉钉、企业微信机器人发送消息提醒脚本,可使用定时任务来完成此功能
Python 完整项目,可作为 Python 毕业设计,Python 课程设计,包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。...
基于Python的疫情实时监控系统。项目基于Python语言、Python的Flask框架和Echarts来做的,涉及的技术有Python网络爬虫;Python与MySQL数据库的交互;Flask框架构建Web项目;Echarts数据可视化显示;Linux部署web项目...
用于zabbix监控脚本-批量获取docker容器名称及容器中的java进程ID,将结果格式化为json格式,直接返回给zabbix
通过深入研究源代码,您将了解使用Python进行Web应用开发的关键技术和实践方法。 项目的核心涉及后端开发和数据库集成,旨在帮助具有一定编程基础、对技术充满兴趣的开发者,以及大学生作为学习参考的实践项目。 ...
通过深入研究源代码,我们将了解使用Python进行Web应用开发的关键技术和实践方法。 项目的核心涉及后端开发和数据库集成,旨在帮助具有一定编程基础、对技术充满兴趣的开发者,以及大学生作为学习参考的实践项目。...
通过深入研究源代码,您将了解使用Python进行Web应用开发的关键技术和实践方法。 项目的核心涉及后端开发和数据库集成,旨在帮助具有一定编程基础、对技术充满兴趣的开发者,以及大学生作为学习参考的实践项目。 ...
树莓派4B作为监控设备,通过运行python脚本进行图像识别和处理,当检测到有人进过时将图像发送给服务器。 服务器后端使用springboot框架,支持图像的实时上传和下载。 前端使用微信小程序,显示图片及其具体信息。 ...
婚恋网站java源码很棒的 Python 精选的 Python 框架、库、软件和资源列表。 灵感来自 . 管理面板 管理接口库。 - 您的服务器应得的管理面板。 - 替代的 Django 管理界面(仅供非商业用途免费)。 - Django 管理员的...
基于Python的某东商品价格监控:自定义商品价格降价邮件-微信提醒.zip 简介 用户自行设定指定商品的监控价格,运行脚本获取价格数据。 申明:本脚本没有涉及JD账号登录,没有抓取任何JD敏感信息,仅在手动执行一次...
Python 完整项目,可作为 Python 毕业设计,Python 课程设计,包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。...
大麦、猫眼、纷玩岛,演唱会回流票监控
婚恋网站java源码很棒的 Python 精选的 Python 框架、库、软件和资源列表。 灵感来自 . 管理面板 管理接口库。 - 您的服务器应得的管理面板。 - 替代的 Django 管理界面(仅供非商业用途免费)。 - Django 管理员的...