0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

可快速阅读、查看Nginx日志的工具Rhit

Linux爱好者 来源:开源前哨 作者:开源前哨 2021-04-04 18:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

【导语】:一个格式化 Nginx 日志,可快速阅读、查看 Nginx 日志的工具。

简介

Rhit 可以从标准文件夹中读取 Nginx 的日志文件(gzipped 的压缩文件也可以),并进行分析统计,在控制台中以可视化的表格形式展示,并且不会产生任何多余的临时文件或数据。

可以按照日期、响应值、请求来源等进行过滤匹配,并进行分析,Rhit 具有很高的效率,每秒可以处理百万行日志数据。

以下是在一月份的日志中查找状态码为 1xx、2xx 的结果:

6d59dc34-8d80-11eb-8b86-12bb97331649.png

安装

直接下载使用编译好的二进制文件,但是需要确保shell能够找到rhit二进制文件,一个比较容易的处理方式就是把它放到/usr/local/bin目录下,并且为它添加可执行权限。

chmod +x rhit

从crates.io安装,依赖Rust环境,使用以下命令安装:

cargo install rhit

源码安装,依赖Rust环境,将github源码clone之后,进入到rhit文件夹,运行以下命令:

cargo install --path 。

显示字段

rhit可以自动打开默认目录下的nginx日志文件,也可以在命令行参数中指定日志路径:

rhit my/archived/logs

nginx常见的日志行是这样的:

178.133.125.122 - - [21/Jan/202149:52 +0000] “HEAD /broot/download/x86_64-pc-windows-gnu/broot.exe HTTP/1.1” 200 0 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”

它由几个字段组成:日期、远程IP地址、路径、发送的字节等。rhit可以执行对表格进行排序的字段列表,如果未指定,默认按照日期、状态码、来源和路径来显示,如果要制定多个字段,使用逗号进行分割,如-f date,status;显示所有字段,使用-f all。

基于日期。使用--field date,或者缩写为-f date。默认情况下,条形图的长度基于命中数量进行统计,也可以修改排序键以基于发送字节数进行统计。

6d7a8204-8d80-11eb-8b86-12bb97331649.png

基于IP。默认情况下不显示远程IP,可以使用rhit -f ip进行显示。

6d9fddec-8d80-11eb-8b86-12bb97331649.png

基于请求方法。默认不显示HTTP请求方法,可以使用rhit -f method进行显示。

6dde7624-8d80-11eb-8b86-12bb97331649.png

基于路径。命令为rhit -f path

6e011a94-8d80-11eb-8b86-12bb97331649.png

基于Referer。命令为rhit -f ref

6e3b15aa-8d80-11eb-8b86-12bb97331649.png

基于状态码。命令为rhit -f status

6e750616-8d80-11eb-8b86-12bb97331649.png

筛选

Rhit提供了一些过滤器,用于筛选结果列表,展示自己想看到或者不想看到的一些数据。

按日期筛选。精确到天,日期格式是年/月/日,如筛选2021/2/15到2021/2/20的数据,也可以筛选大于某个时间、小于某个时间或不包含某个时间(使用‘》’,‘《’,‘!’符号):

6eade396-8d80-11eb-8b86-12bb97331649.png

按远程IP筛选。参数为-i,筛选特定的IP,或者排除某个特定的IP(使用‘!’符号)。

按请求方法筛选。参数为-m,筛选特定方法,或者排除特定的方法。

按请求路径筛选,参数为-p,可以精确匹配,也可以使用正则表达式(例如所有路径均以“download”开头且以“exe”:结尾,参数为 -p ‘download.*exe$’):

6ee1c2ba-8d80-11eb-8b86-12bb97331649.png

按Referer筛选。参数为-r,与按路径筛选的语法一致:

6f16c406-8d80-11eb-8b86-12bb97331649.png

按状态码筛选。参数为-s,筛选特定状态码,或者排除特定的状态码。

组合筛选。以上方式可以任意组合。

排序键

默认情况下,所有表都按照hits进行排序,这就是排序键,排序键的所有值都以粉红色显示,包括直方图。如果对发送字节数更感兴趣,可以将排序键修改为bytes,使用-k b进行更改:

6f6d39c6-8d80-11eb-8b86-12bb97331649.png

原文标题:Rhit:高效可视化 Nginx 日志查看工具,每秒处理百万行日志数据

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7314

    浏览量

    93981
  • nginx
    +关注

    关注

    0

    文章

    180

    浏览量

    12968

