python+flask 分分钟完美解析阿里云日志

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 笔记

拿到了自己阿里云服务器的日志,对其需要进行处理。

class Read_Rizhi:
    def __init__(self,filename):
        self.filename=filename
    def open_file(self):
        try:
            f = open(self.filename, 'r', encoding='utf-8')
            resuly = {'code': 1, 'result': f}
        except Exception as e:
            resuly = {'code': 0, 'result': e}
        return resuly
    def read_line(self):
        result=self.open_file()
        if result['code']==0:
            return  {'read':'fail','relust':result['result']}
        elif result['code']==1:
            return {'read':'pass','relust':result['result'].readlines()}
        else:
            return {'read':'error','relust':'未知错误'}
    def print_eachline(self,splist:str):
        eachline=self.read_line()
        if eachline['read']=='pass':
            for rizhi in eachline['relust']:
                ri=rizhi.split(splist)
                print('请求ip:', ri[0])
                print('请求时间磋:', ri[3])
                print('请求方式:', ri[5])
                print('请求路径:', ri[6])
                print('请求协议:', ri[7])
                print('返回状态吗:', ri[8])
        elif eachline['read']=='fail':
            print('读取失败!原因:%s'%eachline['relust'])
        else:
            print('读取异常')
if __name__=='__main__':
    rizhi=Read_Rizhi('access.log')
    rizhi.print_eachline(' ')

 对日志解析进行封装,对日志的需求进行了自己的分析,

 100.png

学了flask,你能不能吧这个日志给我放到flask 给一个前端的界面去展示呢,答案是没有问题的,对代码进行修改:

class Read_Rizhi:
    def __init__(self,filename):
        self.filename=filename
    def open_file(self):
        try:
            f = open(self.filename, 'r', encoding='utf-8')
            resuly = {'code': 1, 'result': f}
        except Exception as e:
            resuly = {'code': 0, 'result': e}
        return resuly
    def read_line(self):
        result=self.open_file()
        if result['code']==0:
            return  {'read':'fail','relust':result['result']}
        elif result['code']==1:
            return {'read':'pass','relust':result['result'].readlines()}
        else:
            return {'read':'error','relust':'未知错误'}
    def print_eachline(self,splist:str):
        eachline=self.read_line()
        if eachline['read']=='pass':
            ip_list=[]
            for rizhi in eachline['relust']:
                ri=rizhi.split(splist)
                ip_list.append({'ip':ri[0],'time':ri[3],
                                'meth':ri[5],'path':ri[6],'xieyi':ri[7],
                                'code':ri[8]})
            relust={'code':1,'result':ip_list}
        elif eachline['read']=='fail':
            relust = {'code':2, 'result':eachline['relust']}
        else:
            relust = {'code': 3, 'result':'读取异常'}
        return relust

 flask部分代码如下:

from flask import Flask,render_template
from jiexi import Read_Rizhi
app = Flask(__name__)
@app.route('/')
def hello_world():
    rizhi = Read_Rizhi(r'C:\\Users\Administrator\Desktop\\untitled1\access.log')
    relust = rizhi.print_eachline(' ')
    if relust['code'] == 1:
        f_list = relust['result']
    return render_template('rizi.html',f_lis=f_list)
if __name__ == '__main__':
    app.run()

rizi.html部分代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>阿里云日志分析</title>
</head>
<body>
<h1 style="text-align: center">阿里云日志分析</h1>
<table style="width: 60%;margin-top: 40px" border="1">
    <tbody>
    <tr>
        <td>ip</td>
        <td>时间</td>
        <td>请求方式</td>
        <td>请求路径</td>
        <td>协议</td>
        <td>状态码</td>
    </tr>
    {% for item in f_lis%}
    <tr>
    <td>{{ item.ip }}</td>
    <td>{{ item.time }}</td>
    <td>{{ item.meth }}</td>
    <td>{{ item.path }}</td>
    <td>{{ item.xieyi }}</td>
    <td>{{ item.code }}</td>
    </tr>
    {% endfor %}
    </tbody>
</table>
</body>
</html>

启动flask模块,

访问:

101.png

 

这样我们进一步优化就结束了,其实还可以进行优化,

