Debian LAMP怎么监控运行
导读:Debian LAMP 运行监控实操指南 一 快速巡检与日志定位 服务状态与端口连通 查看服务:sudo systemctl status apache2;sudo systemctl status mysql;如启用 PHP-FPM:...
Debian LAMP 运行监控实操指南
一 快速巡检与日志定位
- 服务状态与端口连通
- 查看服务:sudo systemctl status apache2;sudo systemctl status mysql;如启用 PHP-FPM:sudo systemctl status php7.x-fpm
- 端口监听:sudo netstat -tulpen | grep -E ‘:(80|443|3306)’
- 资源与磁盘
- 资源快照:top/htop、free -m、df -h、du -sh /var/log /var/lib/mysql /var/www/html
- 日志定位
- Apache:/var/log/apache2/error.log
- MariaDB/MySQL:/var/log/mysql/error.log
- PHP-FPM:/var/log/php7.x-fpm.log 或 /var/log/php-fpm.log(以实际配置为准)
- 进程与连接
- 进程排查:ps aux | grep -E ‘apache|mysql|php’
- 说明
- 以上命令覆盖 LAMP 四层的关键可观测点,适合作为日常巡检与故障定位的第一步。
二 持续监控与可视化
- 轻量长期观测
- 系统性能历史:sar(需安装并启用 sysstat),配合 crontab 定期采集,便于回溯分析
- 增强型实时监控:atop、htop(交互式查看 CPU、内存、I/O 与进程)
- 指标可视化与告警
- 方案:Prometheus + Node Exporter + mysqld_exporter + Apache/PHP-FPM Exporter + Grafana
- 作用:统一采集系统、数据库与 Web/PHP 指标,面板可视化与阈值告警,适合7×24稳定运行
- 可用性与健康检查
- 主机/服务监控:Nagios、Monit(探活与自动恢复,异常时重启服务或告警)
- 面板化运维
- 可选:宝塔面板(内置资源监控与站点管理,适合快速上手)
- 说明
- 轻量工具用于日常查看;可视化与告警平台用于长期、可回溯、可告警的监控体系。
三 关键监控项与阈值建议
| 组件 | 关键指标 | 建议阈值或关注点 | 采集方式 |
|---|---|---|---|
| 系统 | CPU 使用率、负载 1/5/15 | 负载持续高于 CPU 核数需排查;关注 iowait | top/htop、sar |
| 系统 | 内存使用率、Swap | 尽量避免频繁 Swap;关注缓存与可用内存 | free、smem |
| 系统 | 磁盘空间与 Inode | 使用率> **80%**告警;检查日志与数据库数据目录 | df、du |
| 系统 | I/O 等待 | iowait 高时优先排查慢查询/磁盘 | vmstat、iostat、atop |
| Apache | 进程/连接数 | 关注 MaxRequestWorkers 与当前连接,避免排队 | systemctl、netstat、mod_status |
| Apache | 响应时延与错误 | 5xx/4xx 突增、慢请求增多需定位 | error.log、access.log |
| MariaDB/MySQL | 连接数/线程 | 接近 max_connections 需扩容或优化 | SHOW STATUS LIKE ‘Threads_connected’; |
| MariaDB/MySQL | 缓冲池命中 | InnoDB Buffer Pool Hit Rate 低需加内存或优化查询 | SHOW ENGINE INNODB STATUS; |
| MariaDB/MySQL | 慢查询 | 开启 slow_query_log,定位全表扫描/缺失索引 | mysqld_exporter + Grafana |
| PHP-FPM | 进程池使用 | 进程耗尽导致 502/504,调整 pm.max_children | php-fpm status、Grafana |
| PHP-FPM | 脚本耗时 | 长脚本影响吞吐,优化代码与 OPcache | slowlog、Grafana |
- 说明
- 阈值需结合实例规格与业务特性微调;数据库与 PHP-FPM 建议以“利用率 + 错误/慢日志”双维度判定。
四 告警与自动化恢复
- 告警规则示例
- 主机:CPU> 80%持续5分钟、内存> 90%、磁盘> 80%、iowait> 20%
- Apache:5xx 错误率> 1%、服务宕机
- MySQL:Threads_connected 接近 max_connections、慢查询突增
- PHP-FPM:进程池耗尽、大量慢请求
- 自动化动作
- 服务异常自动重启:Monit/Nagios 可配置“探活失败 → 重启服务 → 再次检测 → 升级告警”
- 日志告警:结合 fail2ban/自定义脚本对异常访问与爆破进行封禁与通知
- 说明
- 建议先“告警→人工确认”,稳定后再逐步启用自动恢复,避免雪崩与掩盖根因。
五 5分钟上手清单
- 立即巡检
- 运行:systemctl status apache2 mysql;netstat -tulpen | grep -E ‘:(80|443|3306)’
- 查看:free -m、df -h、top;tail -n50 /var/log/apache2/error.log /var/log/mysql/error.log
- 建立轻量长期观测
- 安装:sudo apt install sysstat htop atop
- 采集:确认 sar 定时任务已启用(/etc/cron.d/sysstat),按需查看 sar -u/-r/-d
- 配置可视化与告警(可选进阶)
- 部署 Prometheus + Node Exporter + mysqld_exporter + Grafana,导入 LAMP 面板;Nagios/Monit 负责探活与自动恢复。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian LAMP怎么监控运行
本文地址: https://pptw.com/jishu/784625.html
