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的rewrite模块详解
Mar 31 Servers
fastdfs+nginx集群搭建的实现
Mar 31 Servers
nginx配置文件使用环境变量的操作方法
Jun 02 Servers
NGINX 权限控制文件预览和下载的实现原理
Jan 18 Servers
CentOS7和8下安装Maven3.8.4
Apr 07 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
Windows Server 2019 配置远程控制以及管理方法
Apr 28 Servers
Windows server 2012搭建FTP服务器
Apr 29 Servers
Nginx 常用配置
May 15 Servers
TaiShan 200服务器安装Ubuntu 18.04的图文教程
Jun 28 Servers
django项目、vue项目部署云服务器的详细过程
Jul 23 Servers
Nginx如何获取自定义请求header头和URL参数详解
Jul 23 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开发工具之vs2005图解
2008/01/12 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
WHOOPS PHP调试库的使用
2017/09/29 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
手动下载Chrome并解决puppeteer无法使用问题
2018/11/12 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
2019/09/05 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
python解析xml模块封装代码
2014/02/07 Python
python处理csv数据的方法
2015/03/11 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
什么是Rollback Segment
2013/04/22 面试题
北京天润融通.net面试题笔试题
2012/02/20 面试题
乡镇庆八一活动方案
2014/02/02 职场文书
质量月活动策划方案
2014/03/10 职场文书
世博会口号
2014/06/20 职场文书
商务考察邀请函模板
2015/02/02 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
python保存图片的四个常用方法
2022/02/28 Python