4

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

Auditbeat ---> logstash ---> ES

假设如果 logstash 机器出现故障,我想知道 Auditbeat 如何处理这种情况。

我想知道具体的

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

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

提前致谢

4

1 回答 1

2

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

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

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

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

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

于 2019-07-09T15:44:39.397 回答