Как получить выбранный журнал из индекса filebeat по python

Я использую модуль pythonasticsearch для поиска в журнале filebeat, используя ключевое слово. так же, как я делаю в "Kibana Discover", но мой поиск ничего не возвращает.

# make sure ES is up and running
import requests
res = requests.get('http://xxxxx:9200')
print(res.content)


# Import Elasticsearch package 
from elasticsearch import Elasticsearch 
# Connect to the elastic cluster

es=Elasticsearch([{'host':'xxxxx','port':9200}],timeout=30)
es

es.search(index='*',  body={
  'query': {
    'match': {
      'message': 'SocketTimeoutException',
     }
  }
})

es

это должно дать мне файл журнала, как это, но это не так.

сообщение:14:20:01,387 ОШИБКА [com.yuma.jca.sockets.concox] (default-threads - 37) MessageWork SocketTimeoutException для imei: 0358735075610732-> Тайм-аут чтения: отметка времени: 8 августа 2019 @ 15:20:01.559 ecs.version:1.0.0

но я получаю так, только подключение к печати

b'{\n "name": "kibana",\n "cluster_name": "asticsearch",\n "cluster_uuid": "pspfiiegRre8OOFSsLWIhQ",\n " версия ": {\n " номер ": "7.2.0",\n "build_flavor": "default",\n "build_type": "deb",\n "build_hash": "508c38a",\n "build_date": "2019-06-20T15:54:18.811730Z",\n "build_snapshot": false,\n "lucene_version": "8.0.0",\n "minimal_wire_compatibility_version": "6.8.0",\n "imum_index_compatibility_version": "6.0.0-beta1"\n },\n "tagline": "Вы знаете, для поиска"\n}\n'

1 ответ

Решение

Назначьте результат запроса вязкого поиска в переменную и распечатайте данные ответа.

data = es.search(index='*',  body={
  'query': {
    'match': {
      'message': 'SocketTimeoutException',
     }
  }
})
print(data)

Другие вопросы по тегам