Enabling Rsyslog

Rsyslog is the rocket-fast system for log processing, and you can use it to forward logs from the database server onto your own machines.

Rsyslog allows communication between an Rsyslog server and client:

  • An Rsyslog server is the machine that receives messages
  • An Rsyslog client is the machine that sends messages
    You can enable the Rsyslog service on your database server to allow it to become an Rsyslog client.

Setting Up the Rsyslog Server

First, you will need to configure an Rsyslog server to receive messages.

To set up the server, on your machine you’ll need to set up your configuration to accept UDP (or TCP) connections and tell the service what to do with the incoming messages. This can be done like so, in /etc/rsyslog.conf:

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514" ruleset="remote")
$template Incoming-logs,"/var/log/remote-logs/%HOSTNAME%/%PROGRAMNAME%.log"

ruleset(name="remote"){

action(type="omfile" dynafile="Incoming-logs")

}

This will tell the machine to save all incoming messages sent to port 514 to /var/log/remote-logs/host-name/<program>.

Make sure to run systemctl restart rsyslog to ensure that the configuration is being implemented. You will also need to ensure that the desired port is open and listening to TCP or UDP.

Enabling Rsyslog Client on ScaleGrid Database Server

Enabling this service can be done in a few easy steps. Please note that we currently only support Rsyslog services on servers running CentOS7. First, you will need to set the global Rsyslog server configuration:

  1. In the Settings page, navigate to Logs in the sidebar
1871
  1. From here, click Configure Rsyslog Settings to add your Rsyslog servers. You will need the IP address or DNS name and port for the server. You can use either UDP or TCP protocols.
896
  1. You can click the Facilities menu to select the logs you wish to be forwarded to your server:
862

📘

The selected logs will be forwarded to all the servers you added in the previous step.

  1. Once these settings are saved, they need to be applied at the cluster level. Navigate to your desired cluster’s Admin > Ryslog Config page where you can enable the rsyslog service:
1639
  1. Saving this will enable the global Rsyslog configurations on the specified database server, and you should begin receiving logs within a few minutes.

📘

If you make any changes to the global Rsyslog configurations, you will need to re-enable Rsyslog on your database.

And that's it! Rsyslog should now be enabled on your specified database server. For further information, please read the official Rsyslog documentation linked below.