Как сделать запрос к Elasticsearch в Grafana - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть следующие данные в Elasticsearch . (Поскольку данные немного длинны, я прикрепил их внизу.) Я пытаюсь выяснить, как сделать запрос, чтобы показать что-то на графике в Графана .

Я знаю, что мои данные вasticsearch не подходят для графиков, но у меня нет других примеров данных, и я просто хочу узнать, как обрабатывать этот запрос. Я сделал что-то подобное с mysql и grafana . (Данные не подходили для графика, но мне удалось сделать это как на картинке ниже) Mysql and Grafana

Я хочу сделать то же самое с Elasticsearch. Поскольку они используют запрос Lucene (отличается от Mysql), я прочитал некоторую информацию об этом. Но я не имею ни малейшего понятия, что и куда ставить. Я хочу показать, возможно, metascore или голосов (посмотрите на Json внизу) на графике.

Elasticsearch and Grafana

Я использовал Почтальон.
enter image description here Вот данные типа JSON. (Я хочу использовать «голоса» или «метаскор» для отображения на графике)

{
    "took": 113,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 8,
            "relation": "eq"
        },
        "max_score": 1,
        "hits": [
            {
                "_index": "movies",
                "_type": "movie",
                "_id": "dzb6AGoBnuCYnlTWZNmc",
                "_score": 1,
                "_source": {
                    "name": "Justice League",
                    "genre": "Action",
                    "summary": "Fueled by his restored faith in humanity and inspired by Superman's selfless act, Bruce Wayne enlists the help of his newfound ally, Diana Prince, to face an even greater enemy",
                    "yearofrelease": 201,
                    "metascore": 45,
                    "votes": 275122,
                    "rating": 6.6
                }
            },
            {
                "_index": "movies",
                "_type": "movie",
                "_id": "1",
                "_score": 1,
                "_source": {
                    "name": "Justice League1",
                    "genre": "Action1",
                    "summary": "Fueled by his restored faith in humanity and inspired by Superman's selfless act, Bruce Wayne enlists the help of his newfound ally, Diana Prince, to face an even greater enemy",
                    "yearofrelease": 201,
                    "metascore": 45,
                    "votes": 275122,
                    "rating": 6.6
                }
            },
            {
                "_index": "movies",
                "_type": "movie",
                "_id": "2",
                "_score": 1,
                "_source": {
                    "name": "Justice League",
                    "genre": "Action",
                    "summary": "Fueled by his restored faith in humanity and inspired by Superman's selfless act, Bruce Wayne enlists the help of his newfound ally, Diana Prince, to face an even greater enemy",
                    "yearofrelease": 2011,
                    "metascore": 45,
                    "votes": 275122,
                    "rating": 6.6
                }
            },
            {
                "_index": "movies",
                "_type": "movie",
                "_id": "hDYYAWoBnuCYnlTWyNmZ",
                "_score": 1,
                "_source": {
                    "name": "Thor Ragnarok",
                    "genre": "Action",
                    "summary": "Thor is imprisoned on the planet Sakaar, and must race  against time to return to Asgard and stop Ragnarök, the destruction of his world, at the hands of the powerful and ruthless villain Hela",
                    "yearofrelease": 2017,
                    "metascore": 74,
                    "votes": 374270,
                    "rating": 7.9
                }
            },
            {
                "_index": "movies",
                "_type": "movie",
                "_id": "hTYYAWoBnuCYnlTWyNmZ",
                "_score": 1,
                "_source": {
                    "name": "Infinity War",
                    "genre": "Sci-Fi",
                    "summary": "The Avengers and their allies must be willing to sacrifice all in an attempt to defeat the powerful Thanos before his blitz of devastation and ruin puts an end to the universe",
                    "yearofrelease": 2018,
                    "metascore": 68,
                    "votes": 450856,
                    "rating": 8.6
                }
            },
            {
                "_index": "movies",
                "_type": "movie",
                "_id": "hzYYAWoBnuCYnlTW-9mV",
                "_score": 1,
                "_source": {
                    "name": "Thor Ragnarok",
                    "genre": "Action",
                    "summary": "Thor is imprisoned on the planet Sakaar, and must race  against time to return to Asgard and stop Ragnarök, the destruction of his world, at the hands of the powerful and ruthless villain Hela",
                    "yearofrelease": 2017,
                    "metascore": 74,
                    "votes": 374270,
                    "rating": 7.9
                }
            },
            {
                "_index": "movies",
                "_type": "movie",
                "_id": "iDYYAWoBnuCYnlTW-9mV",
                "_score": 1,
                "_source": {
                    "name": "Infinity War",
                    "genre": "Sci-Fi",
                    "summary": "The Avengers and their allies must be willing to sacrifice all in an attempt to defeat the powerful Thanos before his blitz of devastation and ruin puts an end to the universe",
                    "yearofrelease": 2018,
                    "metascore": 68,
                    "votes": 450856,
                    "rating": 8.6
                }
            },
            {
                "_index": "movies",
                "_type": "movie",
                "_id": "iTYYAWoBnuCYnlTW-9mV",
                "_score": 1,
                "_source": {
                    "name": "Christopher Robin",
                    "genre": "Comedy",
                    "summary": "A working-class family man, Christopher Robin, encounters his childhood friend Winnie-the-Pooh, who helps him to  rediscover the joys of life",
                    "yearofrelease": 2018,
                    "metascore": 60,
                    "votes": 9648,
                    "rating": 7.9
                }
            }
        ]
    }
}

Если эти данные невозможно отобразить на графике, то не могли бы вы дать мне несколько советов о том, что я могу добавить в поля запроса и метрики ниже, чтобы я мог работать с ними, когда у меня есть другие примеры данных. Мне нужен пример, как 'metascore' должен идти в этом поле, и вам нужно @ или _ и поставить индекс здесь, и набрать там, и т. Д.)

enter image description here

1 Ответ

0 голосов
/ 12 апреля 2019

Я понял это.

Сначала вам нужно перейти к источникам данных в Графана и выбрать Elasticsearch .

Data sources

enter image description here Вы указали здесь свое index имя.И самое главное, вам нужно поле, которое может указывать время.Я использовал поле даты.Я сделал простой пример данных, как показано ниже.(Посмотрите на поле date .) sample

Перейдите на панель управления Grafana.И в запросе вы увидите, что Гистограмма даты будет автоматически установлена ​​на date .Выберите метрику, которую вы хотите.

enter image description here

На графике вы увидите нечто подобное.

enter image description here

Я знаю, что мои данные, поля и т. Д. Не являются идеальным графическим материалом.Но я сосредоточился на том, как, а не на чем.Пожалуйста, подумайте об этом как о "привет мире" для Elastic и Grafana.Надеюсь, это поможет кому-то и сэкономит время и энергию.

...