journald-to-cloudwatch

Crates.iojournald-to-cloudwatch
lib.rsjournald-to-cloudwatch
version1.2.1
sourcesrc
created_at2019-07-26 13:44:53.74295
updated_at2024-03-17 17:17:20.967483
descriptionService that copies logs from journald to AWS CloudWatch Logs.
homepage
repositoryhttps://github.com/nicholasbishop/journald-to-cloudwatch
max_upload_size
id151786
size130,092
Nicholas Bishop (nicholasbishop)

documentation

README

journald-to-cloudwatch

This tool is no longer under active development. If you are interested in taking over or repurposing the name on crates.io, feel free to contact me: nbishop@nbishop.net

This is a simple service that copies logs from journald to AWS CloudWatch Logs.

The implementation is very basic. It does not copy logs that were created prior to journald-to-cloudwatch starting. It has only one configuration option, which is the name of the log group. The log stream name is derived from the instance name (the service assumes it is running on an EC2 instance).

Usage

To build the service for EC2:

tools/package.py

This builds in a Docker container that has the libraries an awslinux2 EC2 instance would have.

The output is release/journald-to-cloudwatch-{version}.tar.gz. Copy that to an EC2 instance. There is an example service configuration file in the tarball. Copy that to /etc/systemd/system/ and modify LOG_GROUP_NAME to the name of your log group. Note that the log group must exist for the service to work; it will not create the log group.

IAM policy

The following permissions are required:

logs:CreateLogStream
logs:DescribeLogStreams
logs:PutLogEvents
Commit count: 30

cargo fmt