一、系统资源监控
-
命令行工具
top/htop:实时查看CPU、内存占用及进程状态,支持排序和交互操作。vmstat/iostat:监控虚拟内存、磁盘I/O及CPU使用率。df/du:查看磁盘空间使用情况,定位大文件或目录。netstat/ss:检查网络连接、端口监听状态(如Apache/MySQL端口)。
-
图形界面工具
- 系统自带:Ubuntu系统监控工具(查看CPU、内存、网络等实时数据)。
- 第三方工具:Grafana(搭配Prometheus实现数据可视化)、Zabbix(企业级监控,支持告警)。
二、服务状态管理
-
LAMP组件监控
- Apache:通过
systemctl status apache2查看状态,或使用apachectl configtest检查配置。 - MySQL:使用
systemctl status mysql或mysqladmin ping测试服务可用性。 - PHP-FPM:通过
systemctl status php7.x-fpm(x为版本号)监控进程状态。
- Apache:通过
-
自动化脚本
编写Shell脚本定期检查服务状态,例如:#!/bin/bash if ! systemctl is-active --quiet apache2; then echo "Apache is down!" | mail -s "Server Alert" admin@example.com fi结合
cron定时执行。
三、日志与安全监控
-
日志分析
- 查看Apache错误日志:
tail -f /var/log/apache2/error.log。 - 监控MySQL慢查询:
mysqldumpslow /var/log/mysql/mysql-slow.log。 - 使用
journalctl或logwatch汇总系统日志。
- 查看Apache错误日志:
-
安全工具
Fail2Ban:防止暴力破解,自动封禁异常IP。ufw/iptables:配置防火墙规则,限制端口访问。
四、高级监控方案
- Prometheus+Grafana
- Prometheus采集服务器指标(如CPU、内存、请求延迟),Grafana可视化展示并设置告警规则。
- Zabbix
- 支持主动/被动监控,可配置邮件、短信告警,适合大规模服务器集群。
五、常用命令速查表
| 功能 | 命令 | 说明 |
|---|---|---|
| 查看CPU/内存 | top/htop |
实时动态监控 |
| 查看磁盘空间 | df -h |
显示分区使用率 |
| 查看网络连接 | netstat -tuln/ss -tuln |
查看端口监听状态 |
| 检查服务状态 | systemctl status <服务名> |
管理Apache/MySQL等服务 |