ubuntu lamp如何监控资源
导读:Ubuntu LAMP 资源监控实用方案 一 快速排障的命令行工具 实时进程与负载:top、htop(更直观,支持按键筛选)。安装:sudo apt-get install htop。 综合资源:nmon(CPU、内存、磁盘、网络)。安装...
Ubuntu LAMP 资源监控实用方案
一 快速排障的命令行工具
- 实时进程与负载:top、htop(更直观,支持按键筛选)。安装:sudo apt-get install htop。
- 综合资源:nmon(CPU、内存、磁盘、网络)。安装:sudo apt-get install nmon。
- 虚拟内存与系统概况:vmstat 1(每秒刷新)。
- 磁盘与 CPU:iostat -x 1(需启用 sysstat)。安装:sudo apt-get install sysstat。
- 历史与系统活动报告:sar -u/-r/-b/-n DEV 1(同样依赖 sysstat)。
- 多合一仪表盘:glances(跨平台)。安装:sudo apt-get install glances。
- LAMP 专项:
- Apache:启用 mod_status,查看 /server-status 获取当前连接、请求速率、Worker 状态等。
- MySQL:使用 mysqladmin status、SHOW STATUS LIKE ‘Threads_connected’; 、SHOW PROCESSLIST; ,并结合 Performance Schema 做细粒度分析。
二 面向 LAMP 的组件监控要点
| 组件 | 关键指标 | 推荐工具与路径 |
|---|---|---|
| Apache | CPU/内存占用、并发连接数、每秒请求数、响应时间、各站点/虚拟主机流量 | mod_status 页面(/server-status)、htop/glances、日志分析(如 goaccess) |
| MySQL | Threads_connected、Queries/s、Slow_queries、Innodb_buffer_pool_hit_rate、锁等待 | mysqladmin status、SHOW STATUS/LIKE、SHOW PROCESSLIST、Performance Schema |
| PHP-FPM | 进程数、请求队列、慢请求、每个进程内存占用 | pm.status_path(需启用)、htop/glances、日志 |
| 系统 | CPU 利用率、内存与 Swap、磁盘 I/O 与空间、网络吞吐 | top/htop、vmstat、iostat、nmon、sar、glances |
三 集中监控与可视化
-
Prometheus + Grafana(指标采集与可视化)
- 安装与启动:
- Prometheus:sudo apt update & & sudo apt install prometheus & & sudo systemctl enable --now prometheus(默认端口 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 enable --now grafana-server(默认端口 3000)。
- 使用要点:在 Grafana 添加 Prometheus 数据源,导入 Node Exporter(系统指标)、Apache Exporter、MySQL Exporter 等仪表盘,实现统一可视化与告警。
- 安装与启动:
-
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_5.4-1ubuntu20.04_all.deb &
&
sudo apt update;
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent。 - 初始化数据库(示例):
sudo mysql -u root -p →
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER ‘zabbix’@‘localhost’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON zabbix.* TO ‘zabbix’@‘localhost’; FLUSH PRIVILEGES; EXIT; - 启动:sudo systemctl enable --now zabbix-server zabbix-agent。
- 添加仓库并安装: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_5.4-1ubuntu20.04_all.deb &
&
sudo apt update;
- 使用要点:通过 Web 界面完成初始化,添加主机与模板(Linux、Apache、MySQL),配置触发器与告警媒介。
- 安装与初始化:
四 日志与告警实践
- 日志集中与可视化:将 Apache 访问/错误日志、PHP-FPM 日志、MySQL 慢查询日志接入 Grafana Loki + Promtail,在 Grafana 中统一查询与面板展示。
- 告警规则示例(Prometheus):
- 主机高负载:ALERT HighLoad IF 1 - avg by(instance)(rate(node_cpu_seconds_total{ mode=“idle”} [5m])) > 0.8 FOR 5m
- Apache 响应慢:ALERT ApacheHighLatency IF rate(apache_http_request_duration_seconds_sum[1m]) / rate(apache_http_request_duration_seconds_count[1m]) > 1 FOR 2m
- MySQL 连接数过高:ALERT MySQLHighThreadsConnected IF mysql_global_status_threads_connected / mysql_global_variables_max_connections > 0.8 FOR 5m
- 建议:为关键指标设置多级阈值(警告/严重),并配置 邮件/企业微信/钉钉/Slack 等通知渠道,确保问题可被及时响应。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu lamp如何监控资源
本文地址: https://pptw.com/jishu/752783.html
