Project

General

Profile

LogstashIntegration » History » Version 5

« Previous - Version 5/6 (diff) - Next » - Current version
Lukas Zapletal, 11/16/2015 10:19 AM


BitScout Integration

Summary

Foreman orchestrates several other compoments (when Katello and other plugins are installed):

  • DHCP
  • DNS
  • TFTP
  • IPMI
  • Puppet Master
  • Puppet CA
  • Compute Resources: libvirt, oVirt, VmWare, OpenStack, Docker...
  • Candlepin
  • Pulp, Crane
  • Dynflow
  • Cron jobs
  • Other configuration management tools: Salt, Chef

Typical transaction of creating new host in Foreman involves:

  • acquiring next free IP on DHCP server
  • making DHCP reservation
  • creating DNS record
  • deploying PXELinux configuration, kernel and initramdisk on TFTP
  • signing certs on Puppet CA
  • contacting compute resrouce (e.g. oVirt) to configure and start the instance
  • and more (depending on plugins installed)

All those components generate logs depending on their configuration and they all log to either files or syslog/journald. Centralised logging with metadata brings transparency as we currently struggle to correlate messages coming out of individual systems with orchestration runs, sessions or users. Possibility to pass the metadata IDs into subsystems would be big advantage. Possible correlation identifiers are:

  • Foreman user id
  • Foreman session id
  • Foreman transaction id
  • Foreman host IP address
  • Foreman host MAC address
  • Foreman host provisioning token

Stories

As a Foreman user, I would like to collect logs from Smart Proxies and managed services at one place
As a Foreman user, I would like to extend the logs with metadata information
As a Foreman user, I would like to deploy log Dashboard and integrate Foreman with it
As a Dashboard user, I would like to browse Foreman logs and correlate them
As a Foreman user, I would like to be able to deploy Dashboard

Owners

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

Current status

  • Design WIP
  • Not yet implemented

Implementation

The implementation must build on top of tools which are available in RHEL 6 and 7 today. Looks like rsyslog/systemd would be the correct choice.

Foreman uses "logging" gem which is modular log4j-like logging framework with extensibility today. It allows integration with syslog at the moment.

TBD

Required steps

TBD