温馨提示×

Ubuntu Nginx性能监控怎么做

小樊
44
2025-08-28 07:54:40
栏目: 智能运维

以下是Ubuntu下Nginx性能监控的常用方法及工具:

一、Nginx内置模块监控

启用ngx_http_stub_status_module模块,通过访问/status端点查看实时状态(需先在Nginx配置中启用)。
操作步骤

  1. 编辑Nginx配置文件(如/etc/nginx/nginx.conf),添加以下内容:
    location /nginx_status { stub_status on; allow 127.0.0.1; # 限制访问IP deny all; } 
  2. 重启Nginx:sudo systemctl restart nginx
  3. 访问http://服务器IP/nginx_status查看指标(如活动连接数、请求总数等)。

二、系统级工具监控

使用Linux自带命令实时监控系统资源及Nginx进程状态:

  • top/htop:查看CPU、内存占用及Nginx进程资源使用情况。
  • vmstat/iostat:监控虚拟内存、CPU及磁盘I/O性能(需安装sysstat包)。
  • netstat:查看网络连接、端口占用及Nginx监听状态。

三、第三方专业工具

  • Prometheus + Grafana
    • Prometheus通过Nginx Exporter采集指标,Grafana可视化展示(如请求速率、延迟、错误率等),支持告警规则配置。
  • Zabbix/Nagios:企业级监控方案,支持Nginx状态监控、告警及自动化运维。
  • GoAccess:实时分析Nginx访问日志,生成可视化报告(支持终端或Web界面)。
  • ELK Stack(Elasticsearch+Logstash+Kibana):用于日志采集、存储及可视化分析,适合大规模日志监控。

四、日志分析监控

  • 分析访问日志:通过grep/awk提取关键信息(如状态码、请求耗时),或使用ngxtop工具实时解析日志。
  • 慢查询日志:若需监控Nginx与后端交互的慢请求,可结合后端服务(如PHP)的慢查询日志分析。

五、自动化监控脚本

编写Shell/Python脚本定期检查Nginx状态(如服务是否运行、响应时间),异常时发送邮件或短信告警。

工具选择建议

  • 轻量级监控:htop+ngxtop+GoAccess(适合中小服务器)。
  • 企业级监控:Prometheus+Grafana+Zabbix(支持大规模集群及复杂告警)。

0