LogstashIntegration » History » Version 1

Version 1/6 - Next » - Current version
Lukas Zapletal, 07/22/2015 04:17 AM
Initial idea

Logstash Integration


Foreman has many compoments involved and when Katello plugin is installed with it's
orchestration capabilities as well as other plugins, possibility to effectively collect
logs in a single place with flexible metadata and interface is a big plus.

Logstash open-source project was picked up as the target to integrate with. It is a Ruby
modular framework (jRuby actually) with modular backends and inputs.


  • Lukáš Zapletal (Foreman) - `lzap_at_redhat_dot_com`

Current status

  • Design done
  • Not yet implemented


Foreman uses logging gem which is modular log4j-like logging framework with great
extensibility. Although direct integration via logging-logstash should be possible (,
integration via journald would provide better flexibility of logging from all other
components (foreman-proxy, backend systems) or even scripts (seed, migrate, foreman_hooks) with support of all
metadata. There is a POC journald reader for logstash available:


Foreman would benefit from the following extra logging fields:

  • Session ID: User session - usually a browser session if applicable.
  • Transaction/Correlation ID - Usually UUID of the transaction that the logs belong to. This way we can correlate logs from orchestration runs for all services that are under our control: Foreman, Foreman-Proxy, Plugins, Candlepin, Pulp