vm时序数据库-导入数据
時間序列數據可以通過任何支持的攝取協議導入:
- Prometheus remote_write API. See?these docs?for details.
- DataDog?submit metrics?API. See?these docs?for details.
- InfluxDB line protocol. See?these docs?for details.
- Graphite plaintext protocol. See?these docs?for details.
- OpenTSDB telnet put protocol. See?these docs?for details.
- OpenTSDB http?/api/put?protocol. See?these docs?for details.
- /api/v1/import?for importing data obtained from?/api/v1/export. See?these docs?for details.
- /api/v1/import/native?for importing data obtained from?/api/v1/export/native. See?these docs?for details.
- /api/v1/import/csv?for importing arbitrary CSV data. See?these docs?for details.
- /api/v1/import/prometheus?for importing data in Prometheus exposition format. See?these docs?for details.
Flink與vm時序數據庫結合(一)_forrest420的專欄-CSDN博客
是flink利用InfluxDB line protocol寫入vm中,后續應用性更大。
如何以vm原生格式導入數據
?雖然最高效,但是當前未完善。
如何以 JSON 行格式導入數據
導入通過 /api/v1/export 獲取的數據的示例:
# Export the data from <source-victoriametrics>: curl http://source-victoriametrics:8428/api/v1/export -d 'match={__name__!=""}' > exported_data.jsonl# Import the data to <destination-victoriametrics>: curl -X POST http://destination-victoriametrics:8428/api/v1/import -T exported_data.jsonl構造數據:
cat exported_data.jsonl {"metric":{"__name__":"galaxy_uptime","instance":"m1"},"values":[8],"timestamps":[1634625140000]}執行導入命令,附帶額外的tag,foo=bar,
通過傳遞 extra_label=name=value 查詢參數,可以將額外的標簽添加到所有導入的時間序列。 例如, /api/v1/import?extra_label=foo=bar 會將 "foo":"bar" 標簽添加到所有導入的時間序列。
curl -X POST http://localhost:8428/api/v1/import\?extra_label\=foo\=bar -T exported_data.jsonlgrafana中的點 ,實際數據只有一個,其他的點是默認補填的。
將 Content-Encoding: gzip HTTP 請求頭傳遞到 /api/v1/import 以導入 gzip 數據:
# Export gzipped data from <source-victoriametrics>: curl -H 'Accept-Encoding: gzip' http://source-victoriametrics:8428/api/v1/export -d 'match={__name__!=""}' > exported_data.jsonl.gz# Import gzipped data to <destination-victoriametrics>: curl -X POST -H 'Content-Encoding: gzip' http://destination-victoriametrics:8428/api/v1/import -T exported_data.jsonl.gz請注意,可能需要在導入歷史數據后刷新響應緩存。 有關詳細信息,請參閱這些文檔。
VictoriaMetrics 一一解析輸入的 JSON 行。 它將整個 JSON 行加載到內存中,然后對其進行解析,然后將解析后的樣本保存到持久存儲中。 這意味著在導入過長的 JSON 行時,VictoriaMetrics 可能會占用大量 RAM。 解決方案是將太長的 JSON 行拆分為更小的行。 如果將單個時間序列的樣本拆分到多個 JSON 行中,則沒有問題。
如何導入 CSV 數據
拼接負載,不易閱讀。
如何導入 Prometheus exposition 格式的數據
VictoriaMetrics 通過 /api/v1/import/prometheus 路徑接受 Prometheus exposition 格式和 OpenMetrics 格式的數據。 例如,以下行將 Prometheus exposition 格式的一行導入到 VictoriaMetrics 中:
curl -d 'foo{bar="baz"} 123' -X POST 'http://localhost:8428/api/v1/import/prometheus'以下命令可用于驗證導入的數據:
curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"foo"}'如果 <metric> <value> <timestamp> Prometheus exposition format 行中缺少時間戳,則在數據攝取期間使用當前時間戳。 它可以通過時間戳查詢 arg 以毫秒為單位傳遞 unix 時間戳來覆蓋。 例如,/api/v1/import/prometheus?timestamp=1594370496905。
參考
https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-import-time-series-data如何導入時序數據到vm中
總結
以上是生活随笔為你收集整理的vm时序数据库-导入数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国内常用公共DNS服务器、各省运营商DN
- 下一篇: 父爱,是一首深沉的诗。