miniRobot
机器本地代理节点。应用场景:
- 即时查询主机信息:推荐
minirobot_info - 本地任务执行和主机监控:推荐
minirobot_manage - 管理远端机器和节点间通信等:推荐
minirobot
基础功能支撑作为机器代理节点,可以作为测试系统执行器、分布式节点通信、后台进程等。
功能
1.本地功能
1.1.查询
本地查询功能以minirobot_info工具的形式提供,可单独使用。
1.1.1.工具部署
提供Linux环境部署指导。工具仅做查询,因查询系统所有进程信息,设置root属主,普通用户执行亦可。
Linux系统
1.1.2.本机信息
- 即时采集主机信息
- 结果支持
json输出
本机采集信息清单:
HostnameOS:typenameversionarch
Cpu:socket、core、threadMemory:Total、SwapDisk:Block devices、Partition size infoNIC:active nic infoNameMACStatusIPv4 addressIPv6 address

1.1.3.本地进程
- 即时查询主机所有进程并返回进程信息
- 支持按
PID和命令关键词过滤 - 支持反向滤除
- 结果支持
json输出
进程信息清单:
- PID
- Exec_Path
- Command
- Full Command

1.2.管理
本地管理功能以工具minirobot_manage形式提供,可单独使用。
1.2.1.工具部署
工具推荐以系统服务的形式部署运行,最高用户权限。
- 对提交到本地的任务(远端节点或者本地触发)进行处理。
1.2.1.本地任务管理
- 消费任务队列,解析任务信息,更新并存储任务日志
- 执行本机命令,获取命令结果、返回信息
- 支持
json输出
1.2.2.主机资源监控
- 磁盘不足监控
- 新增开放端口监控
- 任务异常监控
- 系统资源监控
- 系统气泡告警
2.网络功能
网络功能以工具minirobot形式提供。可单独使用。
2.1.工具部署
工具推荐以系统服务的形式部署运行,普通用户如www-data用户运行即可,不可以最高用户权限运行。
2.2.数据加解密
- 支持
AES256、ChaCha20加解密和签名、验证
2.3.用户认证
- 密码认证
2.4.主机管理
- 支持配置远程主机
- 支持远程主机的
ssh登入 - 支持远程主机的
minirobot服务部署 - 支持远程主机命令执行、结果和输出的读取
2.5.节点管理
- 支持手动配置节点
- 支持自动配置节点
- 探测机器所在局域网内活跃的主机
minirobot对等节点 - 支持节点状态测试
- 支持节点
gRPC通信 - 支持
websocket通信
被集成
系统支持以库的形式调用,提供libminirobot.rlib。包名为minirobot。
use minirobot;
use local;
use network;
use security;
测试
1.单元测试
- 基于
Cargo内置功能编写,执行cargo test自动触发单元测试。
2.集成测试
- 使用
Python3内置unittest测试框架。
用例管理在tests/目录下,当前集成测试有integration_test/。执行流程:
integration_test/
global/setup ->
testsuite/setup
testmodule/setup
testcase1
testcase2
...
testmodule/teardown
testsuite/teardown
global/teardown
不打印详细:

打印详细:

项目开源计划
-
Cargo包平台crate.io -
CompassCI平台测试 -
openEuler社区 -
Linux社区
参与贡献
若有兴趣,非常欢迎fork项目参与贡献。