Debian LAMP如何监控资源使用
导读:Debian LAMP资源监控实用指南 一 快速排障的命令行工具 系统概览与进程 使用 top/htop 查看 CPU、内存 占用与热点进程;安装 htop:sudo apt install htop 使用 vmstat 1 5 观察...
Debian LAMP资源监控实用指南
一 快速排障的命令行工具
- 系统概览与进程
- 使用 top/htop 查看 CPU、内存 占用与热点进程;安装 htop:sudo apt install htop
- 使用 vmstat 1 5 观察 procs、memory、io、cpu 等整体指标;free -h 查看内存使用;df -h 查看磁盘空间
- 磁盘 I/O
- 使用 iostat -xz 1(需 sudo apt install sysstat)查看磁盘 %util、await、r/s、w/s 等关键指标
- 使用 iotop(需 sudo apt install iotop)按进程定位 磁盘读写
- 网络
- 使用 ss -tulnp 或 netstat -tulnp 查看 连接与监听端口
- 使用 iftop -i eth0(需 sudo apt install iftop)实时按主机/端口观察带宽
- 使用 nload eth0(需 sudo apt install nload)查看接口 入/出流量
- 使用 vnstat(需 sudo apt install vnstat)记录与统计 历史流量
- 日志
- 使用 journalctl -xe 查看 systemd 日志,定位服务异常与启动失败
二 面向 LAMP 组件的关键指标与定位
| 组件 | 关键指标 | 常用命令/工具 | 典型症状与处理 |
|---|---|---|---|
| Linux 系统 | CPU 负载、内存使用、swap、磁盘 I/O、inode | top/htop、vmstat、iostat、df/du、iotop | 负载高:先用 top/htop 找进程;I/O 高:iostat 看 %util 与 await,iotop 定位进程;磁盘满:df -h 与 du 排查大文件 |
| Apache | 并发连接、请求速率、响应时间、子进程/线程数、错误率 | ss -tulnp、journalctl -u apache2、访问日志 | 连接数打满:调优 MaxRequestWorkers/KeepAlive;错误增多:查日志定位 5xx/4xx 与慢请求 |
| MySQL/MariaDB | 连接数、查询速率、慢查询、InnoDB 缓冲池命中、复制延迟 | 登录 mysql 执行 SHOW STATUS/LIMITED;启用慢查询日志 | 连接不够:提高 max_connections;慢查询多:分析慢日志并优化索引/SQL |
| PHP-FPM | 进程数、请求队列、每个进程内存占用、脚本执行时间 | systemctl status php*-fpm、日志、top/htop | 队列堆积:增加 pm.max_children 或优化慢脚本;内存高:降低并发或优化代码 |
| 网络 | 带宽占用、连接数、重传率 | iftop、nload、vnstat、ss -s | 带宽打满:用 iftop/nload 找占用者;连接异常:ss -s 与日志联动排查 |
| 说明:组件调优参数(如 MaxRequestWorkers、innodb_buffer_pool_size、pm.max_children)需结合实例规格与业务压力逐步调整。 |
三 持续监控与告警方案
- 轻量自托管
- Prometheus + Grafana:以 Node Exporter 采集主机指标,按需增加 Apache/MySQL Exporter;Grafana 做可视化与阈值告警
- Zabbix:通过 Zabbix Agent 采集系统与服务指标,配置触发器与通知媒介(邮件/企业微信/钉钉等)
- Nagios:基于插件的主机与服务监控,适合传统架构与严格 SLA 场景
- 日志与流量侧
- 使用 Filebeat 采集 Apache/Nginx 访问与错误日志 送入 Elasticsearch/Logstash,在 Kibana 中分析 流量、状态码、URL 耗时 等
- 使用 vnstat 做 长期流量统计,配合告警规则发现异常流量趋势
四 五分钟上手流程
- 第1步 安装基础观测工具
- 执行:sudo apt update & & sudo apt install -y htop sysstat iotop iftop nload vnstat
- 第2步 实时巡检
- 执行:htop(看热点进程)→ iostat -xz 1(看磁盘瓶颈)→ iftop -i eth0(看带宽占用)→ ss -tulnp | head(看连接与端口)→ journalctl -u apache2 -xe(看服务日志)
- 第3步 建立持续观测
- 方案A:Prometheus + Grafana(Node Exporter + Apache/MySQL Exporter),在 Grafana 配置 CPU、内存、磁盘 %util、Apache 请求速率、MySQL 连接数 等面板与阈值告警
- 方案B:Zabbix 添加主机,导入模板(Linux、Apache、MySQL),配置触发器(如 CPU> 80% 持续5分钟、磁盘使用率> 85%、Apache 5xx> 阈值)并绑定通知方式
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian LAMP如何监控资源使用
本文地址: https://pptw.com/jishu/764811.html
