elasticsearch - ELK - 从日志中获取日期时间
问题描述
我正在尝试使用 logstash 和 filebeats 将日志发送到 Kibana。我需要从日志文件中获取日志时间。但是 kibana 不会将数据和时间(在日志中)作为日期时间。取而代之的是字符串,也不能更改格式。我一直在尝试不同的时间格式,但没有运气。感谢您的帮助这里是配置。
日志存储过滤器
filter {
grok {
match => {
"message" => "(?application_[^/])[^ ] [%{TIMESTAMP_ISO8601:logTime}] %{LOGLEVEL:logLevel} %{GREEDYDATA:LogMessage}" }
}
}
样本日志
/yarn/container-logs/application_1621858977521_0151/container_1621858977521_0151_01_000004 [2021-06-28 02:38:10,542] INFO Started daemon with process name: 7796@slave1 (org.apache.spark.executor.CoarseGrainedExecutorBackend)
/yarn/container-logs/application_1621858977521_0151/container_1621858977521_0151_01_000004 [2021-06-28 02:38:10,547] INFO Registered signal handler for TERM (org.apache.spark.util.SignalUtils)
/yarn/container-logs/application_1621858977521_0151/container_1621858977521_0151_01_000004 [2021-06-28 02:38:10,548] INFO Registered signal handler for HUP (org.apache.spark.util.SignalUtils)
解决方案
只需将logTime重命名为时间戳
filter {
grok {
match => {
"message" => "(?application_[^/])[^ ] [%{TIMESTAMP_ISO8601:timestamp}] %{LOGLEVEL:logLevel} %{GREEDYDATA:LogMessage}" }
}
}
推荐阅读
- c++ - 函数 new char[size] vs char[size] 上的动态内存
- ios - 无法在物理设备上获取联系人-iOS
- python - Snakemake 不执行 bash 命令
- javascript - Google Cloud Functions:必需/导出的函数抛出“处理程序不是函数”错误
- c++ - 为什么 C++ 中的 UTC 时间比实际 UTC 时间早 8 秒?
- php - 不能多次调用同一对象PHP的方法
- jquery - jQuery 验证 this.optional 不是一个函数
- c - 在 C 中用颜色复制当前路径
- reactjs - [react]:直观地嵌入另一个组件
- python - 验证来自用户输入的浮动值