/nomad_follower

Log forwarder for forwarding application logs from nomad worker agents.

Primary LanguageGoGNU General Public License v3.0GPL-3.0

nomad_follower

Log forwarder for aggregating allocation logs from nomad worker agents.

Running the application

Run the application on each worker in a nomad cluster.

docker pull sofixa/nomad_follower:latest
docker run -v log_folder:/log -e LOG_TAG="logging" "-e LOG_FILE="/log/nomad-forwarder.log" sofixa/nomad_follower:latest

Example Nomad job file available here, with an example job outputting random logs here.

nomad_follower:

  • will follow all allocations if it contains service tag nomad_follower (can be changed with LOG_TAG environment variable) on the worker and tail the allocation logs to the aggregate log file.
  • will stop following completed allocations and will start following new allocations as they become available.
  • can be deployed with nomad in a system task group along with a log collector. The aggregate log file can then be shared with the log collector by writing the aggregate log file into the shared allocation folder.
  • formats log entries as json formatted logs. It will convert string formatted logs to json formatted logs by passing the log entry in the message key.
  • adds a service_name key that contains the listed service names for a task.

Using nomad_follower prevents the cluster operator from having to run a log collector in every task group for every task on a worker while still allowing nomad to handle the logs for each allocation.

License and attribution

This project is a fork of this fork of this original project. Everything within is licensed under GPL v3