Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 来自文档字段的日志存储动态索引失败_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logstash_Logstash Configuration - Fatal编程技术网 elasticsearch 来自文档字段的日志存储动态索引失败,elasticsearch,logstash,logstash-configuration,elasticsearch,Logstash,Logstash Configuration" /> elasticsearch 来自文档字段的日志存储动态索引失败,elasticsearch,logstash,logstash-configuration,elasticsearch,Logstash,Logstash Configuration" />

elasticsearch 来自文档字段的日志存储动态索引失败

elasticsearch 来自文档字段的日志存储动态索引失败,elasticsearch,logstash,logstash-configuration,elasticsearch,Logstash,Logstash Configuration,我仍然需要解决一些问题,如何告诉Logstash基于文档字段发送动态索引。此外,必须对该字段进行转换,以便在最后获得“真实”索引。 假设有一个字段“time”(是UNIX时间戳)。此字段已通过“日期”筛选器转换为弹性的DateTime对象。 此外,它还应作为索引(YYYYMM)提供服务器。索引不应从@Timestamp派生,因为@Timestamp未被触及 例如: {…,“时间”:1453412341,} 将转到索引:201601 我使用以下配置: filter { date { m

我仍然需要解决一些问题,如何告诉Logstash基于文档字段发送动态索引。此外,必须对该字段进行转换,以便在最后获得“真实”索引。 假设有一个字段“time”(是UNIX时间戳)。此字段已通过“日期”筛选器转换为弹性的DateTime对象。 此外,它还应作为索引(YYYYMM)提供服务器。索引不应从@Timestamp派生,因为@Timestamp未被触及

例如: {…,“时间”:1453412341,}

将转到索引:201601

我使用以下配置:

filter {
  date {
    match => [ "time", "UNIX" ]
    target => "time"
    timezone => "Europe/Berlin"
  }
}
output {
    elasticsearch {
        index => "%{time}%{+YYYYMM}"
        document_type => "..."
        document_id => "%{ID}"
        hosts => "..."
    }
}
可悲的是,它不起作用。有什么想法,如何实现

非常感谢

“%{+YYYYMM}”表示使用@timestamp中的日期值。如果希望索引以%{time}中的YYYYMM命名,则需要从该日期字段生成一个字符串,然后在输出节中引用该字符串。可能会有一个变异{}可以做到这一点,或者落入ruby{}


在大多数安装中,您希望将@timestamp设置为事件的值。logstash自己的默认时间不是很有用(想象一下,如果您的事件在处理过程中延迟了一个小时)。如果您这样做,那么%{+YYYYMM}“就可以了。

这是因为默认情况下索引名是基于UTC时间创建的