首页主机资讯LNMP在Ubuntu上的性能监控工具

LNMP在Ubuntu上的性能监控工具

时间2025-11-25 00:09:04发布访客分类主机资讯浏览547
导读:LNMP在Ubuntu上的性能监控工具与落地方案 一 系统级与命令行工具 进程与资源总览:top/htop(安装:sudo apt-get install htop),快速查看CPU、内存、负载、进程占用。 内存与磁盘:free -h(内...

LNMP在Ubuntu上的性能监控工具与落地方案

一 系统级与命令行工具

  • 进程与资源总览:top/htop(安装:sudo apt-get install htop),快速查看CPU、内存、负载、进程占用。
  • 内存与磁盘:free -h(内存)、df -h(磁盘空间)、du -sh < 目录> (目录占用)。
  • CPU与I/O:vmstat 1(进程/内存/IO/CPU)、iostat -x 1(安装:sudo apt-get install sysstat,关注await、r/s、w/s、util)。
  • 网络与端口:ss -tulpen(比 netstat 更快更全),用于核对 Nginx/MySQL/PHP-FPM 监听端口与连接状态。
  • 服务状态与端口连通性:
    • 服务状态:sudo systemctl status nginx/mysql/php-fpm(或 service 方式)。
    • 端口连通性:ss -lntp | grep -E ‘(:80|:443|:3306)’curl -I http://127.0.0.1/nginx_status
  • 日志定位:
    • Nginx/var/log/nginx/error.log、access.log
    • MySQL/var/log/mysql/error.log
    • PHP-FPM/var/log/php-fpm/error.log
  • 一键巡检示例:
    • 资源与I/O:vmstat 1 5;iostat -x 1 5;free -h;df -h
    • 服务与端口:systemctl is-active nginx mysql php-fpm;ss -lntp | grep -E ‘(:80|:443|:3306)’
    • 错误线索:tail -n50 /var/log/nginx/error.log /var/log/mysql/error.log /var/log/php-fpm/error.log
      以上工具与方法覆盖日常排障与性能点检,适合作为值班与应急的“第一响应”手段。

二 Nginx MySQL PHP-FPM 组件监控要点

  • Nginx
    • 启用状态页:在 server 配置中加入
      location /nginx_status {
          
          stub_status on;
          
          allow 127.0.0.1;
          
          deny all;
      
      }
          
      
      访问 http://your_server_ip/nginx_status 查看Active connections、Accepts、Handled、Requests等;配合 access.log/error.log 分析流量与异常。
  • MySQL/MariaDB
    • 运行状态:mysqladmin -u root -p status;实时会话与负载:SHOW STATUS; SHOW PROCESSLIST;
    • 慢查询:开启慢查询日志,使用 mysqldumpslow /var/log/mysql/slow.logpt-query-digest 定位耗时 SQL。
  • PHP-FPM
    • 进程与性能:检查 /var/log/php-fpm/error.log;按需调整 pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers;用 php-fpm status(需启用)或 ss -lntp | grep php-fpm 核对监听。
    • 代码级性能:Xdebug、Blackfire.io 做调用图与瓶颈定位(开发/预发环境优先)。
      以上做法覆盖连接、请求、慢查询与进程瓶颈四个维度,是LNMP性能优化的高频抓手。

三 可视化与告警平台选型

  • Prometheus + Grafana
    • 采集建议:Node Exporter(主机指标,9100)、Nginx Exporter(9113)、MySQL Exporter(9104)。
    • 快速落地:部署 Prometheus,配置 scrape_jobs 指向各 Exporter;Grafana 添加 Prometheus 数据源并导入 Node/MySQL/Nginx 仪表盘,设置阈值告警。
  • Zabbix
    • 特性:开箱即用的模板、触发器、告警,适合中小团队统一监控。
    • 部署要点:安装 zabbix-server-mysql、zabbix-frontend-php、zabbix-apache-conf,创建数据库与用户,配置 zabbix_server.conf 的数据库连接并启动服务。
  • 其他可选
    • Netdata(轻量实时)、Nagios(成熟插件生态)、Datadog/New Relic(SaaS 全链路 APM)。
      上述平台可按团队规模与运维复杂度选择:轻量场景用 Netdata,自建可视化与可控性选 Prometheus+Grafana,统一监控与告警选 Zabbix,云上一体化可上 Datadog/New Relic

四 快速落地与告警阈值建议

  • 5分钟快速搭建
    • 主机与I/O基线:sudo apt-get install htop sysstat -y,运行 vmstat 1 5;iostat -x 1 5;free -h;df -h
    • Nginx 状态页:启用 stub_status,本地或内网访问 /nginx_status 校验 Active connectionsRequests
    • MySQL 健康:执行 mysqladmin -u root -p status,查看 Threads_connected、Slow_queries,抽样 SHOW PROCESSLIST
    • 可视化起步:部署 Prometheus(scrape 9100/9113/9104),Grafana 导入 Node/MySQL/Nginx 仪表盘并配置基础告警规则。
  • 关键阈值示例(按业务调整)
    • CPU:load average > 核心数×0.7CPU idle < 20% 持续5分钟
    • 内存:可用内存 < 10%Swap 使用 > 0%(非必要时)
    • 磁盘:%util > 80%可用空间 < 20%
    • 网络:丢包率 > 0.1%TCP 重传率异常升高
    • Nginx:Active connections 接近 worker_connections 上限
    • MySQL:Threads_connected 接近上限,Slow_queries 持续增长
      以上步骤与阈值可作为上线前后的“基线巡检+预警”模板,后续再结合业务峰值与 SLA 细化。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: LNMP在Ubuntu上的性能监控工具
本文地址: https://pptw.com/jishu/755040.html
如何监控Linux中的php-fpm进程 php-fpm内存溢出如何解决

游客 回复需填写必要信息