elasticsearch 如何使用字符串匹配获取日志(例如:包含“调试”的日志),elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" /> elasticsearch 如何使用字符串匹配获取日志(例如:包含“调试”的日志),elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" />

elasticsearch 如何使用字符串匹配获取日志(例如:包含“调试”的日志)

elasticsearch 如何使用字符串匹配获取日志(例如:包含“调试”的日志),elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana,在elasticsearch集群中,我们从集群中获取索引日志。Logstach没有设置任何过滤器,因此我们获得了所有包含信息、调试等级别的日志。我想知道这个查询,以便只获取具有一个特定级别的日志 如果是python,我们可以这样做 df = pd.DataFrame({"node.id": [123, 124, 125], "log":["INFO: run", "DEBUG: fail", "WARN: warn"]}) log n

在elasticsearch集群中,我们从集群中获取索引日志。Logstach没有设置任何过滤器,因此我们获得了所有包含信息、调试等级别的日志。我想知道这个查询,以便只获取具有一个特定级别的日志

如果是python,我们可以这样做

df = pd.DataFrame({"node.id": [123, 124, 125], 
               "log":["INFO: run", "DEBUG: fail", "WARN: warn"]})

       log        node.id
0    INFO: run      123
1  DEBUG: fail      124
2   WARN: warn      125

df[df["log"].str.contains("DEBUG")]

           log  node.id
1  DEBUG: fail      124

我尝试使用“regex”、“wildcard”,但似乎没有得到正确的语法

通配符应该很容易工作。您能告诉我们您正在执行的确切查询吗?此外,如果您使用默认的
文本
类型,可能由于分析器的原因,您必须降低输入的大小写。你能显示你的日志库配置吗?“exists”:{“field”:“log”},“query”:{“wildcard”:“*info”}我正试图这样使用query。我不知道配置。我只是麋鹿堆栈的最终用户后,有人配置。