首页主机资讯Linux LAMP服务器如何监控

Linux LAMP服务器如何监控

时间2026-01-21 12:51:03发布访客分类主机资讯浏览1275
导读: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
LAMP中Linux如何管理用户 LAMP环境下PHP如何调试代码

游客 回复需填写必要信息