当 Auditbeat 的输出关闭时会发生什么
What happens when the ouput of Auditbeat is down
我正在使用以下管道转发数据
Auditbeat ---> logstash ---> ES
假设logstash机器挂了,我想知道Auditbeat是怎么处理的。
我想知道具体情况
- 是否有重试机制?
- 多久会重试?
- 审核日志会发生什么情况,会丢失吗?
我问问题 3 的原因是,我们通过禁用 auditd 服务(它在 /var/log/audit/audit.log 下生成审计日志)来启用 auditbeat。所以
如果 logstash 出现故障,则不会发生数据转发,因此可能会丢失数据。请说明。
如果在 logstash 关闭时 auditbeat 正在存储数据,它在哪里这样做?分配给这个保存过程的内存(磁盘space)是多少?
提前致谢
Auditbeat 有一个内部队列,用于在将事件发送到配置的输出之前存储事件,默认情况下,该队列是一个内存队列,最多可存储 4096 个事件。
如果队列已满,在输出返回并开始从auditbeat接收数据之前,不会再存储更多的事件,这里存在数据丢失的风险。
您可以更改内存队列存储的事件数。
还有使用文件队列的选项,它会在发送到配置的输出之前将事件保存到磁盘,但此功能仍处于测试阶段。
您可以在 documentation 中阅读有关内部队列的信息。
我正在使用以下管道转发数据
Auditbeat ---> logstash ---> ES
假设logstash机器挂了,我想知道Auditbeat是怎么处理的。
我想知道具体情况
- 是否有重试机制?
- 多久会重试?
- 审核日志会发生什么情况,会丢失吗?
我问问题 3 的原因是,我们通过禁用 auditd 服务(它在 /var/log/audit/audit.log 下生成审计日志)来启用 auditbeat。所以 如果 logstash 出现故障,则不会发生数据转发,因此可能会丢失数据。请说明。
如果在 logstash 关闭时 auditbeat 正在存储数据,它在哪里这样做?分配给这个保存过程的内存(磁盘space)是多少?
提前致谢
Auditbeat 有一个内部队列,用于在将事件发送到配置的输出之前存储事件,默认情况下,该队列是一个内存队列,最多可存储 4096 个事件。
如果队列已满,在输出返回并开始从auditbeat接收数据之前,不会再存储更多的事件,这里存在数据丢失的风险。
您可以更改内存队列存储的事件数。
还有使用文件队列的选项,它会在发送到配置的输出之前将事件保存到磁盘,但此功能仍处于测试阶段。
您可以在 documentation 中阅读有关内部队列的信息。