logstash - 从logstash中的时间戳中提取文本格式的工作日

标签 logstash elastic-stack

我在我的logstash过滤器中收到以下格式的@timestamp

"@timestamp" => "2016-11-28T19:19:05.627Z"

我想通过添加新的周和月字段来提取文本格式的工作日和月份值。我的输出应该是这样的

week-day:monday
month:nov

我正在使用一些 ruby​​ 代码

ruby {
          code => '
              require "time"
              event["week-day"] = event["@timestamp"].strftime "%a"

              '
       }

但出现错误

Ruby exception occurred: undefined method `strftime' for "2016-11-28T19:19:05.804Z":LogStash::Timestamp {:level=>:error}

有没有办法在 grok 或相同的 ruby​​ 代码中做同样的事情?

任何帮助将不胜感激!!

最佳答案

你已经快到了,你只是错过了一些东西:

   ruby {
      code => '
          require "time"
          event["week-day"] = event["@timestamp"].time.strftime "%a"
          '
   }

关于logstash - 从logstash中的时间戳中提取文本格式的工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40851942/

相关文章:

javascript - 使用 logstash 和 elasticsearch

elasticsearch - 从postgres导入2000万行到elasticsearch时,logstash OutOfMemory错误

mysql - 并非所有来自 Logstash 的数据都被 Elasticsearch 索引

logging - 消费后删除日志: logstash

java - 通过 Java 代码使用反向代理 url 连接 Elastic Search

elasticsearch - Elasticsearch:获得称赞

python - 将Elastic集群数据读入python数据框

elasticsearch - 是否有命名/组织存储日志数据的 Elasticsearch 索引的约定?

elasticsearch - 如何在Elasticsearch中监视查询?

docker - 在带有docker-compose和x.pack auth的Docker中使用Docker中的ELK Stack无法验证用户