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

    文章

    6559

    浏览量

    87938
  • nginx
    +关注

    关注

    0

    文章

    137

    浏览量

    12027

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

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

收藏 人收藏

    评论

    相关推荐

    Windows事件日志查看器存在零日漏洞

    弗洛里安指出,该漏洞无需高级用户权限即可通过Windows 10设备使域控制器的日志服务失效。AcrosSecurity经过验证发现此漏洞同时适用于Windows 11系统,且仅需约1秒即可造成主系统崩溃
    的头像 发表于 02-02 14:29 274次阅读

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

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

    西门子博途数据日志的使用

    数据日志文件以 CSV 格式存储在永久性闪存中。可以使用以下两种方法管理、查看数据日志
    的头像 发表于 12-20 10:37 2384次阅读
    西门子博途数据<b class='flag-5'>日志</b>的使用

    redis容器内怎么查看redis日志

    redis是一款流行的开源内存数据库,常用于缓存、消息队列、任务管理等场景。在使用redis时,了解如何查看redis日志对于排查问题、监控性能和分析应用程序行为非常重要。在本文中,我们将介绍
    的头像 发表于 12-05 10:10 1928次阅读

    logcat命令抓取日志方法

    命令抓取日志 logcat -b main -b system -b crash -r 1024 -n 5 -f android.log -v threadtime -b:加载可供查看的缓冲区的日志
    的头像 发表于 11-23 17:31 713次阅读
    logcat命令抓取<b class='flag-5'>日志</b>方法

    kernel日志写入logd介绍

    -b kernel获取kernel日志,依赖于如下属性值,具体查看源码xxx/system/logging/logd/main.cpp中有体现。 2.3.3 详细总结流程 2.3.3.1 logd的日志流程
    的头像 发表于 11-23 17:11 349次阅读
    kernel<b class='flag-5'>日志</b>写入logd介绍

    Nginx 如何实现高性能低消耗

    Nginx 是一个轻量级的HTTP 服务程序,相比其他服务器程序如Apache,Nginx占用内存少,稳定性高,并发处理能力强。同时Nginx 还是一个反向代理服务程序,和邮件代理服务程序
    的头像 发表于 11-11 11:31 416次阅读
    <b class='flag-5'>Nginx</b> 如何实现高性能低消耗

    Nginx目录结构有哪些

    什么是NginxNginx是一个 轻量级/高性能的反向代理Web服务器,他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户
    的头像 发表于 11-11 11:27 453次阅读
    <b class='flag-5'>Nginx</b>目录结构有哪些

    不用Nginx,只用Tomcat的Http请求流程

    只用Tomcat,不用Nginx搭建Web服务,行不行?我曾经提出的愚蠢问题,今天详细给自己解释下,为什么必须用Nginx
    的头像 发表于 10-17 10:54 453次阅读

    Nginx的特点和作用 Nginx常用命令和核心配置

    Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行
    的头像 发表于 09-01 09:53 452次阅读
    <b class='flag-5'>Nginx</b>的特点和作用 <b class='flag-5'>Nginx</b>常用命令和核心配置

    【昉·星光 2 高性能RISC-V单板计算机体验】使用nginx、ffmpeg和VLC搭建简单视频直播系统

    本文将介绍——如何在VisonFive2开发板上使用nginx和http-flv模块实现视频流转发、如何使用ffmpeg推流,以及如何在PC上使用VLC播放器查看视频流的画面。本文首先介绍如何通过
    发表于 08-27 19:06

    Linux日志分析工具logwatch的安装及使用

    日志是非常重要的系统文件,管理员每天的重要工作就是分析和查看服务器的日志,判断服务器的健康状态。但是日志管理又是一项非常枯燥的工作,如果需要管理员手工
    发表于 08-24 10:08 332次阅读

    Android异常日志快速定位分析小技巧

    Android异常日志快速定位分析小技巧
    的头像 发表于 08-09 10:06 1489次阅读
    Android异常<b class='flag-5'>日志</b><b class='flag-5'>快速</b>定位分析小技巧

    使用NineData快速完成MySQL数据的差异对比!

    、可视化界面、一键差异修复、免费使用、安全可靠。使用 NineData,您可以快速配置对比任务、查看对比结果、修复不一致内容、验证修复结果,并查看任务日志和监控指标。让数据库对比变得更
    的头像 发表于 08-08 15:07 715次阅读
    使用NineData<b class='flag-5'>快速</b>完成MySQL数据的差异对比!

    如何快速查看Kubernetes Pod崩溃前的日志

    当pod处于crash状态的时候,容器不断重启,此时用 kubelet logs 可能出现一直捕捉不到日志
    的头像 发表于 07-06 09:25 501次阅读