Rhit高效可视化Nginx日志查看工具


Posted in Servers onNovember 01, 2021

简介

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

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

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

Rhit高效可视化Nginx日志查看工具

项目地址是:

https://github.com/Canop/rhit

安装

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

chmod +x rhit  
// 下载地址  
https://dystroy.org/rhit/download

从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/2021:05:49: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。默认情况下,条形图的长度基于命中数量进行统计,也可以修改排序键以基于发送字节数进行统计。

Rhit高效可视化Nginx日志查看工具

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

Rhit高效可视化Nginx日志查看工具

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

Rhit高效可视化Nginx日志查看工具

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

Rhit高效可视化Nginx日志查看工具

基于Referer。命令为rhit -f ref

Rhit高效可视化Nginx日志查看工具

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

Rhit高效可视化Nginx日志查看工具

筛选

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

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

Rhit高效可视化Nginx日志查看工具

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

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

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

Rhit高效可视化Nginx日志查看工具

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

Rhit高效可视化Nginx日志查看工具

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

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

排序键

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

Rhit高效可视化Nginx日志查看工具

到此这篇关于Rhit高效可视化Nginx日志查看工具的文章就介绍到这了,更多相关Rhit Nginx日志查看工具内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
nginx 反向代理之 proxy_pass的实现
Mar 31 Servers
nginx结合openssl实现https的方法
Jul 25 Servers
Nginx缓存设置案例详解
Sep 15 Servers
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
Sep 25 Servers
nginx中proxy_pass各种用法详解
Nov 07 Servers
Vertica集成Apache Hudi重磅使用指南
Mar 31 Servers
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
Apr 07 Servers
Windows和Linux上部署Golang并运行程序
Apr 22 Servers
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
Apr 29 Servers
nginx实现多geoserver服务的负载均衡
May 15 Servers
win server2012 r2服务器共享文件夹如何设置
Jun 21 Servers
Tomcat安装使用及部署Web项目的3种方法汇总
Aug 14 Servers
Nginx+Tomcat负载均衡集群的实现示例
Nginx反向代理学习实例教程
使用Nginx搭载rtmp直播服务器的方法
Oct 16 #Servers
详解Nginx 被动检查服务器的存活状态
Oct 16 #Servers
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
Sep 25 #Servers
Nginx进程调度问题详解
解决使用了nginx获取IP地址都是127.0.0.1 的问题
Sep 25 #Servers
You might like
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
2010/06/09 PHP
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
php以post形式发送xml的方法
2014/11/04 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
thinkphp3.2.0 setInc方法 源码全面解析
2018/01/29 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
Add a Formatted Table to a Word Document
2007/06/15 Javascript
php跨域调用json的例子
2013/11/13 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
如何在node的express中使用socket.io
2014/12/15 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
2017/12/22 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
Python 查看文件的读写权限方法
2018/01/23 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
python2与python3共存问题的解决方法
2018/09/18 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
金融专业个人求职信
2013/09/22 职场文书
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
产品质量承诺书
2014/03/27 职场文书
公司领导班子召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
学校法制宣传日活动总结
2014/11/01 职场文书