这样还得需要我们进一步去的优化,部分切割还是不完善的。简单的切割,展示完成。十分钟就能实现的一个小功能。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
181 13
|
3天前
|
人工智能 运维 API
【阿里云】操作系统控制台操作体验与性能评测全解析
操作系统控制台是现代云计算环境中进行系统管理和运维的重要工具,提供系统概览、诊断、观测、管理等功能,支持API、SDK、CLI等管理方式。通过创建角色、系统配置和组件安装等操作,用户可以高效管理云端资源,提升操作系统的使用效率和稳定性。尤其适合需要高效管理操作系统的用户及学习云计算、网络管理的学生。建议增强自定义功能、优化性能报告和完善文档支持,以进一步提升用户体验。
35 20
【阿里云】操作系统控制台操作体验与性能评测全解析
|
1天前
|
API 开发工具 Python
|
2天前
|
域名解析 应用服务中间件 网络安全
阿里云个人博客外网访问中断应急指南:从安全组到日志的七步排查法
1. 检查安全组配置:确认阿里云安全组已开放HTTP/HTTPS端口,添加规则允许目标端口(如80/443),授权对象设为`0.0.0.0/0`。 2. 本地防火墙设置:确保服务器防火墙未阻止外部流量,Windows启用入站规则,Linux检查iptables或临时关闭防火墙测试。 3. 验证Web服务状态:检查Apache/Nginx/IIS是否运行并监听所有IP,使用命令行工具确认监听状态。 4. 测试网络连通性:使用外部工具和内网工具测试服务器端口是否开放,排除本地可访问但外网不可的问题。 5. 排查DNS解析:确认域名A记录指向正确公网IP,使用`ping/nslookup`验证解析正
25 2
|
9天前
|
缓存 边缘计算 安全
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
55 7
|
15天前
|
云安全 人工智能 安全
阿里云网络安全体系解析:如何构建数字时代的"安全盾牌"
在数字经济时代,阿里云作为亚太地区最大的云服务提供商,构建了行业领先的网络安全体系。本文解析其网络安全架构的三大核心维度:基础架构安全、核心技术防护和安全管理体系。通过技术创新与体系化防御,阿里云为企业数字化转型提供坚实的安全屏障,确保数据安全与业务连续性。案例显示,某金融客户借助阿里云成功拦截3200万次攻击,降低运维成本40%,响应时间缩短至8分钟。未来,阿里云将继续推进自适应安全架构,助力企业提升核心竞争力。
|
26天前
|
机器学习/深度学习 人工智能 自然语言处理
企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析
DeepSeek R1 是一款先进的大规模深度学习模型,专为自然语言处理等复杂任务设计。它具备高效的架构、强大的泛化能力和优化的参数管理,适用于文本生成、智能问答、代码生成和数据分析等领域。阿里云平台提供了高性能计算资源、合规与数据安全、低延迟覆盖和成本效益等优势,支持用户便捷部署和调用 DeepSeek R1 模型,确保快速响应和稳定服务。通过阿里云百炼模型服务,用户可以轻松体验满血版 DeepSeek R1,并享受免费试用和灵活的API调用方式。
159 12
|
1月前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
23天前
|
存储 弹性计算 人工智能
阿里云发票申请图文教程及常见问题解析
在购买完阿里云服务器或者其他云产品之后,如何申请发票成为了许多用户关注的焦点。尤其是对于初次购买阿里云服务器的用户来说,发票申请流程可能并不熟悉。本文将为大家详细介绍阿里云服务器购买之后如何申请发票,以及申请过程中可能遇到的常见问题,帮助大家轻松完成发票申请。
|
1月前
|
弹性计算 运维 网络安全
阿里云轻量应用服务器产品解析与搭建个人博客网站教程参考
轻量应用服务器(Simple Application Server)作为阿里云面向单机应用场景推出的云服务器产品,以其一键部署、一站式管理、高性价比等特性,深受个人开发者、中小企业及入门级用户的喜爱。本文将全面解析阿里云轻量应用服务器的产品优势、应用场景、使用须知,以及使用轻量应用服务器搭建个人博客网站的详细教程,帮助用户更好地了解和使用这一产品。

热门文章

最新文章