在 Linux 系统中,有许多监控软件可以用于系统性能、应用程序运行状态、网络流量、资源使用情况等。以下是一些常用的 Linux 监控工具,按功能分类列出:
✅ 一、系统性能监控
1. top / htop
- 用途:实时监控系统资源(CPU、内存、磁盘、网络等)使用情况。
- 推荐:
htop更直观,支持颜色显示和更丰富的功能。 - 命令:
htop
2. vmstat
- 用途:监控系统虚拟内存、CPU、I/O、进程等。
- 命令:
vmstat
3. iostat
- 用途:监控磁盘 I/O 情况(读写、等待时间等)。
- 命令:
iostat -x 1
4. mpstat
- 用途:监控 CPU 使用情况,支持多核 CPU。
- 命令:
mpstat -P ALL 1
5. glances
- 用途:实时监控系统资源(CPU、内存、磁盘、网络等)。
- 命令:
glances
✅ 二、应用程序监控
1. ps / psutil
- 用途:监控进程状态、资源使用情况(CPU、内存、磁盘、网络等)。
- 命令:
ps -ef psutil
2. lsof
- 用途:查看打开的文件和进程信息。
- 命令:
lsof
3. netstat / ss
- 用途:监控网络连接、监听端口、活跃连接等。
- 命令:
netstat -antp ss -antp
4. iftop / nethogs
- 用途:监控网络流量(
iftop)或网络带宽使用(nethogs)。 - 命令:
iftop nethogs
✅ 三、日志监控
1. journalctl
- 用途:查看系统日志(
systemd日志)。 - 命令:
journalctl -b journalctl -u <service_name>
2. logrotate
- 用途:管理日志文件的轮转和归档。
- 命令:
logrotate /var/log/*.log
✅ 四、网络监控
1. nmap
- 用途:扫描网络中的主机和端口。
- 命令:
nmap -sT 192.168.1.0/24
2. tcpdump
- 用途:捕获网络流量(需 root 权限)。
- 命令:
tcpdump -i eth0 -n -s 0
✅ 五、性能分析工具
1. perf
- 用途:性能分析工具,用于分析 CPU、内存、I/O 等性能。
- 命令:
perf top perf record -a -g -e cpu-clock:100ns perf report
2. perfmon
- 用途:监控系统性能指标(如 CPU、内存、磁盘等)。
- 命令:
perfmon
✅ 六、可视化监控工具
1. Grafana
- 用途:可视化监控数据(支持多种数据源,如 Prometheus、Zabbix、LNMP 等)。
- 部署:需安装并配置 Grafana 和数据源。
2. Prometheus
- 用途:监控系统指标,支持与 Grafana 集成。
- 命令:
prometheus
3. Zabbix
- 用途:企业级监控工具,支持多平台监控。
- 命令:
zabbix_get -s <host_ip> -k <key>
✅ 七、第三方工具
1. sysstat
- 用途:提供多种系统监控工具(如
sar、mpstat、vmstat等)。 - 命令:
sudo apt install sysstat sar -u 1
2. Cacti
- 用途:网络监控工具,用于监控网络流量和设备状态。
- 命令:
cacti
✅ 八、监控脚本工具
1. watch
- 用途:实时监控命令输出(如
watch top)。 - 命令:
watch -n 1 top
2. monit
- 用途:监控服务状态,自动重启、告警。
- 命令:
sudo apt install monit monit status
✅ 总结
| 工具 | 用途 |
|---|---|
top / htop |
系统资源监控 |
vmstat |
系统虚拟内存监控 |
iostat |
磁盘 I/O 监控 |
glances |
实时系统监控 |
ps / psutil |
进程监控 |
nethogs |
网络带宽监控 |
journalctl |
系统日志监控 |
perf |
性能分析 |
Grafana |
可视化监控 |
Prometheus |
指标监控 |
Zabbix |
企业级监控 |
sysstat |
系统监控工具 |
monit |
服务监控 |
如果你有特定的监控需求(如监控某个服务、网络流量、系统资源等),可以告诉我,我可以推荐更具体的工具或脚本。