如果存在无法丢失的关键日志消息 (ALERT),syslog 如何通过 UDP 工作?日志消息顺序也很重要

Posted

技术标签:

【中文标题】如果存在无法丢失的关键日志消息 (ALERT),syslog 如何通过 UDP 工作?日志消息顺序也很重要【英文标题】:How can syslog work over UDP if there are critical log messages (ALERT) that cannot be lost? Also log message order is important 【发布时间】:2020-03-31 20:22:42 【问题描述】:

syslog 是否有任何可靠的 UDP 协议,丢失的消息会被重新发送或其他什么?还是 syslog 只能通过 TCP 使用?它如何解决通过 UDP 丢失关键日志消息的问题?还是消息乱码?

【问题讨论】:

【参考方案1】:

传统的 BSD Syslog 被设计为简单,不可靠,也不保证消息顺序。

其他 Syslog 实现(例如 rsyslog 和 syslog-ng)实现了可能具有这些属性的其他传输协议,例如 TCP 或 AMQP。但即便如此,日志记录始终是可选的,传输协议本身并不会改变整个日志记录系统的属性。

【讨论】:

以上是关于如果存在无法丢失的关键日志消息 (ALERT),syslog 如何通过 UDP 工作?日志消息顺序也很重要的主要内容,如果未能解决你的问题,请参考以下文章

如果队列不存在,则消息丢失

RocketMQ消息丢失场景及解决办法,这些知识你必须拿下

RabbitMQ如何确保消息不丢失?

基于 TCP 的 Python SysLogHandler:处理连接丢失

fluentd 丢失毫秒,现在日志消息在 elasticsearch 中乱序存储

今天面试总结,关于kafka 保证消息不丢失问题