Rsyslog is a multi-threaded implementation of syslogd (a system utility
providing support for message logging), with features that include:
This is a simple rsyslogd logging server. It is most interesting
when paired with the rsyslog-forwarder subordinate charm.
This charm provides support for setting up a simple rsyslogd logging server.
On this example we are going to deploy mysql
juju deploy mysql
Then you must deploy this charm
juju deploy rsyslog primary-rsyslog
Then you can deploy a rsyslog-forwarder-ha charm, which will forward all the syslog
messages from a specific service to this rsyslog server.
juju deploy rsyslog-forwarder-ha
Then relate both services
juju add-relation rsyslog-forwarder-ha mysql
Then you can deploy your rsyslog aggregators servers:
juju deploy rsyslog primary
Once your rsyslog aggregators are ready, you can relate them with your forwarder.
juju add-relation rsyslog-forwarder-ha primary-rsyslog
Once you have your rsyslog ports opened. You can change try this charm by running
juju ssh mysql/0
Then create a logger entry
mysql/0$ logger "testing"
Then see if the entry is being forwarded correctly:
juju ssh primary-rsyslog/0
primary-rsyslog/0$ grep testing /var/log/syslog
By default rsyslog charms uses the UDP protocol, but also RELP or tcp can be used.
juju set rsyslog protocol="relp"
juju set rsyslog-forwarder-ha protocol="relp"
For forwarding within the Juju environment use the subordinate charm rsyslog-forwarder-ha but to
forward the aggregated logs outside of the Juju environment you set the forward_* options.
juju set rsyslog forward_host="elk.my.domain"
juju set rsyslog forward_protocol="tcp"
juju set rsyslog forward_port="514"