mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
docs: mention about /api/v1/import
in Single-server-VictoriaMetrics.md
This commit is contained in:
parent
033d252836
commit
e81a2bfdb3
1 changed files with 33 additions and 4 deletions
|
@ -34,11 +34,12 @@ Cluster version is available [here](https://github.com/VictoriaMetrics/VictoriaM
|
||||||
* Storage is protected from corruption on unclean shutdown (i.e. OOM, hardware reset or `kill -9`) thanks to [the storage architecture](https://medium.com/@valyala/how-victoriametrics-makes-instant-snapshots-for-multi-terabyte-time-series-data-e1f3fb0e0282).
|
* Storage is protected from corruption on unclean shutdown (i.e. OOM, hardware reset or `kill -9`) thanks to [the storage architecture](https://medium.com/@valyala/how-victoriametrics-makes-instant-snapshots-for-multi-terabyte-time-series-data-e1f3fb0e0282).
|
||||||
* Supports metrics' ingestion and [backfilling](#backfilling) via the following protocols:
|
* Supports metrics' ingestion and [backfilling](#backfilling) via the following protocols:
|
||||||
* [Prometheus remote write API](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write)
|
* [Prometheus remote write API](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write)
|
||||||
* [InfluxDB line protocol](https://docs.influxdata.com/influxdb/v1.7/write_protocols/line_protocol_tutorial/)
|
* [InfluxDB line protocol](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#how-to-send-data-from-influxdb-compatible-agents-such-as-telegraf)
|
||||||
* [Graphite plaintext protocol](https://graphite.readthedocs.io/en/latest/feeding-carbon.html) with [tags](https://graphite.readthedocs.io/en/latest/tags.html#carbon)
|
* [Graphite plaintext protocol](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#how-to-send-data-from-graphite-compatible-agents-such-as-statsd) with [tags](https://graphite.readthedocs.io/en/latest/tags.html#carbon)
|
||||||
if `-graphiteListenAddr` is set.
|
if `-graphiteListenAddr` is set.
|
||||||
* [OpenTSDB put message](http://opentsdb.net/docs/build/html/api_telnet/put.html) if `-opentsdbListenAddr` is set.
|
* [OpenTSDB put message](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#sending-data-via-telnet-put-protocol) if `-opentsdbListenAddr` is set.
|
||||||
* [HTTP OpenTSDB /api/put requests](http://opentsdb.net/docs/build/html/api_http/put.html) if `-opentsdbHTTPListenAddr` is set.
|
* [HTTP OpenTSDB /api/put requests](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#sending-opentsdb-data-via-http-apiput-requests) if `-opentsdbHTTPListenAddr` is set.
|
||||||
|
* [/api/v1/import](#how-to-import-time-series-data)
|
||||||
* Ideally works with big amounts of time series data from Kubernetes, IoT sensors, connected cars, industrial telemetry, financial data and various Enterprise workloads.
|
* Ideally works with big amounts of time series data from Kubernetes, IoT sensors, connected cars, industrial telemetry, financial data and various Enterprise workloads.
|
||||||
* Has open source [cluster version](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/cluster).
|
* Has open source [cluster version](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/cluster).
|
||||||
|
|
||||||
|
@ -69,6 +70,7 @@ Cluster version is available [here](https://github.com/VictoriaMetrics/VictoriaM
|
||||||
- [How to work with snapshots?](#how-to-work-with-snapshots)
|
- [How to work with snapshots?](#how-to-work-with-snapshots)
|
||||||
- [How to delete time series?](#how-to-delete-time-series)
|
- [How to delete time series?](#how-to-delete-time-series)
|
||||||
- [How to export time series?](#how-to-export-time-series)
|
- [How to export time series?](#how-to-export-time-series)
|
||||||
|
- [How to import time series data?](#how-to-import-time-series-data)
|
||||||
- [Federation](#federation)
|
- [Federation](#federation)
|
||||||
- [Capacity planning](#capacity-planning)
|
- [Capacity planning](#capacity-planning)
|
||||||
- [High availability](#high-availability)
|
- [High availability](#high-availability)
|
||||||
|
@ -498,6 +500,33 @@ Each JSON line would contain data for a single time series. An example output:
|
||||||
Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either
|
Optional `start` and `end` args may be added to the request in order to limit the time frame for the exported data. These args may contain either
|
||||||
unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values.
|
unix timestamp in seconds or [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) values.
|
||||||
|
|
||||||
|
Exported data can be imported via POST'ing it to [/api/v1/import](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#how-to-import-time-series-data).
|
||||||
|
|
||||||
|
|
||||||
|
### How to import time series data?
|
||||||
|
|
||||||
|
Time series data can be imported via any supported ingestion protocol:
|
||||||
|
|
||||||
|
* [Prometheus remote_write API](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write)
|
||||||
|
* [Influx line protocol](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#how-to-send-data-from-influxdb-compatible-agents-such-as-telegraf)
|
||||||
|
* [Graphite plaintext protocol](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#how-to-send-data-from-graphite-compatible-agents-such-as-statsd)
|
||||||
|
* [OpenTSDB telnet put protocol](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#sending-data-via-telnet-put-protocol)
|
||||||
|
* [OpenTSDB http /api/put](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#sending-opentsdb-data-via-http-apiput-requests)
|
||||||
|
* `/api/v1/import` http POST handler, which accepts data from [/api/v1/export](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#how-to-export-time-series).
|
||||||
|
|
||||||
|
The most efficient protocol for importing data into VictoriaMetrics is `/api/v1/import`. Example for importing data obtained via `/api/v1/export`:
|
||||||
|
|
||||||
|
```
|
||||||
|
# Export the data from <source-victoriametrics>:
|
||||||
|
curl -s '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
|
||||||
|
```
|
||||||
|
|
||||||
|
Each request to `/api/v1/import` can load up to a single vCPU core on VictoriaMetrics. Import speed can be improved by splitting the original file into smaller parts
|
||||||
|
and importing them concurrently. Note that the original file must be split on newlines.
|
||||||
|
|
||||||
|
|
||||||
### Federation
|
### Federation
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue