基于Prometheus快速搭建网络质量监控平台
前言
针对一些临时搭建的网络场景(例如:各种临时发布会,演唱会等),为了检验网络质量的以及确保管理员在网络出现异常情况时可以及时发现,需要部署一套监控软件用于网络设备的监控。然而,由于是临时搭建的网络,专门部署一整昂贵的监控软件显得不太现实,同时专业的监控软件无法在短时间内完成部署验收。对此,本方案主要通过Prometheus+grafana的方式,快速搭建一套临时可用的监控软件,从而实现对临时网络环境的实时监控。
原理介绍
本方案的实现原理主要通过Prometheus模组进行数据采集和告警(Prometheus的告警功能在之前的其他方案中章节已经详细讲过,这里不做赘述),通过grafana进行数据展示,从而实现整体的展示效果,具体如下:
如上图所述,prometheus
主要通过对应的采集模组snmp-exporter
实现对网络设备的适配采集工作,Prometheus
通过向snmp-exporter
发送采集指令触发snmp-exporter
的采集动作,并将采集结果返回给prometheus
,Prometheus
通过对结果进行解析并入库,同时将根据rules规则,将触发告警的事件推送到alertmanager
应用实现告警功能;而grafana
则是作为一个数据展示入口,通过将数据源设置为prometheus
,grafana
可以从prometheus
中获取相关维度的监控数据,并通过自身进行可视化展示。
实施部署流程
前置条件
- 提供相关服务器及对应
root
用户访问权限 - 服务器到网络设备
icmp
、snmp
可达 - 服务器上包含
docker
环境(若不包含,则需要手动搭建部署docker环境)
部署过程
- 上传镜像安装包到服务器的数据盘(例如: /opt)并解压,解压后可以得到
grafana
、network_prometheus
、snmp_exporter
三个目录应用,其中snmp-exporter
是对应snmp采集器,network_prometheus
作为业务组件和数据库,grafana
作为数据可视化展示平台。
- 加载
snmp_exporter
镜像(文件名包含"image"关键字的文件)并启动应用
shell
cd snmp_exporter
docker load -i snmp.image.tgz
docker-compose up -d
ps: 针对未适配oid的设备型号,可以通过
snmp_exporter/snmp.yml
配置文件添加对应型号和oid采集实现。
- 加载
network_prometheus
镜像并启动应用
shell
cd network_prometheus
docker lod -i prom.images.tgz
docker-compose up -d
- 配置监控对象,可以通过
network_prometheus/prometheus.yml
配置文件配置要监控的设备以及对应的监控指标
shell
vim prometheus.yml
- 加载
grafana
镜像并启动应用
shell
cd grafana
docker lod -i grafana.image.tgz
docker-compose up -d
-
登录grafana并导入数据模板
- 登录grafana,默认用户名密码"admin/admin"
2. 首页点击进入【Home→dashboard】
3. 点击【NEW→Import】
4. 将"grafana导入模板.json"文件拖动到文件上传区域
至此,安装完成。