If you’re a bit slow on the uptake, like me … this might help.
Basic logging to Loggly is simple enough –
References : https://www.loggly.com/docs/rsyslog-tls-configuration/ gets you to add in an omfwd action and a template with auth details in …
However, when you also want to mix in sending Apache logs to loggly, and at the same time want to suppress sending some lines ….. life becomes a bit harder.
Here’s what worked for me anyway… replace MAGIC_AUTH_TOKEN_HERE with your loggly auth details.
Place this in /etc/rsyslog.d/loggly.conf.
# Setup disk assisted queues $WorkDirectory /var/spool/rsyslog # where to place spool files $ActionQueueFileName fwdRule1 # unique name prefix for spool files $ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible) $ActionQueueSaveOnShutdown on # save messages to disk on shutdown $ActionQueueType LinkedList # run asynchronously $ActionResumeRetryCount -1 # infinite retries if host is down #RsyslogGnuTLS $DefaultNetstreamDriverCAFile /etc/rsyslog.d/keys/ca.d/logs-01.loggly.com_sha12.crt $ActionSendStreamDriver gtls # use gtls netstream driver $ActionSendStreamDriverMode 1 # require TLS $ActionSendStreamDriverAuthMode x509/name # authenticate by hostname $ActionSendStreamDriverPermittedPeer *.loggly.com template(name="LogglyFormat" type="string" string="< %pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [MAGIC_AUTH_TOKEN_HERE tag=\"Syslog\"] %msg%\n" ) module(load="imfile") # Apache file inputs : input(type="imfile" File="/var/log/apache2/access.log" Tag="apache-access" Severity="info" Facility="local7") input(type="imfile" File="/var/log/apache2/error.log" Tag="apache-error" Severity="error" Facility="local7") # Format for Apache things. $template LogglyFormatApache,"< %pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [MAGIC_AUTH_TOKEN_HERE tag=\"apache\" ] %msg%\n" if ( $programname == 'apache-access' ) and not ( $msg contains "/something-to-skip/" ) then { action( type="omfwd" protocol="tcp" target="logs-01.loggly.com" port="6514" template="LogglyFormatApache" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.loggly.com" ) stop } # no further processing of apache-access things if ( $programname == 'apache-access') then stop if ( $programname == 'apache-error' ) then { action( type="omfwd" protocol="tcp" target="logs-01.loggly.com" port="6514" template="LogglyFormatApache" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.loggly.com" ) stop } if ( $programname == 'apache-error') then stop # Anything else ... sent to loggly. action( type="omfwd" protocol="tcp" target="logs-01.loggly.com" port="6514" template="LogglyFormatApache" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.loggly.com" )