首页主机资讯Linux LAMP怎样监控系统资源

Linux LAMP怎样监控系统资源

时间2025-11-24 18:34:03发布访客分类主机资讯浏览1202
导读:Linux LAMP系统资源监控实操指南 一 系统级监控命令与用法 CPU与进程 实时与交互:top、htop(按CPU/内存排序,定位占用最高的进程) 多核与历史:mpstat -P ALL 1(逐核使用率)、sar -u 1 3(查...

Linux LAMP系统资源监控实操指南

一 系统级监控命令与用法

  • CPU与进程
    • 实时与交互:tophtop(按CPU/内存排序,定位占用最高的进程)
    • 多核与历史:mpstat -P ALL 1(逐核使用率)、sar -u 1 3(查看历史/当前CPU利用率)
  • 内存
    • 快速概览:free -h
    • 虚拟内存与上下文:vmstat 1 5
    • 更细内存占用:smem -r -k
  • 磁盘空间与目录
    • 挂载点使用:df -h
    • 目录占用:du -sh /var/log /var/lib/mysql /var/www/html
  • 磁盘I/O
    • 设备层统计:iostat -x 1 3
    • 进程级I/O:iotop
    • 综合资源:dstat
  • 网络
    • 连接与端口:ss -tulnnetstat -tulnp
    • 带宽与流量:nloadiftop
    • 抓包分析:tcpdump
  • 历史与持续记录
    • 系统活动回放:sar(需启用sysstat收集)
    • 带历史记录监控:atop
      以上命令覆盖CPU、内存、磁盘、网络等关键资源,适合快速排障与持续巡检。

二 LAMP各组件的关键监控点

  • Apache
    • 运行状态:systemctl status apache2
    • 实时连接与热点:apachetop
    • 启用模块与状态页:加载mod_status后访问**/server-status查看总请求、Worker/进程状态、每秒请求数**等
  • MySQL
    • 服务与连接:systemctl status mysqlmysqladmin statusmysqladmin processlist
    • 关键指标:Threads_connectedQueriesSlow_queriesInnodb_buffer_pool_read_hit(命中率)、Threads_running
    • 慢查询分析:pt-query-digest分析慢查询日志
  • PHP
    • 进程管理:systemctl status php7.x-fpm
    • 错误与性能:tail -f /var/log/php7.x-fpm.log;使用XdebugNew Relic APM定位慢函数与调用栈
  • 端口与服务可达性
    • 快速核验:ss -tulnp | egrep ‘:(80|443|3306|9000)’
      以上要点覆盖运行状态、连接数、命中率、慢查询、错误日志等核心维度,便于定位瓶颈。

三 日志与可视化监控

  • 日志集中与回放
    • 系统日志:journalctl -xe/var/log/syslog/var/log/messages
    • Web与数据库错误:tail -f /var/log/apache2/{ access,error} .logtail -f /var/log/mysql/error.log
    • 报表与告警:Logwatch生成HTML/邮件日报
  • 可视化与长期监控
    • 统一监控:NagiosZabbixPrometheus + Grafana(拉取Node Exporter/MySQL Exporter/Apache Exporter等指标,构建仪表盘与阈值告警
    • 轻量自托管:Glances支持Web/API方式查看资源
      通过日志与可视化平台,可实现趋势分析、阈值告警、容量规划7×24可视化

四 5分钟快速巡检脚本

#!/usr/bin/env bash
echo "=== Uptime &
     Load ===";
     uptime
echo "=== CPU &
     Memory ===";
     mpstat -P ALL 1 1;
     free -h
echo "=== Disk Space ===";
     df -h
echo "=== Top Memory Processes ===";
     ps -eo pid,ppid,cmd,%mem --sort=-%mem | head -10
echo "=== Top CPU Processes ===";
       ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head -10
echo "=== Apache Status ===";
     systemctl is-active apache2 &
    &
     apachectl status || echo "Apache not running"
echo "=== MySQL Status ===";
     systemctl is-active mysql  &
    &
     mysqladmin --relative --sleep 1 --count 5 extended-status | egrep "Threads_connected|Queries|Slow_queries" || echo "MySQL not running"
echo "=== Listening Ports ===";
     ss -tulnp | egrep ':(80|443|3306|9000)'
echo "=== Recent Apache Errors ===";
     tail -n50 /var/log/apache2/error.log | tail

将脚本加入crontab定时执行,输出重定向到日志文件,用于日常巡检与回溯

五 告警阈值与优化建议

  • 建议阈值与动作
    • CPU:> 80%持续5分钟 → 检查慢查询/外部负载,考虑扩容或限流
    • 内存:可用< 10%Swap使用> 5% → 优化应用内存、减少缓存占用、扩容内存
    • 磁盘:可用< 20% → 清理**/var/log、/var/lib/mysql**归档与慢查询日志,扩容磁盘
    • Apache:CPU> 70%平均响应时间升高 → 启用mod_status定位热点,优化KeepAlive/MPM与静态资源缓存
    • MySQL:Threads_connected接近上限、Slow_queries增长 → 优化SQL与索引,增加连接数或连接池,启用慢查询日志
  • 常用优化方向
    • Web层:启用压缩、浏览器缓存、CDN,减少后端压力
    • DB层:合理设置innodb_buffer_pool_size,定期分析与优化表,分库分表与读写分离
    • 应用层:使用OPcache连接池,减少PHP-FPM进程争用与重启频率
      上述阈值与动作可作为基线策略,需结合业务特性与压测结果微调。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux LAMP怎样监控系统资源
本文地址: https://pptw.com/jishu/754705.html
debian删除用户的方法 LAMP服务器如何更新软件

游客 回复需填写必要信息