Rsyslog

From HackerNet
Jump to: navigation, search

RSYSLOG står för rocket-fast system for log processing. Rsyslog är väldigt flexibelt har en mängd olika input plugins och output plugins som gör att du kan forwarda dina loggar till andra system som Elasticsearch, Kafka eller bara spara ner dina loggar till en fil som roterar dagligen.

Rsyslog lämpar sig därför väldigt bra som en central log aggeragator.

Installation

yum -y install rsyslog
apt-get install rsyslog

Konfiguration

Default så letar rsyslog efter .conf filer under /etc/rsyslog.d/

Syslog server

Starta en syslog server som lysnar på port 514 TCP/UDP och som sparar ner varje enhet i sin egen fil.

# Load modules for UDP & TCP
module(load="imudp")
module(load="imtcp")

# Start to listen on port 514 TCP/UDP
input(type="imudp" port="514")
input(type="imtcp" port="514")

# Templates
template(name="RemoteHost" type="string" string="/var/log/remote/%HOSTNAME%_%$YEAR%_%$MONTH%_%$DAY%.log")

# Actions
action(type="omfile" DynaFile="RemoteHost")

Kafka Output

Syslog server som tar emot på port 514 TCP/UDP och som exportar till en Kafka instans.

Ändra vilken Topic du använder och vilken broker du skickar till.

Du behöver också installera ett extra paket ifrån repot för att få denna funktion.

yum -y install rsyslog-kafka
apt-get install rsyslog-kafka
# Load modules for UDP & TCP
module(load="imudp")
module(load="imtcp")
module(load="omkafka")

# Start to listen on port 514 TCP/UDP
input(type="imudp" port="514")
input(type="imtcp" port="514")

# Actions
action(type="omkafka" Broker="<BROKER IP>" Topic="<KAFKA-TOPIC>")

Structured data - RFC5424

Ifall du har en syslog som följer RFC 5424 kan du använda dig av den fördefinierade templaten RSYSLOG_SyslogProtocol23Format för att behålla strukturen när du sparar till fil eller forwardar loggen till ett annat system.

action(type="omkafka" Broker="<BROKER IP>" Topic="<KAFKA-TOPIC>" template="RSYSLOG_SyslogProtocol23Format")