Linux LAMP服务器如何监控
导读:Linux LAMP服务器监控实操指南 一 监控目标与分层 系统层:CPU、内存、磁盘 I/O、网络、文件句柄、负载均衡与容量。 服务层:Apache(连接、请求、响应、工作进程)、MySQL/MariaDB(连接、查询、慢查询、复制)、...
Linux LAMP服务器监控实操指南
一 监控目标与分层
- 系统层:CPU、内存、磁盘 I/O、网络、文件句柄、负载均衡与容量。
- 服务层:Apache(连接、请求、响应、工作进程)、MySQL/MariaDB(连接、查询、慢查询、复制)、PHP-FPM(进程池、慢请求、脚本错误)。
- 日志层:访问与错误日志、慢查询日志、系统日志的实时与离线分析。
- 安全层:暴力登录、异常访问、Web 攻击特征与封禁策略。
二 快速巡检命令与阈值示例
- 服务状态与端口
- 检查服务:systemctl status apache2;systemctl status mysql;systemctl status php7.x-fpm
- 端口监听:sudo netstat -tulpen | grep -E ‘:(80|443|3306)’
- 资源与 I/O
- 实时资源:top/htop;整体资源:vmstat 1;磁盘 I/O:iostat -x 1;内存:free -m;磁盘空间:df -h;目录占用:du -sh /var/log /var/lib/mysql /var/www/html;进程 I/O:iotop
- 网络与连接
- 连接与套接字:ss -s;带宽与进程流量:iftop / nethogs;抓包分析:tcpdump -i any -nn port 80 or 443
- 数据库与 Web
- MySQL 状态:mysqladmin status;连接与线程:mysql -e “SHOW STATUS LIKE ‘Threads_connected’; SHOW PROCESSLIST; ”
- Apache 实时:apachetop;模块与配置:apache2ctl -M;访问/错误日志:tail -f /var/log/apache2/{ access,error} .log
- PHP-FPM:tail -f /var/log/php7.x-fpm.log;进程池状态:systemctl status php7.x-fpm
- 建议关注的阈值
- 负载(1/5/15 分钟)接近或超过 CPU 核数
- 内存可用低于 10% 或频繁 swap
- 磁盘使用超过 80%
- Apache 工作进程接近 MaxRequestWorkers 或大量 5xx
- MySQL Threads_connected 接近 max_connections 或慢查询激增
三 组件级监控要点与常用命令
- Apache
- 启用 mod_status 获取 ServerStatus(建议限制内网访问),配合 apachetop 观察实时命中与慢请求;按需调整 KeepAlive、MaxRequestWorkers、MaxConnectionsPerChild 等参数以匹配并发与内存。
- MySQL/MariaDB
- 使用 mysqladmin status、SHOW STATUS 与 SHOW PROCESSLIST 观察连接、查询与锁等待;开启并分析慢查询日志(slow_query_log、long_query_time),用 pt-query-digest 聚合与定位问题 SQL;必要时用 EXPLAIN 做执行计划分析。
- PHP-FPM
- 监控进程池(pm.max_children、pm.start_servers 等)与慢请求(slowlog、request_slowlog_timeout);结合 PHP 错误日志定位脚本异常与性能瓶颈。
四 日志管理与分析
- 日志位置与查看
- Apache:/var/log/apache2/{ access,error} .log;MySQL:/var/log/mysql/{ error,slow} .log(general.log 视配置而定);系统:/var/log/syslog 或 /var/log/messages;实时查看:tail -f;按服务查看:journalctl -u apache2/mysql/php7.x-fpm
- 分析与可视化
- 命令行组合:grep/awk/sed/sort/uniq 做字段提取、过滤与统计;集中式方案:ELK(Elasticsearch、Logstash、Kibana)或 Graylog 做检索、仪表盘与告警。
- 日志轮换与容量
- 使用 logrotate 管理日志大小与保留,常用选项:rotate(保留份数)、size(按大小触发)、daily/weekly/monthly、compress、delaycompress、missingok、notifempty、create;为 Apache 创建 /etc/logrotate.d/apache2 并配置轮转周期与压缩策略。
五 集中监控与告警方案
- 开源方案选型
- Zabbix:企业级监控,支持主机、服务、SNMP、自定义脚本与可视化看板,适合中小到大型环境。
- Prometheus + Grafana:时序数据模型与灵活查询(PromQL),配合 Exporter(如 node_exporter、mysqld_exporter、apache_exporter)采集指标,Grafana 做可视化与阈值告警。
- Nagios:成熟告警框架,插件丰富,适合传统架构与严格 SLA 场景。
- Glances / Monit:轻量级系统与服务监控,适合单机或边缘节点。
- 落地建议
- 建立“基线指标”(CPU、内存、磁盘、连接、QPS、慢查询数等)与“异常阈值”;分层监控从整体到组件再到语句级;结合业务高峰做容量规划;为关键指标配置告警(如磁盘 > 80%、连接数接近上限、慢查询突增、服务宕机)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux LAMP服务器如何监控
本文地址: https://pptw.com/jishu/788601.html
