Basi c где пункт с InfluxDB и Графана - PullRequest
0 голосов
/ 12 марта 2020

Я борюсь с очень простой задачей:
Создайте SELECT property_a WHERE property_b == "my_value", используя InfluxDB.

У меня есть следующий источник данных:

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

Но, к сожалению, данные не отображаются, я что-то упустил?

Как сделать предложение WHERE из Grafana, используя InfluxDB?

1 Ответ

0 голосов
/ 15 марта 2020

Как указывает @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

...