debian

Debian LAMP怎样进行性能监控

小樊
35
2025-11-15 03:43:37
栏目: 智能运维

Debian LAMP性能监控实操指南

一 快速排障的命令行工具

二 组件级监控要点

三 可视化与长期监控方案

四 关键指标与告警阈值建议

维度 关键指标 建议阈值或关注点 排查方向
CPU load average、%usr、%sys、%iowait load ≈ CPU核数为健康;**%iowait 持续>20%**多为I/O瓶颈 查 iostat、进程I/O、磁盘与数据库
内存 available、swap used、si/so swap 持续增长si/so 非零且持续需警惕 查内存泄漏、缓存/缓冲命中、服务配置
磁盘 %util、await、r/s、w/s **%util 持续>80%**易成为瓶颈;await升高表示响应慢 查 I/O 密集进程、RAID/磁盘健康、SQL优化
网络 带宽占用、丢包/重传 带宽接近上限或重传率高影响响应 查连接数、长连接、协议与对端状态
Apache Busy/Idle workers、Req/s、Bytes/s Busy 长期接近 MaxRequestWorkers需扩容或优化 调优 MPM、启用压缩/缓存、优化代码与SQL
MariaDB Threads_connected、Queries/s、Slow_queries、Innodb_buffer_pool_reads/requests 慢查询增长、**缓存命中率<95%**需优化 慢查询日志、索引与SQL、缓冲池与配置
PHP-FPM 进程数、请求排队、慢请求 排队>0慢请求增多需优化代码/配置 调整 pm 参数、开启 opcache、定位慢脚本
以上阈值用于快速判断健康度,需结合业务峰值与历史基线动态校准。

五 一键巡检脚本示例

#!/usr/bin/env bash
TS=$(date '+%F %T')
LOG=/var/log/lamp_monitor.log

{
  echo "[$TS] === System ==="
  echo "Load: $(awk '{print $1,$2,$3}' /proc/loadavg)"
  free -m | awk 'NR==2{printf "Mem: used %sMB free %sMB cache %sMB\n", $3,$4,$6}'
  df -h | awk '$NF=="/"{printf "RootFS: %s used %s avail %s %s\n", $1,$5,$4,$6}'

  echo "[$TS] === I/O ==="
  iostat -xz 1 2 | awk 'NR>3 && $1!~/^$/ {printf "Disk: %s util=%s await=%s r/s=%s w/s=%s\n", $1,$14,$10,$4,$5; exit}'

  echo "[$TS] === Network ==="
  ss -s | head -n 5

  echo "[$TS] === Apache ==="
  if command -v curl >/dev/null 2>&1; then
    curl -s "http://127.0.0.1/server-status?auto" 2>/dev/null | head -n 20
  fi

  echo "[$TS] === MariaDB ==="
  if command -v mysql >/dev/null 2>&1; then
    mysql -e "SHOW GLOBAL STATUS LIKE 'Threads_connected'; SHOW GLOBAL STATUS LIKE 'Slow_queries';" 2>/dev/null
  fi
} >> "$LOG" 2>&1

该脚本依赖 iostat(sysstat)、sscurlmysql 客户端,请确保已安装;生产环境建议配合 logrotate 做日志轮转与保留策略。

0
看了该问题的人还看了