m0_68170889 2023-04-18 17:41 采纳率: 30%
浏览 56
已结题

elk中message字符串咋样解析

elk7.4.2版本,采用filebeat——kafka——logstash——es——kibana结构,日志中message字符串咋样解析出来
测试采集httpd服务日志

img


在logstash中进行message字符串的解析

img

kibana上查看message没有变化,不知道大家有没有遇到过相关的问题

img

  • 写回答

4条回答 默认 最新

  • 「已注销」 2023-04-18 19:35
    关注

    引用new bing部分回答作答:
    根据您提供的信息,我猜测您可能没有正确配置 Logstash 的输出插件,导致 Logstash 无法将解析后的日志消息发送到 Elasticsearch 中。请确保您已正确配置了 Elasticsearch 输出插件,并将其连接到 Elasticsearch 集群。
    您已经在 Logstash 中使用了 grok 插件对 httpd 日志进行了解析。grok 插件可以使用类似于正则表达式的模式来解析结构化的文本日志,并将其转换为 Elasticsearch 中的结构化数据。在您的配置中,您使用了 "%COMBINEDAPACHELOG" 模式来匹配 Apache HTTP Server 的常用日志格式。

    如果您在 Kibana 中查看 message 字段时没有看到任何变化,可能是因为您没有正确设置 Elasticsearch 索引模板,或者您的 Logstash 配置中没有正确指定输出字段。在您的输出插件配置中,请确保您已正确指定要发送到 Kafka 的字段。例如,您可以使用以下输出配置:

    output {
      kafka {
        bootstrap_servers => ["192.168.168.123:9092", "192.168.168.124:9092", "192.168.168.125:9092"]
        topic_id => "%{[fields][log_topic]}"
        codec => "json"
      }
    }
    

    在这个例子中,我们将日志主题作为 Logstash 中的字段 "fields.log_topic" 发送到 Kafka 主题中。

    如果您还在使用旧版本的 Elasticsearch(例如 Elasticsearch 5.x 或更早版本),请注意您需要手动设置索引模板来正确解析和存储解析后的字段。您可以使用 Elasticsearch 的模板 API 来设置模板。如果您使用的是较新版本的 Elasticsearch(例如 Elasticsearch 6.x 或更高版本),则不需要手动设置索引模板,因为 Elasticsearch 可以根据数据自动推断索引映射。

    最后,请确保您在 Kibana 中正确设置了索引模式和时间过滤器,以便正确查看和搜索您的日志数据。希望这些提示能帮助您解决问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月19日
  • 赞助了问题酬金15元 4月18日
  • 创建了问题 4月18日