Elasticsearch在python中未显示运行日志

xwbd5t1u  于 2022-12-22  发布在  ElasticSearch
关注(0)|答案(1)|浏览(147)

我是新的Elasticsearch。我有一个正在运行的Elasticsearch示例在云中,并通过Python访问它,我想看到运行日志,其中有一个字段-“类型”-“filebeat”。我有以下代码行:

import elasticsearch
from elasticsearch import Elasticsearch
import elasticsearch.helpers

# Creating the client instance
es = Elasticsearch(
    cloud_id=CLOUD_ID,
    basic_auth=("elastic", ELASTIC_PASSWORD)
)

# Successful response!
print(es.info())
ES_INDEX = <my index>
ES_TYPE="filebeat"
results_gen = elasticsearch.helpers.scan(
    es,
    query={"query": {"match_all": {}}},
    index=ES_INDEX)

results = list(results_gen)
print(results)

输出显示了示例细节和结果中的4407个日志(显然是所有日志)。我的问题是如何获得运行日志以及如何修改查询以仅显示“type”-“filebeat”的日志?

brtdzjyr

brtdzjyr1#

您需要在查询中进行一些筛选。

results_gen = elasticsearch.helpers.scan(
    es,
    query={"query": {"match_all": {}}},
    index=ES_INDEX)

在这里,我们使用的是match_all,它将返回索引中的所有数据。
下面是上面的一个查询示例。term查询将根据type: filebeat过滤数据。

results_gen = elasticsearch.helpers.scan(
    es,
    query={"query": {"term": {"type": "filebeat"}}},
    index=ES_INDEX)

此外,您还可以查看文档以了解更多信息。
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html

相关问题