16.1 理解 Sentinel 中的时间

Sentinel 是由分布到您的整个网络中的多个进程组成的分布式系统。此外,事件源可能会引入一定的延迟。为了适应此需求,Sentinel 进程会在处理事件之前将事件重新排序到一个时序流中。

每个事件都有三个时间字段:

下图演示了 Sentinel 实现此目的的方式:

图 16-1 Sentinel 时间

  1. 默认情况下,“事件时间”设置为“Sentinel 进程时间”。但是,理想情况是使“事件时间”与“观察器事件时间”相匹配(如果它可用且可信赖)。最好将数据收集配置为信任事件源时间(如果设备时间可用、准确且已由收集器正确分析)。收集器会将“事件时间”设置为与“观察器事件时间”相匹配。

  2. “事件时间”与服务器时间相差 5 分钟内(在过去或未来)的事件通常由活动视图来处理。“事件时间”与服务器时间在未来相差 5 分钟以上的事件不会显示在活动视图中,但会插入事件储存中。“事件时间”与服务器时间在未来相差 5 分钟以上并在过去相差不到 24 小时的事件仍然会显示在图表中,但不会显示在该图表的事件数据中。必须执行向下钻取操作才能从事件储存中检索这些事件。

  3. 事件将排序到 30 秒的时间间隔中,以便关联引擎可以按时间顺序处理它们。如果“事件时间”早于服务器时间 30 秒以上,则关联引擎不会处理这些事件。

  4. 如果“事件时间”早于收集器管理器系统时间 5 分钟以上,Sentinel 会直接将这些事件路由到事件储存,从而绕过“关联”、“活动视图”和“安全智能”等实时系统。