mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-23 20:37:12 +01:00
app/vminsert/influx: set db
label only if Influx line doesnt have db
tag
This commit is contained in:
parent
c4e75f09dc
commit
fb909cf710
@ -209,7 +209,8 @@ For instance, put the following lines into `Telegraf` config, so it sends data t
|
|||||||
Do not forget substituting `<victoriametrics-addr>` with the real address where VictoriaMetrics runs.
|
Do not forget substituting `<victoriametrics-addr>` with the real address where VictoriaMetrics runs.
|
||||||
|
|
||||||
VictoriaMetrics maps Influx data using the following rules:
|
VictoriaMetrics maps Influx data using the following rules:
|
||||||
* [`db` query arg](https://docs.influxdata.com/influxdb/v1.7/tools/api/#write-http-endpoint) is mapped into `db` label value.
|
* [`db` query arg](https://docs.influxdata.com/influxdb/v1.7/tools/api/#write-http-endpoint) is mapped into `db` label value
|
||||||
|
unless `db` tag exists in the Influx line.
|
||||||
* Field names are mapped to time series names prefixed with `{measurement}{separator}` value,
|
* Field names are mapped to time series names prefixed with `{measurement}{separator}` value,
|
||||||
where `{separator}` equals to `_` by default. It can be changed with `-influxMeasurementFieldSeparator` command-line flag.
|
where `{separator}` equals to `_` by default. It can be changed with `-influxMeasurementFieldSeparator` command-line flag.
|
||||||
See also `-influxSkipSingleField` command-line flag.
|
See also `-influxSkipSingleField` command-line flag.
|
||||||
|
@ -90,11 +90,17 @@ func (ctx *pushCtx) InsertRows(db string) error {
|
|||||||
for i := range rows {
|
for i := range rows {
|
||||||
r := &rows[i]
|
r := &rows[i]
|
||||||
ic.Labels = ic.Labels[:0]
|
ic.Labels = ic.Labels[:0]
|
||||||
ic.AddLabel("db", db)
|
hasDBLabel := false
|
||||||
for j := range r.Tags {
|
for j := range r.Tags {
|
||||||
tag := &r.Tags[j]
|
tag := &r.Tags[j]
|
||||||
|
if tag.Key == "db" {
|
||||||
|
hasDBLabel = true
|
||||||
|
}
|
||||||
ic.AddLabel(tag.Key, tag.Value)
|
ic.AddLabel(tag.Key, tag.Value)
|
||||||
}
|
}
|
||||||
|
if len(db) > 0 && !hasDBLabel {
|
||||||
|
ic.AddLabel("db", db)
|
||||||
|
}
|
||||||
ctx.metricNameBuf = storage.MarshalMetricNameRaw(ctx.metricNameBuf[:0], ic.Labels)
|
ctx.metricNameBuf = storage.MarshalMetricNameRaw(ctx.metricNameBuf[:0], ic.Labels)
|
||||||
ctx.metricGroupBuf = append(ctx.metricGroupBuf[:0], r.Measurement...)
|
ctx.metricGroupBuf = append(ctx.metricGroupBuf[:0], r.Measurement...)
|
||||||
skipFieldKey := len(r.Fields) == 1 && *skipSingleField
|
skipFieldKey := len(r.Fields) == 1 && *skipSingleField
|
||||||
|
Loading…
Reference in New Issue
Block a user