【问题标题】:Need a count for a field from different timezones (have multiple fields from .csv uploaded file)需要对来自不同时区的字段进行计数(具有来自 .csv 上传文件的多个字段)
【发布时间】:2019-06-18 22:33:06
【问题描述】:

我有点困惑,因为我从中国、太平洋、东部、欧洲等不同时区的 splunk 中的 .csv 文件中提取了一些事件... 我有开始时间、结束时间、时区、时区 ID、站点名称、会议 ID 和主机名......等字段

供您参考(conferenceID=131146947830496273, 130855971227450408......) 想知道我是否必须坐在太平洋时区,使用开始,为特定时间间隔(例如,今天下午 12:00 到下午 15:00)执行“.......| stats count of meetingID”事件搜索中的时间和结束时间应该收集从那里的原始时区时间间隔排序的所有事件,而不是采用 splunk 时区时间间隔。

以下是我拥有的一些日志示例

testincsso,130878564690050083, Shona,"GMT-07:00, Pacific (San Francisco)",4,06/17/2019 09:33:17,06/17/2019 09:42:23,10,0 ,0,0,0,0,0,9,0,0,1,0,0,1,1 主机 = usloghost1.example.com 源类型 =webex_cdr 2019 年 6 月 17 日 上午 12:29:03.060

testincsso,129392485072911500,Meng,"GMT+08:00, China (Beijing)",45,06/17/2019 07:29:03,06/17/2019 07:59:22,31,0, 0,0,0,0,0,0,0,30,1,1,0,0,1 主机 = usloghost1.corp.example.com 源类型 = webex_cdr 2019 年 6 月 17 日 上午 12:19:11.060

testincsso,131121310031953680,sarah ward,"GMT-07:00, Pacific (San Francisco)",4,06/17/2019 07:19:11,06/17/2019 07:52:54,34, 0,0,0,0,0,0,0,0,34,3,3,0,0,2 主机 = usloghost1.corp.example.com 源类型 = webex_cdr 2019 年 6 月 17 日 上午 12:00:53.060

testincsso,130878909569842780,Patrick Janesch,"GMT+02:00, Europe (Amsterdam)",22,06/17/2019 07:00:53,06/17/2019 07:04:50,4,0 ,0,0,0,0,0,4,0,2,3,2,0,1,2 主机 = usloghost1.corp.example.com 源类型 = webex_cdr

更新:

在当地时区举行的每个会议的活动开始时间和结束时间中有 2 个字段(事件发起 TZ)。 _time 也是指在这种情况下我不需要的 splunk 时间。我需要的是 date_hour、date_minutes、date_seconds...等显示事件本地时区时间(中国、欧洲、亚洲...等)。 所以当我坐在这里 pacific TZ 并尝试寻找 指数=测试“testincsso”| _time 统计计数(会议 ID) 以过去 4 小时的时间间隔,则输出应通过与过去 4 小时的本地 TZ 时间进行比较,从所有事件中获取计数来显示 Cenferences 的计数。 所以我需要在统计数据之前使用“| eval hour = strftime(_time,"%H")”或“| eval mytime=_time | convert timeformat="%H ctime(mytime)"。 谢谢

-更改时间选择器默认行为也可能会产生正确的结果。 我有来自不同 TZ 的“开始时间”和“结束时间”字段的事件。因此,当我尝试使用时间选择器搜索事件例如日期范围“06-16-2019”时,我应该通过查看事件中的“开始时间”字段而不是 Splunk 的“_time”来获取所有事件。 我想更改我的 splunk 时间选择器默认行为,并通过 sieng 事件字段(例如,“开始时间”和“结束时间”)提供输出。在源 xml 中更改的查询下方。

index=test sourcetype=webex] "testinc" |最早评估 = $toearliest$ |评估最新=if($tolatest$

【问题讨论】:

  • 欢迎来到 SO :) 究竟是什么问题?尝试格式化您的问题,以便我们轻松阅读。
  • 谢谢 :) 有信心和你在一起,伙计哈哈.. 刚刚更新的问题
  • 有机会看看吗?

标签: splunk timestamp-with-timezone


【解决方案1】:

如果您可以控制日志的生成方式,最好将时区作为时间戳的一部分。例如,“06/17/2019 07:00:53+0200”。然后 Splunk 可以轻松转换时间。

如果这不是一个选项,也许您可​​以指定读取日志时的时区。假设每个日志都存储在原始时区的系统上,通用转发器的 props.conf 节应包含一个 TZ 属性,告诉 Splunk 日志来自世界上的哪个位置。

如果这没有帮助,请编辑您的问题,说明您要解决的问题。

【讨论】:

  • 有机会看看吗?
  • 由于您无法在索引之前标准化时间,因此您必须在搜索时这样做。这意味着将时间戳转换为纪元形式,解释 GMT 偏移量,通过偏移量调整纪元时间,然后在结果时间上使用 stats 来获得结果。
  • 我正在运行此查询,但没有任何结果 display index=test sourcetype=webex "testinc" |最早评估 = 1560582000|评估最新 =if(1560668400 =earliest AND _time
  • 在“开始时间”周围使用单引号。双引号表示一个字符串,“开始时间”与给定的时间格式不匹配,因此strptime 失败。
猜你喜欢
  • 2021-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 2018-07-24
  • 2019-07-11
相关资源
最近更新 更多