如何在logstash / kibana中添加自定义字段?

金枪鱼沙拉

我正在使用python-logstash来写入logstash。它提供了添加其他字段的选项,但问题是所有字段都在该message字段下。我要完成的工作是在更高级别上添加一个新字段。

我从logstash.config(使用ruby/ grok/mutate插件)中找到了执行此操作的选项,但是此解决方案不是可扩展的解决方案(必须为每个计算机实例进行配置)

就像是:

logger.info('my message')

在基巴纳,我将看到:

{
'@timestamp': ...
...
...
'message': 'my message'
'new_field' : 'new_field_value'
}

我怎么做?

谢谢。

文件

通过阅读python-logstash文档,他们引用了“额外”字段,并说他们“向logstash消息中添加了额外的字段”,这似乎正是您想要的!

# add extra field to logstash message 
extra = {
    'test_string': 'python version: ' + repr(sys.version_info),
    'test_boolean': True,
    'test_dict': {'a': 1, 'b': 'c'},
    'test_float': 1.23,
    'test_integer': 123,
    'test_list': [1, 2, '3'], 
}
test_logger.info('python-logstash: test extra fields', extra=extra)

然后确保在logstash输入块中具有“ json”编解码器,如下所示:

input {
  udp {
    port => 5959
    codec => json
  }
}

编辑:我使用示例脚本对此进行了测试,并获得以下Logstash输出:

{
            "host" => "xxx",
            "path" => "pylog.py",
      "test_float" => 1.23,
            "type" => "logstash",
            "tags" => [],
       "test_list" => [
        [0] 1,
        [1] 2,
        [2] "3"
    ],
    "test_boolean" => true,
           "level" => "INFO",
      "stack_info" => nil,
         "message" => "python-logstash: test extra fields",
      "@timestamp" => "2016-09-25T15:23:58.259Z",
       "test_dict" => {
        "a" => 1,
        "b" => "c"
    },
     "test_string" => "python version: sys.version_info(major=3, minor=5, micro=1, releaselevel='final', serial=0)",
        "@version" => "1",
    "test_integer" => 123,
     "logger_name" => "python-logstash-logger"
}

添加的所有其他字段都与消息字段显示在同一级别。它们不会添加到“消息”内部对象中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Rails 4中添加要设计的自定义字段并自定义注册控制器?

如何在TFS中添加自定义字段以签入屏幕

如何在WooCommerce设置的“产品库存”标签中添加自定义字段?

Django Rest Framework-如何在ModelSerializer中添加自定义字段

如何在Python日志格式字符串中添加自定义字段?

Django Rest Framework:如何在GET请求的响应中添加自定义字段?

如何在Yii2表单字段中为标签添加自定义类?

如何在rmarkdown的导航栏标题字段中添加自定义徽标?

如何在Woocommerce中将自定义字段添加到类别中?

如何在Phoenix框架中为必填字段添加自定义错误消息

如何在jQuery验证插件的空白/错误字段中添加自定义CSS?

Django:如何在表单保存中向数据添加自定义字段?

如何在商品中向商品添加自定义字段以进行商品比较

如何在Laravel 5.6的默认注册表单中添加自定义字段?

如何在ARInvoice客户选择器中添加自定义字段?

如何在Drupal8的“站点信息”表单中添加新的自定义字段

如何在Woocommerce链接产品中添加更多自定义字段

如何在Django管理面板中添加自定义链接/ URL字段?

如何在用户注册 asp.net 样板中添加自定义字段

如何在Magento 2.2的客户注册中添加自定义字段?

Joomla,如何在Virtuemart类别表单中添加自定义字段?

如何在Silvershop中修改产品(将自定义字段添加到$ db)

Laravel - 如何在忘记密码中添加自定义字段

如何在 Django 中为表单字段添加自定义标题?

如何在magento 2的产品编辑表单的“可自定义选项”中添加新字段?

如何在 Spring 中向投影添加自定义字段

在Logstash中使用Grok在增强的Apache日志解析中添加自定义字段

如何在没有插件且不使用自定义字段的情况下在自定义帖子中添加文本字段

如何在Django中命名自定义表单的字段?