【问题标题】:NodeJS Bunyan Logstash Log IndexingNodeJS Bunyan Logstash 日志索引
【发布时间】:2015-10-26 10:50:52
【问题描述】:

我正在使用 Bunyan 和 bunyas-lumberjack 将我的日志发送到 log stash 并在弹性搜索中索引它们。我面临的问题是当我过滤日志时:我正在使用 Logstash 的基本过滤器:

filter {
 if [type == "json"]{
        json {
                source => "message"
        }
   }
}

将来自 bunyan 的 JSON 放入 source.message 字段并在弹性搜索中对其进行索引。如何将 bunyan 中的每个字段索引到特定的弹性搜索字段中,以便我可以搜索它或在 Kibana 中使用它?

我附上我现在得到的和我想得到的作为例子。 目前:

{
  "_index": "logstash-2015.10.26",
  "_type": "json",
  "_id": "AVCjvDHWHiX5VLMgQZIC",
  "_score": null,
  "_source": {
    "message": "{\"name\":\"myLog\",\"hostname\":\"atnm-4.local\",\"pid\":6210,\"level\":\"error\",\"message\":\"This should work!\",\"@timestamp\":\"2015-10-26T10:40:29.503Z\",\"tags\":[\"bunyan\"],\"source\":\"atnm-4.local/node\"}",
    "@version": "1",
    "@timestamp": "2015-10-26T10:40:31.184Z",
    "type": "json",
    "host": "atnm-4.local",
    "bunyanLevel": "50"
  },

通缉:

{
  "_index": "logstash-2015.10.26",
  "_type": "json",
  "_id": "AVCjvDHWHiX5VLMgQZIC",
  "_score": null,
  "_source": {
    "message": {
      "name": example,
      "hostname": example,
      "etc": example

【问题讨论】:

  • 似乎通过在伐木工人中将编解码器添加为 json 一切都会正常工作:codec => json ,但我认为我仍然不能索引系统日志,对吧?

标签: node.js logstash logstash-forwarder bunyan


【解决方案1】:

logstash 中的每个输入都可以有不同的编解码器和类型。在您的情况下,如果您想索引 bunyan 和 syslog,您将有两个具有两种不同类型的输入。 syslog 将具有编解码器“plain”,bunyan 将具有“json”。对于 bunyan 消息,您不需要任何过滤器。 json 将被解析,字段将自动出现。您必须有一个过滤器来解析 syslog 输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-18
    • 2023-02-03
    • 2015-05-23
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 2021-12-16
    相关资源
    最近更新 更多