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+lua单机上万并发的实现
May 31 Servers
制作能在nginx和IIS中使用的ssl证书
Jun 21 Servers
学习nginx基础知识
Sep 04 Servers
详解Nginx 被动检查服务器的存活状态
Oct 16 Servers
Nginx中使用Lua脚本与图片的缩略图处理的实现
Mar 18 Servers
CentOS下安装Jenkins的完整步骤
Apr 07 Servers
Window server 2012 R2 AD域的组策略相关设置
Apr 28 Servers
Windows Server 2019 配置远程控制以及管理方法
Apr 28 Servers
CentOS7安装MySQL8的超级详细教程(无坑!)
Jun 10 Servers
解决Git推送错误non-fast-forward的方法
Jun 25 Servers
Nginx报错104:Connection reset by peer问题的解决及分析
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函数utf8转gb2312编码
2006/12/21 PHP
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
JavaScipt基本教程之前言
2008/01/16 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
python 内置函数filter
2017/06/01 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
python设置环境变量的作用和实例
2019/07/09 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
Python ini文件常用操作方法解析
2020/04/26 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
一道写SQL的面试题和答案
2013/11/19 面试题
介绍一下gcc特性
2015/10/31 面试题
企业承诺书格式
2014/05/21 职场文书
法院信息化建设方案
2014/05/21 职场文书
工商管理本科生求职信
2014/07/13 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
教师读书活动心得体会
2016/01/14 职场文书
Python各协议下socket黏包问题原理
2022/04/12 Python