Ubuntu LAMP怎样监控系统状态
导读:Ubuntu LAMP 系统状态监控实用方案 一 快速排障的命令行工具 进程与资源总览 top/htop:实时查看CPU、内存、负载、进程;htop 支持按键筛选与树形视图,安装:sudo apt-get install htop vm...
Ubuntu LAMP 系统状态监控实用方案
一 快速排障的命令行工具
- 进程与资源总览
- top/htop:实时查看CPU、内存、负载、进程;htop 支持按键筛选与树形视图,安装:sudo apt-get install htop
- vmstat:查看进程、内存、分页、块 I/O、CPU等整体指标,适合定位瓶颈
- iostat:查看磁盘 I/O 与 CPU,安装 sysstat:sudo apt-get install sysstat;常用 iostat -x 1
- sar:查看历史性能数据(需启用 sysstat 的数据收集),如 sar -u 1 10
- nmon:综合监控CPU、内存、磁盘、网络,安装:sudo apt-get install nmon
- 磁盘与文件系统
- df -h:查看磁盘空间使用
- du -sh /var/www /var/log:定位目录占用
- iotop:按进程查看磁盘读写(需 root)
- 网络与连接
- ss -tulpen:查看监听端口与连接状态,比 netstat 更快更现代
- tcpdump -i any -nn port 80 or 443:抓取HTTP/HTTPS流量做深度排查
- LAMP 专项
- systemctl status apache2 mysql:查看服务运行状态与最近日志
- apache2ctl status 或 service apache2 status:快速查看Apache状态(若启用 mod_status 可看到更细信息)
- mysqladmin status/processlist:查看MySQL连接与基本健康度
二 LAMP 组件专项监控
- Apache
- 启用并配置 mod_status:在站点配置或 /etc/apache2/mods-enabled/status.conf 中设置
- 典型配置:
- < Location /server-status>
- SetHandler server-status
- Require local
- 访问:http://服务器IP/server-status 可查看当前连接、请求处理、Worker 状态等
- 典型配置:
- 结合日志分析访问与错误:/var/log/apache2/access.log、error.log,配合 grep/awk/sed 做状态码、耗时、UA 等统计
- 启用并配置 mod_status:在站点配置或 /etc/apache2/mods-enabled/status.conf 中设置
- MySQL
- 内置与实时工具:mysqladmin status、mysqladmin processlist、SHOW STATUS LIKE ‘Threads_connected’;
- 性能洞察:启用并查询 Performance Schema(如 events_statements_summary_global_by_event_name)获取慢查询、语句统计、锁等待等
- 慢查询日志:在 my.cnf 中开启 slow_query_log、long_query_time,用 mysqldumpslow 或 pt-query-digest 分析
- PHP
- 确认进程与 FPM 池:systemctl status php*-fpm;查看 pm.max_children、request_terminate_timeout 等
- 打开 PHP-FPM 慢日志与错误日志,定位脚本执行慢、致命错误与异常退出
三 可视化与集中监控
- Prometheus + Grafana(推荐)
- 安装与启动:sudo apt update & & sudo apt install prometheus;sudo systemctl enable --now prometheus
- 安装与启动 Grafana:添加官方 APT 源后 sudo apt install grafana;sudo systemctl enable --now grafana-server
- 访问:Prometheus :9090,Grafana :3000;在 Grafana 添加 Prometheus 数据源并导入 Node Exporter/Apache/MySQL 仪表盘
- Zabbix
- 添加 Zabbix 仓库后安装 zabbix-server-mysql、zabbix-frontend-php、zabbix-apache-conf、zabbix-agent
- 初始化数据库、配置 zabbix_server.conf,启动服务;Web 安装向导完成后登录 :80 管理界面
- 轻量与开箱即用
- Glances:跨平台监控,支持Web/Socket展示,适合单机与小规模
- Monit:进程/文件/目录/设备守护与告警,配置简单、资源占用低
四 日志与告警实践
- 日志集中与可视化
- 系统与应用日志:/var/log/syslog、/var/log/apache2/.log、/var/log/mysql/.log
- 使用 ELK(Elasticsearch + Logstash + Kibana) 或 Loki + Promtail 做集中采集、检索与可视化,便于追踪错误与性能回放
- 告警与阈值
- Prometheus Alertmanager:基于指标阈值与异常规则触发邮件/企业微信/钉钉/Slack等告警
- Zabbix:内置触发器与动作,支持多种通知媒介与升级策略
- Monit:条件满足即执行重启服务/执行脚本/发邮件,适合关键进程保活
五 5 分钟上手清单
- 基线采集:安装 sysstat,确认 sar 能记录历史;记录当前 CPU/内存/磁盘/网络 与关键业务指标
- 组件自检:systemctl status apache2 mysql;apache2ctl status;mysqladmin status/processlist
- 实时巡检:htop、iostat -x 1、ss -tulpen、df -h;确认无异常进程与磁盘打满
- 打开 Apache 状态页:启用 mod_status,浏览器访问 /server-status 观察连接与 Worker
- 建立可视化:部署 Prometheus + Grafana,导入 Node Exporter 仪表盘,后续再接入 Apache/MySQL Exporter
- 配置告警:在 Prometheus 或 Zabbix 中设置CPU> 80%、磁盘> 85%、Apache 5xx 增多、MySQL 连接数异常等告警规则
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu LAMP怎样监控系统状态
本文地址: https://pptw.com/jishu/772508.html
