Ubuntu LAMP怎样监控服务器状态
导读:Ubuntu LAMP 服务器状态监控实践 一 快速排障的命令行工具 系统资源总览 实时进程与负载:top / htop(交互更友好,支持按键筛选) 综合资源:nmon(CPU、内存、磁盘、网络一屏查看) 虚拟内存与CPU:vmstat...
Ubuntu LAMP 服务器状态监控实践
一 快速排障的命令行工具
- 系统资源总览
- 实时进程与负载:top / htop(交互更友好,支持按键筛选)
- 综合资源:nmon(CPU、内存、磁盘、网络一屏查看)
- 虚拟内存与CPU:vmstat 1
- 磁盘与CPU:iostat -x 1(需安装 sysstat:sudo apt-get install sysstat)
- 历史与系统活动报告:sar(来自 sysstat,支持按日查看历史)
- 多合一资源:dstat、glances
- LAMP 组件状态
- Apache:sudo systemctl status apache2;实时连接与性能页:启用 mod_status 后访问 http://服务器IP/server-status(需配置访问控制)
- MySQL:sudo systemctl status mysql;连接与执行:mysqladmin status、mysqladmin processlist;性能细节:Performance Schema
- 以上工具覆盖 CPU、内存、磁盘 I/O、网络以及 Apache/MySQL 的关键运行状态,适合日常巡检与临时排障。
二 组件内置状态页与关键指标
- Apache
- 启用模块与配置:a2enmod status;在站点配置或 /etc/apache2/conf-available/status.conf 中设置
- 示例:
- ExtendedStatus On
- < Location /server-status>
- SetHandler server-status
- Require local
- 示例:
- 重载:sudo systemctl reload apache2
- 关注指标:Total Accesses/Total kBytes、CPULoad、ReqPerSec、BytesPerSec、BusyWorkers、IdleWorkers、Scoreboard(用于判断并发、吞吐与排队)
- 启用模块与配置:a2enmod status;在站点配置或 /etc/apache2/conf-available/status.conf 中设置
- MySQL
- 快速健康检查:mysqladmin status(Threads、Questions、Slow queries、Opens、Flush、Uptime)
- 实时连接与慢查询:mysqladmin processlist、开启慢查询日志分析长时 SQL
- 深入诊断:Performance Schema(按语句/等待事件/阶段统计,定位瓶颈)
- 这些内置页面与命令无需额外安装,能直接反映 LAMP 栈的运行健康度与性能瓶颈。
三 可视化与告警平台选型与部署
- Prometheus + Grafana(指标采集与可视化)
- 安装与启动
- Prometheus:sudo apt update & & sudo apt install prometheus;sudo systemctl start prometheus & & sudo systemctl enable prometheus;访问 http://服务器IP:9090
- Grafana:wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -;echo “deb https://packages.grafana.com/oss/ubuntu $(lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/grafana.list;sudo apt update & & sudo apt install grafana;sudo systemctl start grafana-server & & sudo systemctl enable grafana-server;访问 http://服务器IP:3000
- 典型用法:Prometheus 抓取 Node Exporter(系统指标)、Apache Exporter、MySQL Exporter;Grafana 导入 Node Exporter/Apache/MySQL 仪表盘进行可视化与告警规则配置
- 安装与启动
- Zabbix(一体化监控与告警)
- 添加仓库并安装:wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1ubuntu20.04_all.deb & & sudo dpkg -i zabbix-release_*.deb & & sudo apt update
- 安装组件:sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent
- 初始化数据库(示例):CREATE DATABASE zabbix …;创建用户并授权;导入初始数据;配置 /etc/zabbix/zabbix_server.conf;启动 zabbix-server 与 zabbix-agent;访问 http://服务器IP/zabbix 完成向导
- Nagios(传统主机与服务监控)
- 安装:sudo apt update & & sudo apt install nagios3 nagios-plugins
- 启动:sudo systemctl start nagios3 & & sudo systemctl enable nagios3
- 访问 http://服务器IP/nagios 查看状态与配置监控对象
- 以上方案覆盖从开箱即用的 Zabbix 到灵活可扩展的 Prometheus+Grafana,以及告警能力成熟的 Nagios,可按团队规模与复杂度选择。
四 落地监控方案与告警阈值建议
- 监控分层
- 基础设施:CPU、内存、磁盘 I/O、网络(Node Exporter)
- 服务层:Apache(请求吞吐、并发、5xx 错误、响应时间)、MySQL(连接数、慢查询、复制延迟)
- 日志层:Apache access/error 与 MySQL slow query log(异常状态码、峰值时段、TOP SQL)
- 建议阈值与动作
- CPU 使用率 > 80% 持续 5 分钟:扩容或限流
- 内存使用率 > 80%:检查缓存/进程泄漏,优化应用或加内存
- 磁盘使用率 > 80%:清理日志/归档,扩容磁盘
- Apache 平均响应时间 > 1s 或 5xx 增多:排查慢查询与后端瓶颈
- MySQL 连接数接近 max_connections:优化连接池与 SQL,必要时调大上限
- 慢查询增多:开启并分析慢查询日志,建立索引与改写 SQL
- 建议做法
- 每 15 秒采集一次指标,保留 15 天;为关键指标设置 P95/P99 告警
- 使用 Grafana 建立统一看板,按业务划分视图;Prometheus 配置 Alertmanager 或 Zabbix 配置动作与通知渠道(邮件/企业微信/钉钉/Slack)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu LAMP怎样监控服务器状态
本文地址: https://pptw.com/jishu/757259.html
