全平台机器本地代理节点。应用场景:
- 即时查询主机信息:推荐
minirobot_info
- 本地任务执行和主机监控:推荐
minirobot_manage
- 管理远端机器和节点间通信等:推荐
minirobot
基础功能支撑作为机器代理节点,可以作为测试系统执行器、分布式节点通信、后台进程等。
sudo apt-get install libmysqlclient-dev
本地查询功能以minirobot_info
工具的形式提供,可单独使用。
提供Linux
环境部署指导。工具仅做查询,因查询系统所有进程信息,设置root
属主,普通用户执行亦可。
Linux
系统
sudo cp minirobot_info /usr/local/bin/
sudo chown root:root /usr/local/bin/minirobot_info
sudo 4755 /usr/local/bin/minirobot_info # setuid位,执行以文件所有者权限执行
- 即时采集主机信息
- 结果支持
json
输出
本机采集信息清单:
Hostname
OS
:type
name
version
arch
Cpu
:socket
、core
、thread
Memory
:Total
、Swap
Disk
:Block devices
、Partition size info
NIC
:active nic info
Name
MAC
Status
IPv4 address
IPv6 address
- 即时查询主机所有进程并返回进程信息
- 支持按
PID
和命令关键词过滤 - 支持反向滤除
- 结果支持
json
输出
进程信息清单:
- PID
- Exec_Path
- Command
- Full Command
本地管理功能以工具minirobot_manage
形式提供,可单独使用。
工具推荐以系统服务的形式部署运行,最高用户权限。
- 对提交到本地的任务(远端节点或者本地触发)进行队列处理
- 消费任务队列,解析任务信息,更新并存储任务日志
- 执行本机命令,获取命令结果、返回信息
- 支持
json
输出
- 磁盘不足监控
- 新增开放端口监控
- 任务异常监控
- 系统气泡告警
网络功能以工具minirobot
形式提供。可单独使用。
工具推荐以系统服务的形式部署运行,普通用户如www-data
用户运行即可,不可以最高用户权限运行。
- 支持
AES256
、ChaCha20
加解密和签名、验证
- 密码认证
- 支持配置远程主机
- 支持远程主机的
ssh
登入 - 支持远程主机的
minirobot
服务部署 - 支持远程主机命令执行、结果和输出的读取
- 支持手动配置节点
- 支持自动配置节点
- 探测机器所在局域网内活跃的主机
minirobot
对等节点 - 支持节点状态测试
- 支持节点
gRPC
通信 - 支持
websocket
通信
系统支持以库的形式调用,提供libminirobot.rlib
。包名为minirobot
。
use minirobot;
use minirobot::local;
use minirobot::network;
use minirobot::security;
- 基于
Cargo
内置功能编写,执行cargo test
自动触发单元测试。
- 使用
Python3
内置unittest
测试框架。
用例管理在tests/
目录下,当前集成测试有integration_test/
。执行流程:
integration_test/
global/setup ->
testsuite/setup
testmodule/setup
testcase1
testcase2
...
testmodule/teardown
testsuite/teardown
global/teardown
-
Cargo
包平台: minirobot -
CompassCI
平台测试 -
openEuler
社区 -
Linux
社区
若有兴趣,非常欢迎fork
项目参与贡献。