首页主机资讯虚拟机ubuntu如何进行系统监控

虚拟机ubuntu如何进行系统监控

时间2025-11-29 02:38:03发布访客分类主机资讯浏览302
导读:虚拟机 Ubuntu 系统监控实操指南 一 快速上手 内置与常用命令 实时进程与资源:top、htop(更直观,支持按键筛选与树形视图)。 综合资源:vmstat(虚拟内存、进程、CPU)、iostat(磁盘 I/O)、dstat(CPU...

虚拟机 Ubuntu 系统监控实操指南

一 快速上手 内置与常用命令

  • 实时进程与资源:tophtop(更直观,支持按键筛选与树形视图)。
  • 综合资源:vmstat(虚拟内存、进程、CPU)、iostat(磁盘 I/O)、dstat(CPU/内存/磁盘/网络多合一)、nmon(交互式查看 CPU、内存、磁盘、网络)。
  • 历史与报表:sar(配合 sysstat 收集/回放系统活动)、glances(跨平台,支持 Web 模式)。
  • 安装与常用命令示例:
    • 安装常用工具:sudo apt update & & sudo apt install -y htop sysstat dstat nmon glances
    • 实时与间隔采样:top;htop;vmstat 2;iostat -x 1;dstat -ta 5;nmon;glances
    • 历史查看:sar -u(CPU)、sar -d(磁盘),需先启用 sysstat 的数据收集服务

二 进阶监控 服务与日志

  • 服务可用性:使用 systemd 管理并观察服务状态与自恢复
    • 查看状态:sudo systemctl status nginx
    • 失败自动重启:在单元文件 Service 段设置 Restart=always,然后 sudo systemctl enable --now nginx
  • 资源与服务监控:monit
    • 安装:sudo apt install -y monit
    • 配置示例(/etc/monit/conf.d/myapp.conf):
      • check process myapp with pidfile /var/run/myapp.pid
      • start program = “/usr/bin/systemctl start myapp”
      • stop program = “/usr/bin/systemctl stop myapp”
      • if memory > 200 MB for 5 cycles then alert admin@example.com
    • 启动:sudo systemctl enable --now monit
  • 日志与内核消息:tail -f /var/log/syslog;dmesg | less(内核启动与驱动信息)

三 宿主机侧监控 虚拟机资源视角

  • VMware
    • Workstation:在 VM → Summary 查看 CPU、内存、磁盘 等概览
    • vSphere/vCenter:在 vSphere Client 查看每台虚拟机的 资源使用、硬件配置、网络
  • VirtualBox
    • 图形界面:选中虚机,右侧面板查看 系统版本、内存、存储
    • 命令行:VBoxManage showvminfo “VM name”(可见 NumberOfCPUs、Memory size、CPU exec cap 等)
  • libvirt/QEMU/KVM(含 Quickemu 场景)
    • 列出域:virsh list
    • 查看虚机统计:virsh domstats (含 CPU、内存、磁盘、网络等多维指标)
    • QEMU Monitor:开启监控后(如 --monitor telnet),telnet localhost 4440,执行 info stats(可加 --json 便于脚本解析)

四 集中监控与告警 可视化与平台化

  • 企业级平台:Zabbix(通过 Zabbix Agent 采集 Ubuntu 指标,支持图表、告警、自动发现)
  • 时序与可视化:Prometheus + Grafana
    • Prometheus 负责采集与存储时间序列数据,Grafana 负责仪表板与告警展示
    • 适用多虚机/多主机的统一监控与容量规划
  • 轻量/远程:Glances 支持 Web 模式,便于临时或轻量化集中查看
    • 启动示例:glances -w(默认端口 61208

五 告警脚本与阈值示例

  • CPU 阈值告警脚本(阈值 80%,每分钟检查一次)
    • 脚本 cpu_monitor.sh:
      • #!/bin/bash THRESHOLD=80 EMAILS=“admin@example.com” NOW=$(date ‘+%F %T’) CPU_USAGE=$(top -bn1 | grep “Cpu(s)” | sed “s/., ([0-9.])% id.*/\1/” | awk ‘{ print 100 - $1} ’) if (( $(echo “$CPU_USAGE > $THRESHOLD” | bc -l) )); then echo “$NOW - CPU 使用率:$CPU_USAGE%” | mail -s “CPU 使用率报警” $EMAILS fi
    • 赋权与定时:chmod +x cpu_monitor.sh;crontab -e 加入
                • /path/cpu_monitor.sh > > /path/cpu_monitor.log 2> & 1
  • 磁盘 I/O 关注要点(iostat)
    • iostat -x 1 观察 %util(设备利用率,接近 100% 表示饱和)与 await(I/O 等待时间,过高表示瓶颈)

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 虚拟机ubuntu如何进行系统监控
本文地址: https://pptw.com/jishu/759763.html
Ubuntu Jenkins与其他CI/CD工具比较 Jenkins如何在Ubuntu上进行远程控制

游客 回复需填写必要信息