Shallow API手册

概述与介绍

Shallow API是基于RouterOS的API接口搭建的一个管理平台,主要用于本地网络的RouterOS设备管理(也可以通过隧道远程管理),能同时管理多台RouterOS设备。目前具备实时监控功能、通知报警和命令执行等,其他功能还在开发中...

由于个人的开发经验非常的浅薄,也希望使用者感觉到简单易用,所以使用shallow这个名称来定义项目!

仪表盘:

运行建议

1、API对接主要适配RouterOS v7,建议v7.18+以上版本,读取的参数更兼容;

2、在RouterOS的container运行,已经测试在基于RouterOS v7.17+的hAP ax3,RB5009,RB450x4,CHR,x86等硬件。也可以通过docker import命令导入在Linux 容器运行;

3、在RouterOS的RB、CRS和CCR设备运行时,API获取数据CPU消耗较低,主要是前端页面刷新时CPU消耗较高,如RB450x4(IPQ-4019 arm32 4核心)在刷新页面时CPU消耗在40%左右,仅停留在仪表盘或设备状态观察页面时CPU消耗在7-10%左右。

4、基于RouterOS的容器运行,最好分配5GB的存储空间,给采集的数据提供一定的存储。默认使用Sqlite数据库,可以通过config.json配置文件,切换到外部的Mysql数据库。

警告:在 MikroTik 硬件上运行 container 容器,请不要使用本地 ROM 存储运行,选择外挂存储运行容器,如microSD卡,USB扩展或NVME扩展等。因为本地 ROM 存储反复擦写会导致 NAND 寿命快速减少。如果是CHR的虚拟机可以在本地存储部署。

版本介绍

Shallow API v0.0.7beta22:

1、新增策略管理包括:
     * 监控策略 - 监控策略用于对指定RouterOS设备创建监控策略,当前支持系统信息如:CPU使用率、内存使用率、硬盘使用率、PPP在线数、DHCP客户端在线数、ARP连接数、Wi-Fi客户端连接数、NAT会话连接数、CPU温度和主板温度监控。网络接口数据如:网络接口的Tx/Rx 速率,Tx/R Bytes统计,协商速率状态、连接状态link-ok/no-link等,然后选择调用通知策略。
     * 通知策略 - 通知策略可以创建email,Webhook、API脚本和日志记录操作
     * Webhook - 创建Webhook通知,当前支持企业微信和钉钉
     * API命令 - 将RouterOS的CLI命令行转换为API命令发送给RouterOS,不支持RouterOS Script脚本
     * 计划任务 - 设置定时的计划任务,执行API脚本命令
2、新增设备分组 - 支持对RouterOS设备分组/区域管理,根据不同区域运行API命令脚本
3、系统新增系统设置 - 主要新增smtp服务器设置,以及RouterOS设备连接和断开通知功能    
4、优化Web页面UI

Shallow API v0.0.7beta23:

1、增加监控策略触发次数 - 允许在触发多少次后在执行通知策略
2、增加监控策略显示执行次数 - 能看到执行通知策略
3、设备状态查看的UI - 让状态页面更紧凑
4、增加网络接口图标 - 能看到各种网络接口连接的状态,以太网接口的速率