插件窝 干货文章 LNMP服务器性能监控

LNMP服务器性能监控

监控 性能 状态 Nginx 608    来源:    2025-05-07

LNMP服务器性能监控方案

作为IT工程师,我将为您提供一套全面的LNMP(Linux+Nginx+MySQL+PHP)服务器性能监控方案,帮助您实时掌握服务器运行状态并及时发现问题。

一、基础监控工具

1. Linux系统监控

  • top/htop: 实时查看CPU、内存使用情况
  • vmstat: 监控系统进程、内存、分页、块IO等
  • iostat: 监控磁盘I/O性能
  • iftop/nethogs: 网络流量监控
  • dstat: 综合性能监控工具

2. Nginx监控

  • nginx-status: 启用Nginx状态模块 location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; }
  • 访问日志分析: 使用goaccess、awstats等工具

3. MySQL监控

  • mysqladmin: 基础状态查看 mysqladmin -u root -p extended-status
  • SHOW STATUS: 查看详细状态信息
  • 慢查询日志: 识别性能瓶颈 slow_query_log = 1 slow_query_log_file = /var/log/mysql/mysql-slow.log long_query_time = 2

4. PHP监控

  • php-fpm状态页 pm.status_path = /status
  • OPcache状态: opcache_get_status()
  • XHProf/Xdebug: 性能分析工具

二、综合监控解决方案

1. Prometheus + Grafana

  • Prometheus: 收集和存储时间序列数据
  • Grafana: 数据可视化
  • 相关导出器:
    • node_exporter (系统监控)
    • nginx_exporter
    • mysqld_exporter
    • php-fpm_exporter

2. ELK Stack (Elasticsearch + Logstash + Kibana)

  • 集中式日志收集与分析
  • 适合分析Nginx访问日志、错误日志等

3. Zabbix

  • 企业级监控解决方案
  • 提供告警功能
  • 支持自定义监控项

三、关键性能指标

1. 系统层面

  • CPU使用率(特别是I/O等待)
  • 内存使用率(包括swap)
  • 磁盘I/O和空间使用
  • 网络带宽使用

2. Nginx层面

  • 活跃连接数
  • 请求处理速率
  • 各状态码数量
  • 上游响应时间

3. MySQL层面

  • 查询缓存命中率
  • 连接数使用情况
  • 临时表创建数量
  • 慢查询数量
  • InnoDB缓冲池命中率

4. PHP层面

  • 当前运行的PHP-FPM进程数
  • 请求处理时间
  • 内存使用情况
  • OPcache命中率

四、自动化告警设置

  1. CPU使用率 > 90%持续5分钟
  2. 内存使用率 > 90%
  3. 磁盘空间 < 10%
  4. MySQL连接数 > 最大连接数的80%
  5. PHP-FPM进程 全部繁忙
  6. HTTP 5xx错误 突然增加

五、性能优化建议

  1. 定期检查: 设置每周性能报告
  2. 基准测试: 使用ab、siege等工具进行压力测试
  3. 配置调优: 根据监控结果调整Nginx、MySQL、PHP-FPM配置
  4. 定期维护: 清理日志、优化表、更新软件

通过以上监控方案,您可以全面掌握LNMP服务器的运行状态,及时发现并解决性能瓶颈,确保服务稳定高效运行。