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

    文章

    7035

    浏览量

    89045
  • nginx
    +关注

    关注

    0

    文章

    149

    浏览量

    12176

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    Nginx日常运维方法Linux版

    / 默认站点目录:/usr/share/nginx/html 通过筛选进程查看当前使用的主配置文件和运行用户:   ps aux | grep nginx   如图: 主要配置文件:
    的头像 发表于 12-06 16:38 161次阅读
    <b class='flag-5'>Nginx</b>日常运维方法Linux版

    「服务器」Nginx Proxy Manager申请cloudflare泛域名

    一概述NginxProxyManager是一个基于Nginx的反向代理管理工具,它提供了一个用户友好的Web界面,方便用户管理和配置Nginx反向代理。主要功能包括:简易的用户界面:通过图形界面
    的头像 发表于 12-06 01:03 168次阅读
    「服务器」<b class='flag-5'>Nginx</b> Proxy Manager申请cloudflare泛域名

    使用lsof实现对linux文件的误删除恢复练习

    lsof命令的帮助,恢复该日志数据 确保当前nginx进程运行中 [root@master10 ~]# systemctl status nginx 查看
    的头像 发表于 11-24 11:14 190次阅读
    使用lsof实现对linux文件的误删除恢复练习

    一种让你的MCU日志可无线查看和实时记录跟踪的方法

    想象一下你是一位批量设备的管理员,这些设备分布在市面上的各个环境下,如在屋顶上的光照设备,在充电桩的充电设备,在火车站汽车站的共享设备等等;当这些设备有异常的时候你是如何查看设备日志的呢?如果这些
    的头像 发表于 11-17 01:01 232次阅读
    一种让你的MCU<b class='flag-5'>日志</b>可无线<b class='flag-5'>查看</b>和实时记录跟踪的方法

    nginx负载均衡配置介绍

    目录 nginx负载均衡 nginx负载均衡介绍 反向代理与负载均衡 nginx负载均衡配置 Keepalived高可用nginx负载均衡器 修改Web服务器的默认主页 开启
    的头像 发表于 11-10 13:39 246次阅读
    <b class='flag-5'>nginx</b>负载均衡配置介绍

    nginx日志配置方法

    access_log用来定义日志级别,日志位置。
    的头像 发表于 10-24 17:43 230次阅读

    日志篇:模组日志总体介绍

    ​今天我们学习合宙模组日志总体介绍,以下进入正文。 一、本文讨论的边界 本文是对合宙 4G 模组, 以及 4G+GNSS 模组的日志功能的总体介绍。通过日志,可以对研发过程中,以及模组运行过程中
    的头像 发表于 10-24 07:16 197次阅读
    <b class='flag-5'>日志</b>篇:模组<b class='flag-5'>日志</b>总体介绍

    Jtti:如何查看yum命令的错误日志来诊断问题?

    在Linux系统中,当yum命令无法正常工作时,查看错误日志是诊断问题的重要步骤。以下是一些方法,可以帮助你查看和分析yum命令的错误日志查看
    的头像 发表于 10-14 15:51 231次阅读

    Jtti:美国VPS开启nginx状态监控,查看web服务器的并发连接数

    Nginx的ngx_http_stub_status_module提供能够获取Nginx自上次启动以来的工作状态的功能。如果需要启用此功能的话,需要在编译的过程中添加如下参数
    的头像 发表于 08-26 15:42 288次阅读

    更强的无线(双)串口数据记录 调试工具

    ,通过网络可在线查看历史日志(无需断电),实时日志,无线调试;设计此工具的初心是希望可以替代传统的usb转串口工具,方便设备数据采集和串口数
    的头像 发表于 08-02 08:11 672次阅读
    更强的无线(双)串口数据记录 调试<b class='flag-5'>工具</b>

    InDTU300系列产品如何输出实时日志

    电脑连接InDTU维护串口/串口2,登录后在配置工具设置界面,选择高级模式。 找到“其他配置(应用扩展配置)”,”是否为调试模式“项选择“是(串口2)”,调试模式等级选择显示详细日志。 点击右下角
    发表于 07-25 06:05

    nginx重启命令linux步骤是什么?

      1、验证nginx配置文件是否正确   方法一:进入nginx安装目录sbin下,输入命令./nginx -t   看到如下显示nginx.conf syntax is ok
    发表于 07-11 17:13

    nginx重启命令linux步骤是什么?

      1、验证nginx配置文件是否正确   方法一:进入nginx安装目录sbin下,输入命令./nginx -t   看到如下显示nginx.conf syntax is ok
    发表于 07-10 16:40

    什么是Apache日志?Apache日志分析工具介绍

    Apache Web 服务器在企业中广泛用于托管其网站和 Web 应用程序,Apache 服务器生成的原始日志提供有关 Apache 服务器托管的网站如何处理用户请求以及访问您的网站时经常遇到的错误的重要信息。
    的头像 发表于 01-04 10:09 837次阅读