Logstash:将格式化的度量标准事件发送到Elasticsearch

时间:2018-11-02 11:57:27

标签: elasticsearch logstash metrics

我可以使用相关插件从stdout中的事件中捕获logstash中的某些指标,如下所示:

在我的filter文件中:

  if "somekeyword" in [tags] {
    metrics {
      meter => "events_somekeyword"
      flush_interval => 60
      add_tag => "metric_somekeyword"
    }
  }

在我的outputs文件中

if "metric_somekeyword" in [tags] {
        stdout {
          codec => line {
            format => "Time: %{+YYYY-MM-dd HH:mm:ss Z} | Metric: rate 1m | Client: SomeJeyword | Rate: %{[events_somekeyword][rate_1m]}"
          }
        }

我的问题是如何根据elasticsearch输出来翻译完全相同的操作/格式。

例如

{
    "Metric Rate": "1m",
    "Client": "SomeKeyword",
    "Rate": "THE_ACTUAL_RATE_VALUE_HERE",
    "@timestamp": "2018-11-02T11:34:34.000Z",
}

我还希望(如果可能)将Rate舍入到最接近的整数值;

以上应归为每日索引

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您想像这样解析键值消息

filter {
  kv { 
      source => "field_containing_the_message_to_parse"
      field_split => "|"
      value_split => ":"
  }
}

如果这是您想要的,还有更多选项可用于自定义解析https://www.elastic.co/guide/en/logstash/current/plugins-filters-kv.html