ubuntu lamp如何监控系统资源
导读:Ubuntu LAMP 系统资源监控实操指南 一 快速上手 命令行即时监控 进程与负载:top(实时)、htop(更直观,支持按键筛选)。安装:sudo apt-get install htop。 综合资源:vmstat 1(进程、内存、...
Ubuntu LAMP 系统资源监控实操指南
一 快速上手 命令行即时监控
- 进程与负载:top(实时)、htop(更直观,支持按键筛选)。安装:sudo apt-get install htop。
- 综合资源:vmstat 1(进程、内存、CPU、IO 概览)。
- 磁盘与 CPU:iostat -x 1(需 sudo apt-get install sysstat,关注 %util、await、svctm)。
- 历史与报表:sar -u/-r/-b/-n DEV 1(需 sysstat,用于回看 CPU、内存、块设备、网络的历史)。
- 网络与连接:ss -s、netstat -tulpen(查看连接数、监听端口、协议)。
- 内存与缓存:free -h。
- 一键全览:glances(安装:sudo apt-get install glances,支持按 c/m/i 排序、远程模式 glances -s 与 glances -c IP)。
二 LAMP 组件专项检查
- Apache
- 运行状态:sudo systemctl status apache2;重载:sudo systemctl reload apache2。
- 实时指标:启用 mod_status(ExtendedStatus On),访问 http://服务器IP/server-status 查看当前连接、请求速率、Worker 占用等。
- 性能调优要点:结合 apachectl status 与访问日志,调整 KeepAlive、MaxRequestWorkers 等参数,避免过载。
- MySQL/MariaDB
- 快速体检:mysqladmin status、mysqladmin --relative --sleep 5 extended-status(观察 Threads_connected、Queries、Slow_queries 等)。
- 深入诊断:开启并分析 慢查询日志,用 EXPLAIN 检查慢 SQL 执行计划;结合 Performance Schema 获取更细粒度指标。
- PHP-FPM
- 进程与性能:检查 /etc/php/*/fpm/pool.d/www.conf 中的 pm.max_children、pm.start_servers、pm.max_spare_servers,观察 pm.status_path(如 /status)与 slowlog。
- 缓存建议:启用 OPcache 提升 PHP 执行性能。
三 历史趋势与可视化监控
- 轻量可视化:Glances 支持 C/S 模式(服务器端 glances -s,客户端 glances -c IP),适合临时或小规模部署。
- 企业级方案:Prometheus + Grafana
- 安装与访问:sudo apt install prometheus(默认 :9090),sudo apt install grafana(默认 :3000)。
- 典型用法:Prometheus 抓取 Node Exporter/Apache Exporter/MySQL Exporter 等指标,Grafana 配置面板做可视化与告警。
- 传统平台:Zabbix(安装 zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent,Web 端完成主机与服务监控与告警)。
四 关键指标与告警阈值示例
| 维度 | 关键指标 | 常用命令/来源 | 建议阈值或关注点 |
|---|---|---|---|
| CPU | 负载均值、CPU 使用率 | top/vmstat/sar -u | 负载长期高于 CPU 核数 或 %us/%sy 持续偏高需排查 |
| 内存 | 可用内存、Swap 使用 | free -h/vmstat | Swap 频繁使用或可用内存过低影响稳定性 |
| 磁盘 | 使用率、IOPS、吞吐、延迟 | df -h/iostat -x 1 | %util 接近 100% 表示设备饱和;关注 await、svctm 异常 |
| 网络 | 带宽占用、丢包/重传 | sar -n DEV 1/ss -s | 带宽接近上限或重传率升高需定位链路/应用问题 |
| Apache | 当前连接、请求速率、Worker 占用 | server-status/mod_status | Busy/Idle Workers 接近上限或请求排队需扩容/调参 |
| MySQL | 连接数、慢查询、QPS | mysqladmin status/慢查询日志 | Threads_connected 接近上限、慢查询增多需优化 SQL/索引/配置 |
五 5 分钟排障流程
- 资源瓶颈定位:用 top/htop 找高 CPU/内存 进程;用 iostat -x 1 判断磁盘是否饱和;用 vmstat 1 看整体资源争用。
- 组件健康检查:
- Apache:访问 /server-status 看 Busy/Idle 与当前请求;必要时 systemctl reload apache2。
- MySQL:mysqladmin status 观察连接与查询速率;慢查询日志定位问题 SQL。
- 历史回放:用 sar 回看 CPU/内存/IO/网络 的历史峰值与异常时段。
- 持久化与告警:部署 Prometheus + Grafana 或 Zabbix,对关键指标设置阈值告警,便于提前发现问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu lamp如何监控系统资源
本文地址: https://pptw.com/jishu/774773.html
