1. 通过influxdb的组件Telegraf,直接写入数据到vm时序数据库中(vm支持influxdb协议写入)
2.通过grafana读取vm时序数据库,以prometheus协议读取vm时序数据库。
3.vm可以作为prometheus时序数据的长久存储。
数据流过程为
首先,启动vm时序数据库
首次启动会拉取最新vm镜像
docker run -it --name vm -v /Users/admin/local_dir/victoria-metrics/victoria-metrics-data:/victoria-metrics-data -p 8428:8428 victoriametrics/victoria-metrics
执行命令后,会启动vm时序数据库,启动8428端口
再次启动vm的命令
docker start vm
在mac电脑安装influxdb的telegraf组件
cd "$(brew --repo)" git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git brew update brew install telegraf
编写telegraf使用的输入输出文件,telegraf2vm.conf
[agent] interval = "500ms" flush_interval = "500ms" [[inputs.cpu]] percpu = false totalcpu = true [[outputs.influxdb]] urls = ["http://localhost:8428"]
上面的配置文件,input是读取本地mac电脑的cpu相关指标数据,output是将数据写入vm数据库中,8248是vm数据库启动后的端口。
启动telegraf 代理,将数据写入vm
telegraf -config telegraf2vm.conf
启动grafana,对于mac电脑下载darwin版本的grafana,我实验使用的版本为grafana-8.1.2.darwin-amd64.tar.gz。
cd ~/local_dir/tools/grafana-8.1.2/bin ./grafana-server
添加数据源的时候,选择prometheus
配置vm的地址作为promethes的数据源,本地vm启动的是8428端口。
创建一个面板,配置vm-datasource,选中指标,展示结果
参考文档
How to send data from InfluxDB-compatible agents such as Telegraf
如何从兼容 InfluxDB 的代理(例如 Telegraf)发送数据
https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-send-data-from-influxdb-compatible-agents-such-as-telegraf



