json - 如何使用filebeat读取json文件并通过logstash发送到elasticsearch
问题描述
这是我的 json 日志文件。我正在尝试通过我的 logstash 将文件存储到我的弹性搜索中。
{"message":"IM: Orchestration","level":"info"}
{"message":"Investment Management","level":"info"}
这是我的文件beat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- D:/Development_Avecto/test-log/tn-logs/im.log
json.keys_under_root: true
json.add_error_key: true
processors:
- decode_json_fields:
fields: ["message"]
output.logstash:
hosts: ["localhost:5044"]
input{
beats {
port => "5044"
}
}
filter {
json {
source => "message"
}
}
output{
elasticsearch{
hosts => ["localhost:9200"]
index => "data"
}
}
在 elasticserach 中无法查看。无法找到错误。文件节拍日志
2019-06-18T11:30:03.448+0530 INFO registrar/registrar.go:134 从 D:\Development_Avecto\filebeat-6.6.2-windows-x86_64\data\registry 加载注册商数据 2019-06-18T11:30:03.448 +0530 INFO registrar/registrar.go:141 从注册商加载的状态:10 2019-06-18T11:30:03.448+0530 WARN beater/filebeat.go:367 Filebeat 无法加载配置模块的摄取节点管道,因为Elasticsearch 输出未配置/启用。如果您已经加载了 Ingest Node 管道或正在使用 Logstash 管道,则可以忽略此警告。2019-06-18T11:30:03.448+0530 INFO crawler/crawler.go:72 加载输入:1 2019-06-18T11:30:03.448+0530 INFO log/input.go:138 配置路径:[D:\Development_Avecto \test-log\tn-logs\im.log] 2019-06-18T11:30:03.448+0530 信息输入/input.go: 114 开始输入类型:log;ID:16965758110699470044 2019-06-18T11:30:03.449+0530 INFO crawler/crawler.go:106 加载和启动输入已完成。启用的输入:1 2019-06-18T11:30:34.842+0530 INFO [monitoring] log/log.go:144 过去 30 秒内的非零指标 {"monitoring": {"metrics": {"beat":{ "cpu":{"system":{"ticks":312,"time":{"ms":312}},"total":{"ticks":390,"time":{"ms":390 },"value":390},"user":{"ticks":78,"time":{"ms":78}}},"handles":{"open":213},"info": {"ephemeral_id":"66983518-39e6-461c-886d-a1f99da6631d","uptime":{"ms":30522}},"memstats":{"gc_next":
解决方案
https://www.elastic.co/guide/en/ecs-logging/dotnet/master/setup.html
检查页面底部的第 3 步,了解您需要放入 filebeat.yaml 文件的配置:
filebeat.inputs:
- type: log
paths: /path/to/logs.json
json.keys_under_root: true
json.overwrite_keys: true
json.add_error_key: true
json.expand_keys: true
推荐阅读
- python - 魔术 8 球比赛的测试用例
- json - 如何在 swift 4 中使用 Graphql 获取 json 值数组?
- java - 实体类中的所有实例变量是否都在数据库中持久化?
- android - 如何在反应原生 ios 设备中读取通话记录或通话记录?
- spring - 使用 Spring 实现用户通知
- react-native - undefined 不是一个对象(evaluting_'this2.pros.navigation')
- r - 以下对象被“package:ggplot2”屏蔽:
- javascript - 在 Rails 中获取 Highcharts 数据的正确方法是什么
- javascript - 如何在循环函数中过滤另一个过滤器
- php - 从我的内部存储 android 手机 6.0.0 读取文件