记录一下一个Telemetry的demo,使用pipeline+influxDB+Grafana,构建一个可视化监控。
- pipeline: 用于采集设备的telemetry信息。
- influxDB: 使用数据库的方式存储telemetry采集到的信息
- Grafana: 将数据库采集的信息图像化输出.
安装与配置
Pipeline:
使用的是“bigmuddy-network-telemetry-pipeline”,bigmuddy-network-telemetry-pipeline 这个项目被存档了, 我fork了下, 所以可以使用以下的命令去get 这个项目:
git clone https://github.com/xuxing3/bigmuddy-network-telemetry-pipeline.git
配置文件如下:
[root@xuxing239 bigmuddy-network-telemetry-pipeline]# grep -v ^# pipeline-influxdb.conf | grep -v ^$
[default]
id = pipeline
metamonitoring_prometheus_resource = /metrics
metamonitoring_prometheus_server = :8989
[testbed]
stage = xport_input
type = tcp
encap = st
listen = :5432 <<<< 监听5432 端口, 可以更改
[inspector]
stage = xport_output
type = tap
file = /opt/dump-xuxing.txt <<<<<采集到的 telemetry的数据存储的位置
datachanneldepth = 1000
[metrics_influx]
stage = xport_output
type = metrics
file = metrics-nms.json <<<<<< 将采集到telemetry 的信息使用该文件定义的格式, 格式化输出到influxdb
dump = metrics-dump-xuxing.txt <<<< 格式化输出之前会dump一份数据存储在该文件中
output = influx
influx = http://10.70.80.197:8086 <<<<<<< influxdb, 默认端口为8086
database = mdt_db <<<<<<< 定义infludb 那个数据库用于存储telemetry信息