来自公众号:民工哥技术之路
Linux运维工程师的首要职责就是保证业务7 x 24小时稳定的运行,监控Web服务器对于查看网站上发生的情况至关重要。关注最多的便是日志变动,查看实时日志文件变动大家第一反应应该是'tail -f /path/to/log'命令吧,但是如果每个网站的访问日志都是使用这种方式查看也是相当崩溃的,今天小编就跟大家分享一个强大的Nginx日志监控工具。
ngxtop是一个基于python的程序,可以在Python上安装。ngxtop通过实时解析nginx访问日志,并将结果(nginx服务器的有用指标)输出到终端。
image主要的功能
-
当前有效请求
-
总请求计数摘要
-
按状态代码提供的总请求数(2xx,3xx,4xx,5xx)
-
发送平均字节
-
顶级远程地址
不仅能实时监控Nginx日志的访问还可以对以前的日志进行排查整理。
在Linux上安装ngxtop
以下操作是在CentOS 7-64bit上测试
首先,你需要安装PIP(Python包管理系统)
-
使用root凭据登录你的服务器
-
通过安装以下包启用EPEL存储库
ngxtop使用详解
用法:
<pre style="font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; orphans: auto; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; margin: 1em 0px; padding: 12px 10px; max-width: 100%; letter-spacing: 0.5440000295639038px; font-family: Consolas, Menlo, Courier, monospace; white-space: pre-wrap; line-height: 1.5; color: rgb(153, 153, 153); background-color: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); text-align: left; box-sizing: border-box !important; word-wrap: break-word !important;"> ngxtop [选项]
ngxtop [选项](print | top | avg | sum)<var>
ngxtop info
</pre>
选项:
imagengxtop实践
1、使用ngxtop命令查看请求计数摘要,请求的URI,状态码请求的数量。
<pre style="font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; orphans: auto; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; margin: 1em 0px; padding: 12px 10px; max-width: 100%; letter-spacing: 0.5440000295639038px; font-family: Consolas, Menlo, Courier, monospace; white-space: pre-wrap; line-height: 1.5; color: rgb(153, 153, 153); background-color: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); text-align: left; box-sizing: border-box !important; word-wrap: break-word !important;">$ ngxtop
</pre>
2、检查顶级客户端的IP
查看谁向你的Nginx服务器发出大量请求。
<pre style="font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; orphans: auto; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; margin: 1em 0px; padding: 12px 10px; max-width: 100%; letter-spacing: 0.5440000295639038px; font-family: Consolas, Menlo, Courier, monospace; white-space: pre-wrap; line-height: 1.5; color: rgb(153, 153, 153); background-color: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); text-align: left; box-sizing: border-box !important; word-wrap: break-word !important;">ngxtop top remote_addr
</pre>
3、仅显示出404的HTTP请求
<pre style="font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; orphans: auto; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; margin: 1em 0px; padding: 12px 10px; max-width: 100%; letter-spacing: 0.5440000295639038px; font-family: Consolas, Menlo, Courier, monospace; white-space: pre-wrap; line-height: 1.5; color: rgb(153, 153, 153); background-color: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); text-align: left; box-sizing: border-box !important; word-wrap: break-word !important;">ngxtop -i'status> = 404'
</pre>
4、分析access.log
5、解析Apache的offline access.log
另外你可以可以使用多种组合来过滤access.log以获取有用的数据
Github地址:https://github.com/lebinh/ngxtop
网友评论