BMC管理系统是一套运行集群服务器BMC管理单元上的软件系统,BMC管理单元是一块使用RK3399作为主控芯片的控制板(以下简称主板),主板运行Ubuntu 18.04系统,通过网络和USB接口与集群服务器内其它核心板(以下简称子板)进行数据交互,实现对集群服务器各个核心板卡的监测和管理。其软件栈的组成为:
node_exporter: 运行在主板和子板上,负责收集设备的监控数据。
Prometheus: 运行在主板上,负责收集和存储各个设备的监控数据。
Grafana: 运行在主板上,负责监控图表的集中显示。
该方案的优点是,由主板统一布署 node_exporter 到各个设备上(子板的操作系统可以是 Android 或 Ubuntu),以直观的图表方式显示各个子板的资源使用状况。
(1). 登录
外接HDMI显示器:
通过集群服务器的HDMI接口接显示器,接入鼠标键盘,可以登入BMC管理单元Ubuntu系统,打开系统浏览器,在地址栏输入 http://127.0.0.1:3000 并回车即可访问,⽆需任何配置。
使用BMC扫描工具:
通过BMC扫描工具可获取同一局域网内所有的BMC管理系统IP地址,打开工具后会默认扫描一次局域网,也可通过刷新按钮手动扫描,根据软件界面中呈现的BMC管理系统IP地址列表项,点击ACTIONS下相应的 图标即可打开外部浏览器并进入相应IP地址的BMC管理系统登录页面。
BMC系统初始用户名:admin 密码:admin,点击登录按钮,进⼊默认的设备列表页⾯。
(2). 设备列表
登录后默认进入设备列表页面。任何时候需要访问设备列表页面,点击左边工具栏上的 图标即可进入:
这是集群服务器所有设备的列表,每个卡片代表一块设备。
设备列表页面的左上角,有两个下拉列表:
(1). 设备:可以过滤需要显示的设备,这在设备比较多的情况下很有用。
(2). 离线设备:仅供快速查看离线设备的列表。
往下看,这是服务器提供的外设接口图(仅R1 有此面板):4个网口,双层USB,HDMI,OTG,Sim Card,磁盘;
U:LAN 表示:上方黄色的LED灯的亮/灭对应着该设备的网络状态;
D:WORK 表示:下方绿色的LED灯的亮/灭对应着该设备的工作状态;
每个设备卡片,根据状态有不同的显示:
当设备可以通过 adb 访问,并进入正常的操作系统:
卡片顶部左边以绿色字样显示“设备可用”状态,后跟设备的当前操作系统,右边显示的是软件操作系统的版本和硬件版本(硬件版本仅 R2 有);
左边的图标表示核心板的 CPU 型号(CPU 核数和最高频率)、DDR 内存(4G) 和 eMMC 容量(32G);
“sub04”: 表示设备的 SUB 编号;
:点击该按钮进入 Shell 终端窗口;
:点击该按钮进入该设备的资源明细终端窗口;
:点击该按钮重置设备电源;
卡片右边第二行显示该设备的主网络接口的 IP 地址及连接速率,鼠标悬停时会显示所有网络接口地址和速率(目前仅主板有多个网络接口);
四个方块图分别显示 CPU、内存和磁盘的使用率,以及 CPU 的温度。
当设备处于离线状态,即设备由于物理移除、固件失效或操作系统异常等原因导致与主板的 usb 通讯失效时:
卡片顶部以橙色字样显示“设备不可用”状态;
:点击该按钮重置设备电源。
当设备处理维护状态,即设备处于系统升级模式(loader)、固件升级系统(netrecovery)、安卓急救模式(android_recovery)或 ADB 离线(android_offline),将会显示:
卡片顶部以黄色字样显示“设备维护”状态,后跟设备的明细状态。
设备信息均为空,维护状态下不采集监控数据。
:点击该按钮重置设备电源。
(3). 仪表盘列表
在设备列表或其它仪表盘页面中,点击最左上角的仪表盘名称:
可以查看更多的仪表盘:
目前有以下仪表盘:
设备概览
设备明细
CPU 频率与温度监控
在仪表盘页面中,右上角的工具条,可以选择浏览时段,以及多长间隔自动更新。下图就显示最近 6 小时的数据,并每 5 秒更新一次。
点击 按钮可手工刷新监控数据页面显示。
A. 设备概览
通过仪表盘列表,或点击左边工具栏上的 图标即可进入设备概览页面:
设备概览页面将所有设备的 CPU、内存、磁盘和网络这四项数据集中显示在一起:
鼠标悬停在曲线图上即可显示设备的明细数值。
右上的“告警列表”,当 CPU、内存和磁盘超过红色警戒线一段时间,即触发告警动作,例如发送邮件等(此项功能需配置相关参数,待加说明)。
右下的“设备列表”,列出所有在线设备的结点名称和 IP 地址,方便查看。鼠标点击即可查看该设备的设备明细页面。
B. 设备明细
有以下几种方法可以进入设备明细页面:
设备列表页面中点击设备卡上的 按钮;
设备概览页面中点击右边设备列表上的表格项;
通过仪表盘列表进入。
设备明细页面,提供资源的详细监控数据,用户可以选择其中一个设备来查看其详细的资源使用情况。
左上的结点下拉选择框可以切换设备的明细显示,IP 地址即为该设备的所有网络接口的 IP 地址(仅作信息显示之用):
右边的快速工具条,点击即可打开该设备的 Shell 终端窗口:
利用右边的滚动条往下翻,可见更多的监控项:
C. CPU频率与温度监控
CPU 频率与温度监控页面用作开发阶段比对 CPU 频率与 SOC、GPU 温度的关系,看是否会因为风扇散热性能不足导致温度持续上升,进而导致 CPU 强制降频。
RK3399 有 6 个 CPU 核心,分别是小核 03, 大核 45。一般观测大核即可,因为页面空间原因,同一时间只显示一个核心。通过上部的下拉条可以切换核心显示:
(4). Shell终端窗口
有以下几种方法可以进入设备的 Shell 终端窗口:
点击设备列表页面中点击设备卡上的 按钮;
点击设备明细页面右上角的快速工具条
主板的 Shell 终端窗口是主板 Ubuntu 系统下的 root shell,拥有超级用户的权限,可以执行各种系统维护命令,以及通过 adb 去操作各个子板。
子板的 Shell 终端窗口是 adb shell,可以运行 su 命令切换成 root 用户。
为方便管理,Firefly 集群监控系统引进命令行管理工具 bmc,能快速地进行各种日常子板操作和批量操作,详情请参见《bmc 命令行工具》一章。
(5). 子板固件升级
准备工作:
重要 : 主板和要升级的子板都需要获得有效的 DHCP IP 地址,请务必插好网线。
集群服务器的 OTG USB 口与外部 PC 机的连接必须断开。
固件需要以 “.img” 扩展名结尾,并放到主板的 /home/firefly/Firmware 目录里。
点击左边工具栏上的 图标即可进入子板固件升级页面:
点击右上角的按钮 进入“新增子板固件升级”页面:
选择升级固件,在下拉列表中选择即可。
选择升级设备:左边是可用的设备列表,右边则是待升级的设备列表。
若要升级所有的设备,按“添加全部”按钮,可将所有的可用设备添加到右边的列表中。
若要升级一两个设备,直接鼠标双击对应的设备,可将单个设备添加到右边的列表中。
设备列表上方的编辑框是做筛选之用,可快速筛选出需要的设备。
按“删除全部”按钮,可清空待升级的设备列表。
Ctrl+鼠标点击,可以增加或删除单个设备的选择;Shift+鼠标点击则可以增加或删除连续设备的选择。这跟 Windows 上的列表选择操作是一致的。选择设备后,按相应的“添加”或“删除”按钮即可将设备添加或移除到待升级的设备列表。
按“升级固件”按钮,即可开始固件升级。
刚提交的页面是这样的:
固件的升级时间较长(涉及到后台一系列切换和读写操作),请耐心等待。后台是隔 15 秒刷新一次进度,界面会显示如下的进度页面:
左边是升级设备和进度列表。
右上是升级进度折线图。
右下即是已完成的设备列表(包括成功和出错的)。
(6). 修改密码
鼠标移到左下角用户头像,在弹出菜单中选择“修改密码”:
输入旧密码、新密码和确认新密码,最后按“修改密码”按钮即可。
(7). BMC 升级
鼠标移至左下角的帮助图标:
在弹出菜单中选择“检查更新”。如果 BMC 有新版本,将会弹出对话框,并显示更新日志:
点击对话框右上角的“安装”按钮,系统将会自动下载安装包、安装并自动刷新界面。
原作者:Firefly Team