概述
python实时分析日志的一个小脚本分享
前言
大家都知道Web运维总要关注相关域名的实时2xx/s、4xx/s、5xx/s、响应时间、带宽等这些指标,之前的日志是五分钟一分割,简单的用awk就可以了,现在由于要推送日志到ELK,继续之前五分钟一分割会有问题,就改为一天分割一次。改成一天一分割后,显然再继续用Shell就不合适了,于是就用Python写了下。
方法如下:
脚本主要运用了文件的seek和tell函数,原理如下:
1.加入crontab,每5分钟执行一次
2.只分析从上次读取日志文件的结束位置到这次读取文件时的末尾位置之间的日志,出结果
可以使用zabbix_sender把结果发送到zabbix server或者直接使用zabbix agent来读取这个文件取数据,配合zabbix出图、做报警,
#!/usr/bin/env python
#coding: utf-8
from __future__ import division
import os
LOG_FILE = '/data0/logs/nginx/xxxx-access_log'
POSITION_FILE = '/tmp/position.log'
STATUS_FILE = '/tmp/http_status'
#crontab 执行时间
CRON_TIME = 300
def get_position():
#第一次读取日志文件,POSITION_FILE为空
if not os.path.exists(POSITION_F
最后
以上就是寂寞云朵为你收集整理的python日志分析系统_python实时分析日志脚本代码写法的全部内容,希望文章能够帮你解决python日志分析系统_python实时分析日志脚本代码写法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复