InfluxDB和Grafana的Basic where子句

问题描述 投票:0回答:1

我正在努力完成一个简单的任务:使用InfluxDB创建SELECT property_a WHERE property_b == "my_value"

我有以下数据结构:

type RegionsJsonData struct {
    Data                      string  `json:"data"`
    Stato                     string  `json:"stato"`
    CodiceRegione             int     `json:"codice_regione"`
    DenominazioneRegione      string  `json:"denominazione_regione"`
    Lat                       float64 `json:"lat"`
    Long                      float64 `json:"long"`
    RicoveratiConSintomi      int     `json:"ricoverati_con_sintomi"`
    TerapiaIntensiva          int     `json:"terapia_intensiva"`
    TotaleOspedalizzati       int     `json:"totale_ospedalizzati"`
    IsolamentoDomiciliare     int     `json:"isolamento_domiciliare"`
    TotaleAttualmentePositivi int     `json:"totale_attualmente_positivi"`
    NuoviAttualmentePositivi  int     `json:"nuovi_attualmente_positivi"`
    DimessiGuariti            int     `json:"dimessi_guariti"`
    Deceduti                  int     `json:"deceduti"`
    TotaleCasi                int     `json:"totale_casi"`
    Tamponi                   int     `json:"tamponi"`
    Datetime                  time.Time
}

此结构将填充一些数据,而不是使用以下语句将结构插入InfluxDB:

var m map[string]interface{} = make(map[string]interface{})
m["codice_regione"] = provinceData[i].CodiceRegione
m["denominazione_regione"] = provinceData[i].DenominazioneRegione
m["lat"] = provinceData[i].Lat
m["long"] = provinceData[i].Long
m["ricoverati_con_sintomi"] = provinceData[i].RicoveratiConSintomi
m["terapia_intensiva"] = provinceData[i].TerapiaIntensiva
m["totale_ospedalizzati"] = provinceData[i].TotaleOspedalizzati
m["isolamento_domiciliare"] = provinceData[i].IsolamentoDomiciliare
m["totale_attualmente_positivi"] = provinceData[i].TotaleAttualmentePositivi
m["nuovi_attualmente_positivi"] = provinceData[i].NuoviAttualmentePositivi
m["dimessi_guariti"] = provinceData[i].DimessiGuariti
m["deceduti"] = provinceData[i].Deceduti
m["totale_casi"] = provinceData[i].TotaleCasi
m["tamponi"] = provinceData[i].Tamponi

pts[i] = client.Point{
    Measurement: "regions_data",
    Tags:        nil,
    Time:        provinceData[i].Datetime,
    Fields:      m}

数据已插入InfluxDB,我可以使用Grafana显示一些图形。但是,我需要为每个“ denominazione_regione”字段创建一个图。

所以,从Grafana,我进行了以下查询:

Grafana query

但是很遗憾,没有显示任何数据,我缺少什么吗?

如何使用WHEREGrafana中创建InfluxDB子句?

grafana influxdb
1个回答
0
投票

如@JanGaraj所指出,如果要进行查询,则需要将该字段另存为标签,如下所示:

var m map[string]interface{} = make(map[string]interface{})
m["total_deaths"] = worldData[i].TotalDeaths
m["total_cases"] = worldData[i].TotalCases
m["new_deaths"] = worldData[i].NewDeaths
m["new_cases"] = worldData[i].NewCases

pts[i] = client.Point{
    Measurement: "all_world_data",
    Tags:        map[string]string{"nation": worldData[i].State},
    Time:        worldData[i].Date,
    Fields:      m}

比您可以按以下方式运行查询:enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.