一个小工具帮你搞定实时监控Nginx服务器

Linux运维工程师的首要职责就是保证业务7 x 24小时稳定的运行,监控Web服务器对于查看网站上发生的情况至关重要。关注最多的便是日志变动,查看实时日志文件变动大家第一反应应该是’tail -f /path/to/log’命令吧,但是如果每个网站的访问日志都是使用这种方式查看也是相当崩溃的,今天小编就跟大家分享一个强大的Nginx日志监控工具。

ngxtop是一个基于python的程序,可以在Python上安装。ngxtop通过实时解析nginx访问日志,并将结果(nginx服务器的有用指标)输出到终端。

主要的功能
  • 当前有效请求
  • 总请求计数摘要
  • 按状态代码提供的总请求数(2xx,3xx,4xx,5xx)
  • 发送平均字节
  • 顶级远程地址

不仅能实时监控Nginx日志的访问还可以对以前的日志进行排查整理。

在Linux上安装ngxtop

以下操作是在CentOS 7-64bit上测试

首先,你需要安装PIP(Python包管理系统)

  • 使用root凭据登录你的服务器
  • 通过安装以下包启用EPEL存储库
<span class="hljs-attr">wget <span class="hljs-string">http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm

<span class="hljs-attr">rpm <span class="hljs-string">-ivh epel-release-7-6.noarch.rpm

<span class="hljs-attr">&#x7136;&#x540E;&#x6267;&#x884C;&#x4EE5;&#x4E0B;&#x547D;&#x4EE4;&#x5B89;&#x88C5;pip
<span class="hljs-attr">yum <span class="hljs-string">install python-pip

<span class="hljs-attr">&#x6700;&#x540E;&#x4F7F;&#x7528;&#x4E0B;&#x9762;&#x5B89;&#x88C5;ngxtop
<span class="hljs-attr">pip <span class="hljs-string">install ngxtop</span></span></span></span></span></span></span></span></span></span>
ngxtop使用详解

用法:

 <span class="hljs-attr">ngxtop <span class="hljs-string">[&#x9009;&#x9879;]
 <span class="hljs-attr">ngxtop <span class="hljs-string">[&#x9009;&#x9879;]&#xFF08;print | top | avg | sum&#xFF09;<var>
 <span class="hljs-attr">ngxtop <span class="hljs-string">info
</span></span></var></span></span></span></span>

选项:

ngxtop实践

1.使用ngxtop命令查看请求计数摘要,请求的URI,状态码请求的数量。

$ ngxtop

2.检查顶级客户端的IP

查看谁向你的Nginx服务器发出大量请求。

ngxtop <span class="hljs-attribute">top remote_addr
</span>

3.仅显示出404的HTTP请求

<span class="hljs-attribute">ngxtop -i<span class="hljs-string">'status> = 404'
</span></span>

4.分析access.log

ngxtop -l /<span class="hljs-built_in">path/access.<span class="hljs-built_in">log</span></span>

5.解析Apache的offline access.log

ngxtop -f common -l /<span class="hljs-built_in">path/access.<span class="hljs-built_in">log</span></span>

另外你可以可以使用多种组合来过滤access.log以获取有用的数据

Github地址:https://github.com/lebinh/ngxtop

作者:民工哥
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Original: https://www.cnblogs.com/youkanyouxiao/p/12731326.html
Author: 民工哥
Title: 一个小工具帮你搞定实时监控Nginx服务器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/591658/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【黄啊码】教你用python画冰墩墩

    python;gutter:true; import turtle</p> <p>turtle.title('PythonBingDwenDwen…

    数据库 2023年6月16日
    055
  • DRF补充数据库异常和Redis异常

    DRF补充数据库异常和Redis异常 (1)在项目适当位置新建exceptions.py,内容如下: from rest_framework.views import except…

    数据库 2023年6月14日
    053
  • [LeetCode]13. 罗马数字转整数

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做…

    数据库 2023年6月9日
    0127
  • python中组合数据的操作

    2022-09-26 组合数据类型: 拷贝: deep(深拷贝) shallow(浅拷贝) 区别:例如,文件中有一个指针指向另一块存储空间,如果是深拷贝则将指向的那一块文件内容也全…

    数据库 2023年6月14日
    080
  • MySQL实战45讲 6,7,8

    06 | 全局锁和表锁 :给表加个字段怎么有这么多阻碍? Connection连接与Session会话 通俗来讲,会话(Session)是通信双⽅从开始通信到通信结束期间的⼀个上下…

    数据库 2023年5月24日
    080
  • 01-MySQL基础

    1、数据库的基本概念 1.1、文件操作数据的缺点 查找,增加,修改,删除数据等操作比较麻烦(特别是txt),效率低 1.2、数据库的介绍 存储和管理数据的仓库 英文单词为Dtaba…

    数据库 2023年5月24日
    055
  • java 桥接方法

    1.桥接方法简介 桥接方法是jdk1.5引入泛型后,为使java泛型方法生成的字节码与jdk1.5版本之前的字节码兼容由编译器自动生成的。 可用 method.isBridge()…

    数据库 2023年6月16日
    089
  • 11、ON DUPLICATE KEY UPDATE实现插入更新操作

    一、插入与更新操作: MySQL中,采用ON DUPLICATE KEY UPDATE语句对不存在的数据进行INSERT插入操作,对已存在的数据进行UPDATE更新操作; 总结: …

    数据库 2023年6月6日
    053
  • MySQL之事务隔离级别和MVCC

    事务隔离级别 事务并发可能出现的问题 脏写 事务之间对增删改互相影响 脏读 事务之间读取其他未提交事务的数据 不可重复读 一个事务在多次执行一个select读到的数据前后不相同。因…

    数据库 2023年5月24日
    074
  • day05-离线留言和离线文件

    多用户即时通讯系统05 4.编码实现04(拓展) 拓展功能: 实现离线留言,如果某个用户不在线 ,当登陆后,可以接收离线的消息 实现离线发文件,如果某个功能没有在线,当登录后,可以…

    数据库 2023年6月11日
    070
  • 达梦产品技术支持培训-day6-DM性能诊断与优化

    (本文只作为个人随笔用途,非官方文档,请勿作他用,谢谢) 1、DM8查询优化基本思路 1.1 操作系统性能诊断 linux常用系统监控命令 top 主要关注DMserver 的CP…

    数据库 2023年6月11日
    068
  • == 和 equals 的区别

    1. == 概念:==是一个比较运算符 == 既可以判断基本类型,又可以判断引用类型 ==判断基本类型时,判断的是值是否相等。示例:int i = 10; ==判断引用类型时,判断…

    数据库 2023年6月11日
    075
  • 精心总结十三条建议,帮你创建更合适的MySQL索引

    上篇文章讲到使用MySQL的Explain命令可以分析SQL性能瓶颈,优化SQL查询,以及查看是否用到了索引。 我们都知道创建索引可以提高查询效率,但是究竟如何创建索引呢? [En…

    数据库 2023年5月24日
    088
  • java XML标记语言

    可扩展标记语言( Extensive Markup Language),标签中的元素名是可以自己随意写,可拓展是相对于html来说 标记语言:由一对尖括号括起来 用来当做配置文件 …

    数据库 2023年6月16日
    071
  • 常用的Linux命令

    获取linux服务器所有java进程及名称 pidof java|xargs pwdx pidof:用于查找指定名称的进程的进程号id号-s 一次只显示一个进程号-c 只显示运行在…

    数据库 2023年6月14日
    073
  • 吃饱年代

    Original: https://www.cnblogs.com/life2refuel/p/15211899.htmlAuthor: 喜欢兰花山丘Title: 吃饱年代

    数据库 2023年6月9日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球