sudo yum install rsyslog
mysql
不幸的是,發行版一般提供至關舊的rsyslog版本。能夠經過官網下載rpm或deb包來安裝新版,或使用docker容器安裝。sql
通常來講,這句也不用執行,系統已經默認安裝過了!docker
這是rsyslog下載連接 例如:安全
cd /etc/yum.repos.d/
wget http://rpms.adiscon.com/v8-stable/rsyslog.repo
yum install rsyslog
複製代碼
rsyslogd -ver
bash
別說版本仍是很新的,v8: app
docker run -ti rsyslog/syslog_appliance_alpine
elasticsearch
一般在/etc/rsyslog.conftcp
配置語法有三種,見名知義的:模塊化
basic
模式仍被建議使用對於大多數由簡單語句組成的配置仍然建議使用該格式ui
# 把mail的info級別的日誌寫入到mail.log
mail.info /var/log/mail.log
# 把mail的error級別的日誌使用tcp協議轉發到遠端server上
mail.err @@server.example.net
複製代碼
advanced
格式優點:
對於上面的例子,好比你想在遠端server目標掉線時不丟數據,使用以下如法:
mail.err action(type="omfwd" protocol="tcp" queue.type="linkedList" target="server")
高端大氣上檔次
module(load="module-name")
module(load="imtcp" maxSessions="500")
使用 &
連接出一個行動鏈條
*.error /var/log/errorlog
& @remote
複製代碼
完整寫法:
*.error {
action(type="omfile" file="/var/log/errorlog")
action(type="omfwd" target="remote" protocol="udp")
}
複製代碼
這樣易於拓展,模塊化不易出錯。 stop
阻止進一步的處理,符號爲~
:
:msg, contains, "error" @remote
& ~
複製代碼
高級寫法爲:
:msg, contains, "error" {
action(type="omfwd" target="remote" protocol="udp")
stop
}
複製代碼
或:
if $msg contains "error" then {
action(type="omfwd" target="remote" protocol="udp")
stop
}
複製代碼
語法爲:選擇器字段 (空格或TAB) 行動字段
選擇器由facility
和priority
組成,用.
鏈接起來。這兩者遵循syslog(3)描述。 可直接經過系統文件/usr/include/sys/syslog.h
查看相應值。
facility: auth, authpriv, cron, daemon, ftp, kern, lpr, mail, mark, news, security (same as auth), syslog, user, uucp and local0 through local7.
priority: debug, info, notice, warning, err, crit, alert, emerg.
warn, error and panic 已被棄用!
「*」表明所有,none
表明沒有,「,」分隔多個設施,「;」分隔多規則
行動抽象了一個「日誌文件」。
# Store critical stuff in critical
#
*.=crit;kern.none /var/adm/critical
#########
# Kernel messages are stored in the kernel file,
# critical messages and higher ones also go
# to another host and to the console
#
kern.* /var/adm/kernel
kern.crit @finlandia
kern.crit /dev/console
kern.info;kern.!err /var/adm/kernel-info
#########
# The tcp wrapper logs with mail.info, we display
# all the connections on tty12
#
mail.=info /dev/tty12
############
# Write all mail related logs to a file except for the info priority.
#
mail.*;mail.!=info /var/adm/mail
########
# Log all mail.info and news.info messages to info
#
mail,news.=info /var/adm/info
# Log info and notice messages to messages file
#
*.=info;*.=notice;\
mail.none /var/log/messages
複製代碼