当前位置: 首页 > 软件库 > 管理和监控 > 性能优化 >

web_log_analyse

Web 故障排除与性能优化工具
授权协议 GPL-3.0
开发语言 Python
所属分类 管理和监控、 性能优化
软件类型 开源软件
地区 国产
投 递 者 楚嘉纳
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

web_log_analyse 是一个旨在基于 Web 日志进行故障排除和性能优化的工具,这不是一般所说的日志分析/统计解决方案,它不侧重于通常的 PV、UV 等展示,而是在指定时间段内提供细粒度(最小分钟级别)的异常定位和性能分析。

环境依赖:

    Python 3.4+

    pymongo-3.7.2+

    MongoDB-server 3.4+

功能

  1. 提供统一的日志分析入口:经由此入口,可查看站点在所有server上产生的日志的汇总分析;亦可根据时间段server两个维度进行过滤
  2. 支持对 request_uriipresponse_code 三大类进行分析;每一类又基于请求数响应大小响应时间三个维度进行分析。另外不同子项又各有特点
  3. request_uri 分析能直观展示哪类请求数量多、哪类请求耗时多、哪类请求占流量;另外可展示某一类请求在不同时间粒度里(minute, ten_min, hour, day)各指标随时间的分布变化;也可以针对某一 uri_abs 分析其不同 args_abs 各指标的分布
  4. IP 分析将所有请求分为3种来源(from_cdn/proxy, from_reverse_proxy, from_client_directly),三种来源各自展示其访问量前 N 的 IP 地址;并且可展示某一 IP 访问的各指标随时间的分布;也可针对某一 IP 分析其产生的不同 uri_abs 各指标的分布

特点

  1. 核心思想: 对request_uri进行抽象归类,将其中变化的部分以 “*” 表示,这样留下不变的部分就能代表具体的一类请求。实际上是换一种方式看待日志,从 “以具体的一行日志文本作为最小分析单位” 抽象上升到 “以某一功能点,某一接口或某一模块最为最小分析单位”
  2. 兼容plaintext和json格式的日志内容
  3. 配置方便,不需要写正则。只要将nginx中定义的log_format复制到config文件中即可
  4. 通过4分位数概念以实现对响应时间响应大小更准确的描述,因为对于日志中的响应时间,算数平均值的参考意义不大
  5. 支持定制抽象规则,可灵活指定请求中的某些部分是否要抽象处理以及该如何抽象处理
  6. 高效,本着谁产生的日志谁处理的思想,日志分析脚本log_analyse要在web服务器上定时运行(有点类似分布式),因而log_analyse的高效率低资源也是重中之重。经测试,在笔者的服务器上(磁盘:3*7200rpm RAID5,千兆局域网),处理速度在20000行/s~30000行/s之间
  • (本文已不再同步更新,最新代码请见github) web_log_analyse This tool aim at trouble shooting and performance optimization based on web logs, it’s not a generally said log analyse/statistics solution. It preprocess logs

  • (项目最新进展请见github) web_log_analyse This tool aim at trouble shooting and performance optimization based on web logs, it's not a generally said log analyse/statistics solution. It preprocess logs on all

  • 1、背景介绍 本文以我的博客站点其中一段时间的访问日志为例进行分析 用到的知识点 基本数据类型列表,基本数据类型字典,re模块正则匹配,pandas模块数据处理,xlwt模块excel写入等 最终实现的功能 分析得到日志中访问ip的top20,访问地址的top20,访问客户端ua的排名,并且生成excel报表 2、思路演进 2.1、第一步读取日志 对nginx进行日志分析,首先拿到需要分析的ngi

  • 1 问题描述 在 centos7 上安装了 grafana-enterprise-8.3.3,然后修改了 /etc/grafana/grafana.ini 里面关于 log -> /home/log/grafana 和 grafana data -> /home/grafana, 然后启动 grafana (systemctl start grafana-server),结果 grafana 启动

  • This tutorial explains how to set up log4j with email, files and stdout. It compares XML to properties configuration files, shows how to change LogLevels for a running application. Furthermore, we exp

 相关资料
  • 初始设置 在创建并启动新的 Serene 应用程序之后,不能显示登录页,而当你打开浏览器控制台,却得到一条错误消息:找不到 Template.LoginPanel: 你可能使用了无效的解决方案名称,如 MyProject.Something (包含点’.’)。 当项目以这种方式命名时,模板系统将不能定位模板。 请不要在解决方案名称中使用点符号(’.’),如果必须使用点符号,可在创建解决方案之后再重

  • 当使用 Gradle 时, 你肯定会碰到许多问题. 解决遇到的问题 如果你碰到了问题, 首先要确定你使用的是最新版本的 Gradle. 我们会经常发布新版本, 解决一些 bug 并加入新的功能. 所以你遇到的问题可能就在新版本里解决了. 如果你正在使用 Gradle Daemon, 先暂时关闭 daemon (你可以使用 switch —no-daemon 命令). 在第19章我们可以了解到更多关

  • 在Debian和Ubuntu上,当您安装标准的FreeRADIUS软件包时,FreeRADIUS服务器二进制文件称为freeradius而不是radiusd。 您可以创建将使用较慢服务器的ldap模块的命名实例。 然后,您可以使用冗余部分替换authorize部分中的ldap条目,该冗余部分首先使用快速LDAP服务器列出模块,然后使用较慢的部分使用ldap模块实例。 #ldap redundant

  • Mount 5 Error mount 5 错误通常是 MDS 服务器滞后或崩溃导致的。要确保至少有一个 MDS 是启动且运行的,集群也要处于 active+healthy 状态。 Mount 12 Error mount 12 错误显示 cannot allocate memory ,常见于 Ceph 客户端和 Ceph 存储集群版本不匹配。用以下命令检查版本: ceph -v 如果 Ceph

  • 从 Vert.x 3.4.0 开始,Vert.x 已经弃用 JGoups 实现,已经由 [infinispan]|(/clustering/Infinispan.md) 。不建议在生产或测试环境中使用 JGroups Cluster Manager 在构建工具中添加依赖即可: Maven(pom.xml) <dependency> <groupId>io.vertx</groupId> <

  • 一般 在询问任何人之前, 请先运行 composer diagnose 检查是否存在常见问题。如果全部检出,请继续执行后续步骤。 使用 Composer 遇到任何问题时,请务必使用最新版本。有关详细信息请参阅 self-update  通过运行安装程序的检查,确保您的设置没有问题 curl -sS https://getcomposer.org/installer | php -- --check

  • 进行 OSD 排障前,先检查一下监视器集群和网络。如果 ceph health 或 ceph -s 返回的是健康状态,这意味着监视器们形成了法定人数。如果你还没监视器法定人数、或者监视器状态错误,要先解决监视器问题。核实下你的网络,确保它在正常运行,因为网络对 OSD 的运行和性能有显著影响。 收集 OSD 数据 开始 OSD 排障的第一步最好先收集信息,另外还有监控 OSD 时收集的,如 cep

  • Fuel 支援各式各样的配置,有时为了正常工作需要一些配置。以下列出了几个当你在你的机器上设置 Fuel 时可能跳出的情况。 当你的问题没有列在下面,或已列出但没有提供适当的解决方案时,请在议题追蹤(http://dev.fuelphp.com)回报此问题。 纯净安装下 500 错误 纯净安装下语法错误 能运作,但首页是 404。 Oil 无法连到 DB 但应用程序可以 ORM/DB 回传我的资料