温馨提示×

CentOS VNC如何性能监控

小樊
36
2025-12-29 03:11:20
栏目: 智能运维

CentOS VNC性能监控实操指南

一 监控目标与端口

  • 明确需要关注的维度:VNC服务存活与端口监听、会话数量与用户、CPU/内存/磁盘/网络资源、图形会话日志与异常。
  • VNC默认使用端口为5900 + 显示号(例如显示号**:1对应端口5901**),监控与防火墙策略都应围绕该规则展开。

二 快速检查与实时监控命令

  • 服务与端口
    • 查看服务状态:systemctl status vncserver@:1.service(是否 active/running)。
    • 监听端口:ss -lntp | grep 5901netstat -lnpt | grep Xvnc,确认进程在对应端口监听。
  • 会话与进程
    • 列出会话:vncserver -list(查看已启动的显示号与会话信息)。
    • 资源占用:top/htop(按CPU/内存排序定位异常进程)、ps aux | grep Xvnc(定位VNC相关进程)。
  • 图形会话日志
    • VNC日志:tail -f ~/.vnc/*.log,关注连接、认证失败、会话异常等线索。
  • 系统资源
    • 综合:vmstat 1iostat -x 1free -msar -n DEV 1(CPU、内存、磁盘IO、网络吞吐)。
    • 网络带宽:iftop -P(按连接查看实时带宽占用)。

三 历史数据采集与可视化

  • nmon 采集与分析
    • 实时:nmon(交互式查看CPU、内存、磁盘、网络)。
    • 记录:nmon -fT -s 5 -c 60(每5秒采样,共60次,生成 .nmon 文件)。
    • 分析:将 .nmon 导入 nmon Analyser(Excel 插件)生成图表报告,便于定位瓶颈与回溯。
  • 系统历史与可视化
    • 历史统计:sar -A(需先启用 sysstat 数据收集)。
    • 可视化平台:部署 Prometheus + Grafana,采集 node_exporter 指标并构建VNC/系统仪表盘,实现阈值告警与长期趋势分析。

四 面向VNC的专项检查清单

  • 会话与端口一致性
    • vncserver -list 显示的会话应与 ss -lntp | grep 5901 的监听一一对应;若会话存在但端口未监听,多为会话异常或进程僵死。
  • 资源瓶颈定位
    • 高CPU:检查是否有重绘/特效/大量窗口;必要时切换为轻量级桌面(如 XFCE)并降低分辨率/色深。
    • 高网络:用 iftop 观察单会话带宽,客户端开启压缩、降低色深与分辨率可显著减小流量。
  • 日志与异常
    • 定期 tail ~/.vnc/*.log,关注频繁认证失败、Xorg 报错、会话意外退出等;配合 journalctl -u vncserver@:1.service -f 查看服务级日志。

五 一键巡检脚本示例

#!/usr/bin/env bash
set -e

echo "=== VNC 服务状态 ==="
systemctl is-active --quiet vncserver@:1.service && echo "active" || echo "inactive"

echo -e "\n=== 监听端口 ==="
ss -lntp | grep -E ':(590[0-9])' || echo "无 VNC 端口监听"

echo -e "\n=== 会话列表 ==="
vncserver -list 2>/dev/null || echo "无活动会话"

echo -e "\n=== 资源快照 top5 CPU/MEM ==="
ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head -n 6
ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%mem | head -n 6

echo -e "\n=== 网络占用前5连接 ==="
iftop -t -s 1 -n -N -P | head -n 20 || echo "iftop 未安装或未在 PATH 中"

echo -e "\n=== VNC 日志尾部 ==="
tail -n 50 ~/.vnc/*.log 2>/dev/null || echo "无 VNC 日志"
  • 建议将脚本加入 crontab 定时执行,并将输出重定向到日志文件,便于长期留存与审计。

0