当前位置: 首页 > 知识库问答 >
问题:

Kibana将时间戳转换为本地时区

郎和志
2023-03-14

我已经用FileBeat设置了ELK&我将日志转发到弹性搜索,重写@timestamp字段到日志文件中的时间。下面是它的logstash.conf文件

input {
  beats {
    port => 5044

codec => multiline {
      # Grok pattern names are valid! :)
      pattern => "^%{TIMESTAMP_ISO8601} "
      negate => true
      what => previous
    }
    }
}

filter {
  mutate {
    gsub => ["message", "\n", " "]
  }
  grok {
    match => [ "message", "%{TIMESTAMP_ISO8601:timestamp} \[%{NOTSPACE:uid}\] \[%{NOTSPACE:thread}\] %{LOGLEVEL:loglevel} %{DATA:class}\-%{GREEDYDATA:message}" ]
    overwrite => [ "message" ]
  }
  date {
    match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss" ]
    target => "@timestamp"
    timezone => "UTC+0530"
  }
  if "_grokparsefailure" in [tags] {
            drop { }
  }
}


output {
  elasticsearch { hosts => localhost }
  stdout { codec => rubydebug }
}

在上面,我尝试使用以下方法将时间戳的时区设置为IST

timezone => "UTC+0530"

但我发现了错误

Cannot load an invalid configuration {:reason=>"The datetime zone id 'UTC+0530' is not recognised"}

这是为了避免kibana将时间戳转换为我的本地时区,因为时间戳已经在本地时区IST中。

有人能告诉我如何为时间戳设置IST时区或者设置kibana不将时间戳转换为我的本地时区吗?

共有2个答案

饶高雅
2023-03-14

在手册中,时区的值应该是Joda-Time中的“Canonical ID”:没有这样的UTC+0530时区。

季华茂
2023-03-14

遇到了讨论&这就有了答案。在kibana高级设置中有一个选项,可以将时间戳时区从默认的‘浏览器’更改为您的本地时区。https://discuss.elastic.co/t/timezone-utc-00-00-getting-converted-on-kibana-display-to-05-30/38727/2

 类似资料:
  • 问题内容: 我有一个毫秒本地本地时间戳,我想将其转换为毫秒本地UTC时间戳。快速浏览一下文档,看起来像这样工作: 有一个更好的方法吗? 问题答案: 使用a 来获取本地纪元处的偏移量,然后将其添加到本地纪元时间戳中。

  • 我有一个Unix历元时间戳(以毫秒为单位),需要获取本地时间的日期字符串。 这是我的代码: 由上述函数生成的原始时间戳和结果日期、小时和所有其他值均以UTC为单位。如何更改代码以在当地时间获取它?

  • 问题内容: 我知道已经有很多关于将UTC时间/日期转换为本地时间/从本地时间转换为答案的帖子,但是没有帮助我弄清楚我的问题是什么。我的问题是:通过具有UTC时间戳,我如何获取本地DateTime?这就是我现在所拥有的,但这只是将时间戳转换为DateTime格式。 编辑:我将UTC时间戳保存在云中,以便每个设备(Android / iOS)都可以查询并将其转换为时区。 问题答案: 试试这个与我一起工

  • 问题内容: 我在UTC和ISO8601中使用了时间戳,但是使用结构化流,它会自动转换为本地时间。有没有办法阻止这种转换?我想在UTC中使用它。 我正在从Kafka中读取json数据,然后使用Spark函数对其进行解析。 输入: 流: 架构: 输出: 如您所见,小时本身已经增加。 PS:我尝试使用Spark功能,但没有运气。 问题答案: 对我来说,它可以使用: 它告诉spark SQL将UTC用作时

  • 我有我的时间戳在UTC和ISO8601,但使用结构化流,它会自动转换成本地时间。有办法阻止这种转换吗?我想要UTC的。 正如你所看到的,小时本身就增加了。 PS:我尝试使用Spark函数,但没有成功。

  • 我试图找出如何在Kotlin中将转换为,这在Java中非常简单,但我在Kotlin中找不到任何等效的。 例如:历元时间戳(1970-01-01以来的秒数)== 在Kotlin中是否有解决方案,或者我是否必须在Kotln中使用Java语法?请给我一个简单的例子来说明如何解决这个问题。提前谢谢。 这个链接不是我问题的答案