为什么不试试用 Mikrotik_exporter 来监控你的 RouterOS 呢?
为了更方便我监控 RouterOS,嘿嘿嘿,我找到了这个,mikrotik-exporter
配置 Mikrotik
添加 Prometheus 用户
创建有 api 且 read only 的用户组
1 | /user group add name=prometheus policy=api,read,winbox |
(optional)如果有 lte 的话要再加一个 test
1 | /user group add name=prometheus policy=api,read,winbox,test |
创建用户,记得改密码
1 | /user add name=prometheus group=prometheus password=changeme |
监控单台设备
1 | ./mikrotik-exporter -address 10.10.0.1 -device my_router -password changeme -user prometheus |
-address 后是你 RouterOS 的地址,-device 后是给它起的标签名,后面是密码和用户名
监控多台设备
使用配置文件启动
1 | ./mikrotik-exporter -config-file config.yml |
样例 config.yml
1 | devices: |
然后配置 Prometheus
1 | vi Prometheus-configmap.yaml |
在 scrape_configs 后面加上
1 | - job_name: 'RouterOS_exporter' |
targets 后面加上 mikrotik_exporter 运行的机子的 ip
热加载更新:
1 | curl -XPOST http://<your-address>:<port>/-/reload |
在 Prometheus 的 Target 中看到它没什么问题的话
就可以在 Grafana 中添加仪表盘啦
Mikrotik Exporter 仪表盘代码:10950
Synology 群晖推荐 Dashboard: 14284
可能发生的问题
http 500 error 或者 UTF-8 invaild
在我遇到的情况,多半是 RouterOS 中的接口的 comment 有中文备注且混杂不是 UTF-8 的编码,只需要去把 RouterOS 上的中文去掉或者改成英文就 ok 了
同时要保证网络通畅