当 Auditbeat 的输出关闭时会发生什么

What happens when the ouput of Auditbeat is down

我正在使用以下管道转发数据

Auditbeat ---> logstash ---> ES

假设logstash机器挂了,我想知道Auditbeat是怎么处理的。

我想知道具体情况

  1. 是否有重试机制?
  2. 多久会重试?
  3. 审核日志会发生什么情况,会丢失吗?
  4. 我问问题 3 的原因是,我们通过禁用 auditd 服务(它在 /var/log/audit/audit.log 下生成审计日志)来启用 auditbeat。所以 如果 logstash 出现故障,则不会发生数据转发,因此可能会丢失数据。请说明。

  5. 如果在 logstash 关闭时 auditbeat 正在存储数据,它在哪里这样做?分配给这个保存过程的内存(磁盘space)是多少?

提前致谢

A​​uditbeat 有一个内部队列,用于在将事件发送到配置的输出之前存储事件,默认情况下,该队列是一个内存队列,最多可存储 4096 个事件。

如果队列已满,在输出返回并开始从auditbeat接收数据之前,不会再存储更多的事件,这里存在数据丢失的风险。

您可以更改内存队列存储的事件数。

还有使用文件队列的选项,它会在发送到配置的输出之前将事件保存到磁盘,但此功能仍处于测试阶段。

您可以在 documentation 中阅读有关内部队列的信息。