我正在尝试解析一些纪元时间戳,使其更具可读性.
我四处寻找如何将它们解析为正常的时间,从我的理解,我应该做的就是这样:
mutate
{
remove_field => [ "..."]
}
grok
{
match => { 'message' => '%{NUMBER:time}%{SPACE}%{NUMBER:time2}...' }
}
date
{
match => [ "time","UNIX" ]
}
Run Code Online (Sandbox Code Playgroud)
消息的示例是:1410811884.84 1406931111.00 ....
前两个值应为UNIX时间值.
我的grok工作,因为所有的字段都显示在Kibana中具有预期值,并且我删除的所有值字段都不存在,因此mutate也可以工作.日期部分似乎什么都不做.
根据我的理解,match => [ "time","UNIX" ] 应该做我想做的事情(将时间值更改为正确的日期格式,并将其显示在kibana作为字段.).所以显然我不理解它.
我可能在这里要求太多,我认为它还没有实现,但我的ELK堆栈设置与本教程的工作方式类似(几乎相同):( https://www.digitalocean.com/community/tutorials/how -to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-14-04)基本上,我在客户端计算机上安装了文件,并将文件夹中的所有日志文件发送到logstash on服务器电脑.
我想要做的是能够将gzip文件(包含文本文件)和文本文件放在目录中,并且能够将它们全部发送到带有filebeat的logstash.所以我需要filebeat发送一个unziped文件,或者logstash能够查看gzip文件并获取其中的文本文件.
我环顾网络,这似乎还没有实现,但我发现的大多数是日志转发器和logstash而不是filebeat,所以我只是希望有一种方法可以使用filebeat.
我可能只是在这里过于充满希望.如果您不知道这样做的方法,那么我也想知道.
elasticsearch logstash lumberjack logstash-forwarder elastic-stack