原文标题:Rhit:高效可视化 Nginx 日志查看工具,每秒处理百万行日志数据

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    jlink连接mcu,查看日志 rtthread运行不正常怎么解决?

    使用jlink连接mcu查看日志,偶发重新初始化,部分线程未退出,变量错位。 串口1的线程是在main最后面。 未见初始化打印,就已经发送数据了。并且发送的数据不对。感觉是重新初始化时,串口1线程未退出
    发表于 09-29 10:38

    电商API日志分析的实用工具

    、优化用户体验、检测异常活动,并提升整体业务效率。然而,海量日志数据的管理和分析需要高效的工具支持。本文将介绍几种实用的电商API日志分析工具,并逐步解释其应用方法,帮助您
    的头像 发表于 07-23 15:50 410次阅读
    电商API<b class='flag-5'>日志</b>分析的实用<b class='flag-5'>工具</b>

    harmony-utils之LogUtil,日志工具

    harmony-utils之LogUtil,日志工具类 harmony-utils 简介与说明 harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具
    的头像 发表于 07-03 18:12 410次阅读

    什么是 K8S,如何使用 K8S

    /RHEL/Ubuntu 等。 硬件:CPU、内存、硬盘需满足最低要求。 网络:节点间互通,访问外网拉取镜像。 部署工具: kubeadm:官方工具,通过 kubeadm init 初始化
    发表于 06-25 06:45

    Nginx性能优化终极指南

    而worker 进程数默认为 1 。单进程最大连接数为1024。如下图(打开Nginx目录下的/conf/nginx.conf 文档),现在我们来对这两个数值进行调优
    的头像 发表于 06-16 13:44 912次阅读
    <b class='flag-5'>Nginx</b>性能优化终极指南

    请问stm32cubeide中如何查看版本日志

    stm32cubeide中如何查看版本日志?看能支持哪些芯片型号?
    发表于 06-09 07:44

    怎样才能安全地按住ctrc +c日志阅读器然后才能停止并重新启动日志

    的读取过程,我将无法在 FX3 中操作任何东西,所有命令都不起作用,所有控件写入/读取都将不起作用 以下是两个函数 我怎样才能安全地按住 ctrc +c 我的日志阅读器然后才能停止并重新启动日志
    发表于 05-27 07:11

    Nginx核心功能深度解析

    Nginx核心功能深度解析
    的头像 发表于 05-09 10:50 694次阅读

    请问stm32cubeide中如何查看版本日志

    stm32cubeide中如何查看版本日志?看能支持哪些芯片型号?
    发表于 04-27 08:36

    基于RV1126开发板限制系统日志大小教程

    无论管理什么系统,对日志文件的监控、调用、管理都是其中重要的一部分。服务器问题的解决都是从查看系统(错误)日志开始的。系统日志是记录系统硬件状况、内核动作、软件启动、用户动作等各项信息
    的头像 发表于 04-16 11:18 589次阅读
    基于RV1126开发板限制系统<b class='flag-5'>日志</b>大小教程

    如果系统日志显示驱动问题,我该怎么办?

    如果系统日志显示驱动问题,您可以按照以下步骤进行排查和解决: 1.检查内核日志 使用 dmesg 命令查看内核日志,过滤出与驱动相关的错误信息:   sudo dmesg | grep
    的头像 发表于 01-20 17:38 1191次阅读

    分布式日志追踪ID实战

    最多的手段就是查看系统日志,相信不少人都值过班当过小秘吧:给下接口和出入参吧,麻烦看看日志里的有没有异常信息啊等等,但是在并发大时使用日志定位问题还是比较麻烦,由于大量的其他用户/其他
    的头像 发表于 01-20 10:16 906次阅读

    Linux实时查看日志的四种命令详解

    如何在Linux中实时查看日志文件的内容?那么有很多实用程序可以帮助用户在文件更改或不断更新时输出文件的内容。在Linux中实时显示文件内容的常用命令是tail命令(有效地管理文件)。 1.
    的头像 发表于 01-13 10:45 3979次阅读
    Linux实时<b class='flag-5'>查看</b><b class='flag-5'>日志</b>的四种命令详解

    玩转Nginx日志管理:高效排查问题的终极指南

    Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(错误
    的头像 发表于 12-30 13:50 1108次阅读

    1个工具4类日志,帮你解决99%的问题

    众所周知,通过日志可以对研发过程中,以及模组运行过程中的各种故障进行分析,快速定位和解决问题。 但新手朋友往往念叨着“抓日志”,却又无从下手……此时就不得不提到工程师朋友的宝藏工具
    的头像 发表于 12-17 16:26 976次阅读
    1个<b class='flag-5'>工具</b>4类<b class='flag-5'>日志</b>,帮你解决99%的问题