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配置https原理及实现过程详解
Mar 31 Servers
Nginx进程管理和重载原理详解
Apr 22 Servers
uwsgi+nginx代理Django无法访问静态资源的解决
May 10 Servers
使用goaccess分析nginx日志的详细方法
Jul 09 Servers
Nginx反向代理至go-fastdfs案例讲解
Aug 02 Servers
Nginx虚拟主机的配置步骤过程全解
Mar 31 Servers
docker-compose部署Yapi的方法
Apr 08 Servers
Nginx配置根据url参数重定向
Apr 11 Servers
在容器中使用nginx搭建上传下载服务器
May 11 Servers
Nginx 常用配置
May 15 Servers
详解ZABBIX监控ESXI主机的问题
Jun 21 Servers
如何让你的Nginx支持分布式追踪详解
Jul 07 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脚本执行卡住的问题
2016/12/27 PHP
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
Bootstarp 基础教程之表单部分实例代码
2017/02/03 Javascript
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
解读ES6中class关键字
2017/11/20 Javascript
JS实现图片切换效果
2018/11/17 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
python循环监控远程端口的方法
2015/03/14 Python
基于Python实现文件大小输出
2016/01/11 Python
python如何压缩新文件到已有ZIP文件
2018/03/14 Python
Python3中详解fabfile的编写
2018/06/24 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
详解python播放音频的三种方法
2019/09/23 Python
tensorflow常用函数API介绍
2020/04/19 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
生物制药毕业生自荐信
2013/10/16 职场文书
2013年大学生的自我鉴定
2013/10/24 职场文书
创意广告词
2014/03/17 职场文书
企业理念标语
2014/06/09 职场文书
美术社团活动总结
2014/06/27 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
销售员岗位职责
2015/02/10 职场文书
社区节水倡议书
2015/04/29 职场文书
力克胡哲观后感
2015/06/10 职场文书
公司酒会主持词
2015/07/02 职场文书
CAD实训总结范文
2015/08/03 职场文书
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL