ubuntu

Ubuntu Nginx如何监控系统状态

小樊
44
2025-10-21 10:16:08
栏目: 智能运维

Ubuntu系统下监控Nginx状态的方法可分为基础命令、Nginx自带模块、第三方工具及日志分析四大类,以下是具体实现方式:

一、基础命令监控

1. 服务状态与服务日志

2. 端口与资源占用

二、Nginx自带模块监控(stub_status)

Nginx的ngx_http_stub_status_module模块可提供基本的连接状态信息(如活跃连接数、请求数等),需手动启用:

  1. 配置模块:在Nginx配置文件(如/etc/nginx/conf.d/default.conf)的server块中添加以下内容,限制仅本地访问(避免暴露敏感信息):
    location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }
    
  2. 重启Nginx:保存配置后,执行sudo systemctl restart nginx使配置生效。
  3. 查看状态信息:在浏览器访问http://localhost/nginx_status(或通过curl http://localhost/nginx_status命令行查看),输出结果包含:
    • Active connections:当前活跃连接数(包括ReadingWritingWaiting三种状态);
    • server accepts handled requests:总接受请求数、总处理请求数、总完成请求数;
    • Reading/Writing/Waiting:当前正在读取请求头、写入响应、等待的连接数。

三、第三方监控工具

1. Prometheus + Grafana(指标收集与可视化)

2. Netdata(实时系统监控)

Netdata是一款轻量级实时监控工具,内置Nginx监控模块,无需额外配置:

四、日志分析工具

Nginx的访问日志(access.log)和错误日志(error.log)是监控系统状态的重要数据源,可通过以下工具进行分析:

1. GoAccess(实时可视化分析)

GoAccess是一款基于终端的实时日志分析工具,支持生成HTML报告:

2. ELK Stack(大规模日志管理)

ELK(Elasticsearch + Logstash + Kibana)适用于处理海量日志,实现集中化存储、搜索和可视化:

0
看了该问题的人还看了