Shallow API手册

2.1 安装到RouterOS容器

安装环境

RB450Gx4作为网关,内网地址段是192.168.12.1/24,内网用户地址段是192.168.12.0/24,Shallow API容器配置172.17.0.2/24的IP地址

RB450Gx4部署

在/system/resource可以查看硬件和系统信息,如下:

RB450Gx4有512MB的ROM硬盘空间,RAM有1GB,CPU是IPQ4018 880MHz,能正常运行Shallow API。

⚠️警告:以上只是一个测试,非常不建议将Container容器部署到路由器本地的ROM中,因为Shallow API会频繁读写,导致ROM寿命很快被擦写完,因此需要使用外部存储,例如安装microSD卡、U盘扩展等!

注:将Shallow API基于Container方式部署到RB450Gx4(IPQ-4019 arm 4核心),Shallow API的web在刷新页面时CPU消耗在40%左右,在后台自动获取数据时,在仪表盘或设备状态观察CPU消耗在7-10%左右。
上传tar文件

上传Docker的shallowapiarm_xxx.tar镜像文件,RB450Gx4是arm的CPU(上面的图可以看到CPU:ARM),选择arm版本的镜像。然后打开Winbox 4,将镜像文件拖到到File的根目录下。

等待上传完成

上传完成后,可以看到shallowapiarm_007beta22.tar

创建Veth网卡

进入/interface/veth创建一个虚拟机以太网卡,

设置IP地址为address=172.17.0.2/24,网关gateway=172.17.0.1

创建docker网桥

还是按照MikroTik官方步骤,第一步创建一个docker的桥接,进入bridge目录,点击New创建一个bridge网桥,取名为docker

将veth1加入到docker网桥,即从属于docker网桥,进入/bridge/port,点击new新建端口,选择interface=veth1,bridge=docker

创建docker IP地址

进入/ip/address创建docker配置docker网桥的IP地址,设置与veth1网卡中设置的网关地址172.17.0.1,注意需要设置子网掩码/24,完整的配置是

/ip/address/add address=172.17.0.1/24 interface=docker

如下图:


Container配置

然后进入container目录,创建 Shallow API 容器,进入Envs创建一个时区环境,设置TZ为Asia/Shanghai

在Container目录下点击New创建新的容器

最简单的部署配置

如果需要记录日志和RouterOS开机自动启动shallow API,可以如下设置

然后点击ok,此时会创建,flag状态是【S】,即Stop,如果是【E】说明Container还在解压中,需要等待解压完成,变为【S】

点击Start启动Shallow API容器

启动后可以看到flag变为【R】

点击Shallow API可以看到具体运行状态

登录shallow API

浏览器访问http://172.17.0.2:6636,能打开下面的页面,说明Shallow API启动成功

默认账号是:admin,密码是:123456

检查需要被管理的RouterOS是否开启API服务,进入/ip/service确认api/api-ssl服务器是启用,根据你的需求选择api或api-ssl。

Shallow API 连接 RouterOS

登录后,进入设备管理:

可以【添加新设备】,ROS连接地址为IP+API端口,填写ROS账号和密码,连接模式选择API或API-SSL,设备分组选择default

添加成功后,然后刷新下页面,可以看到API连接是【在线】

点击【查看】可以看到设备的运行状态