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 相关文章推荐
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
Mar 09 Servers
Nginx开启Brotli压缩算法实现过程详解
Mar 31 Servers
nginx 反向代理之 proxy_pass的实现
Mar 31 Servers
查看nginx配置文件路径和资源文件路径的方法
Mar 31 Servers
Nginx的基本概念和原理
Mar 21 Servers
如何通过cmd 连接阿里云服务器
Apr 18 Servers
KVM基础命令详解
Apr 30 Servers
windows server2008 开启端口的实现方法
Jun 25 Servers
云服务器部署 Web 项目的实现步骤
Jun 28 Servers
Linux中sftp常用命令整理
Jun 28 Servers
Windows Server 2012 R2服务器安装与配置的完整步骤
Jul 15 Servers
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
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 金额数字转换成英文
2010/05/06 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
2010/05/15 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
2014/01/08 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
jQuery事件处理的特征(事件命名机制)
2016/08/23 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
[00:32]2018DOTA2亚洲邀请赛Newbee出场
2018/04/03 DOTA
Python与Redis的连接教程
2015/04/22 Python
python如何获取服务器硬件信息
2017/05/11 Python
Python中动态检测编码chardet的使用教程
2017/07/06 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
Python3网络爬虫中的requests高级用法详解
2019/06/18 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
python3.8下载及安装步骤详解
2020/01/15 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
数据管理员的自我评价分享
2013/11/15 职场文书
运动会领导邀请函
2014/01/10 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
班主任评语大全
2014/04/26 职场文书
领导干部失职检讨书
2015/05/05 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技
Python采集股票数据并制作可视化柱状图
2022/04/04 Python