Rsyslog is a multi-threaded implementation of syslogd (a system utility providing support for message logging), with features that include: * reliable syslog over TCP, SSL/TLS and RELP * on-demand disk buffering * email alerting * writing to MySQL or PostgreSQL databases (via separate output plugins) * permitted sender lists * filtering on any part of the syslog message * on-the-wire message compression * fine-grained output format control * failover to backup destinations * enterprise-class encrypted syslog relaying 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
Setting the protocol
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"
Forwarding logs to a system outside of the Juju environment
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"
Mantainer: firstname.lastname@example.org Bugs: https://bugs.launchpad.net/charms/+source/rsyslog
Transport protocol to use available options: udp, relp, tcp
Number of days to rotate /var/log/messages and other associated files
The port on the forward_host to send logs to.
Transport protocol to use with the forward_host available options: udp, relp, tcp
Options to add to the forward config, currently only used by RELP
A host to forward all logs to.
Syslog style selector to specify which logs to forward. For example '*.crit' or 'auth.*'
Number of days to rotate /var/log/syslog file
Have an individual log file for each compute node as well as an aggregated log that contains nova logs from all nodes