ROS 2 logging rsyslog / FluentBit

rcl_logging_syslog

ROS 2 logging rsyslog / FluentBit
ROS 2 logging rsyslog / FluentBit

Objectives

  • Configure log behavior without code change.
  • Reasonable Performance.
  • Log data pipeline and forward capability support.
  • Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.
ROS 2 logging rsyslog / FluentBit
ROS 2 logging rsyslog / FluentBit

Demo FluentBit

ROS 2 logging rsyslog / FluentBit

Demo Fluentd/Loki/Grafana

ROS 2 logging rsyslog / FluentBit

rsyslog

a.k.a rocket-fast system for log processing 🚀🚀🚀

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline.
So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

ROS 2 logging rsyslog / FluentBit

FluentBit

ROS 2 logging rsyslog / FluentBit
  • Lightweight and Efficient: suitable for environments with limited computational power.
  • High Performance: capable of handling high-volume data streams with minimal latency. It leverages asynchronous I/O and efficient data processing techniques to ensure optimal performance.
  • Flexibility: supports a wide range of data sources and destinations.
  • Configurability: offers a flexible configuration language that allows you to customize its behavior to fit your specific needs.
  • Extensibility: highly extensible through plugins including custom ones.
  • Scalability: easily scaled horizontally to handle increasing data volumes by deploying multiple instances.
  • Reliability: features like fault tolerance and retry mechanisms to ensure data reliability.
ROS 2 logging rsyslog / FluentBit

Issues and PRs always welcome 🚀

https://github.com/fujitatomoya/rcl_logging_syslog

Comment Here

Note that rolling is officially verified, but other distros should work without any change. rcl_logging_syslog is only dependent on legacy syslog(3C) interface, so no difference at all.

Comment Here

This logging design is just one of the example can be supported by the architecture. rsyslog and FluentBit enables user to support any log data pipeline with security TLS. Even more, this architecture can take advantage of Cloud-Native services and tools.

Comment Here

Comment Here

SYSLOG(3) is really simple that does not have much interfaces to control on application side, it just writes the log data on rsyslog Unix Domain Socket.

Comment Here

Comment Here