日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在Debian9上使用Rsyslog安裝一臺中央日志服務(wù)器

在 linux 上,日志文件包含了系統(tǒng)功能的信息,系統(tǒng)管理員經(jīng)常使用日志來確認(rèn)機(jī)器上的問題所在。日志可以幫助管理員還原在過去的時間中在系統(tǒng)中發(fā)生的事件。一般情況下,Linux 中所有的日志文件都保存在 /var/log 目錄下。在這個目錄中,有保存著各種信息的幾種類型的日志文件。比如,記錄系統(tǒng)事件的日志文件、記錄安全相關(guān)信息的日志文件、內(nèi)核專用的日志文件、用戶或者 cron 作業(yè)使用的日志文件。日志文件的主要作用是系統(tǒng)調(diào)試。Linux 中的大部分的日志文件都由 rsyslogd 服務(wù)來管理。在最新的 Linux 發(fā)行版中,日志文件也可能是由 journald 系統(tǒng)服務(wù)來管理和控制的。journald 服務(wù)是 systemd 初始化程序的一部分。journald 以二進(jìn)制的格式存儲日志,以易失性的方式寫入到內(nèi)存和 /run/log/journal/ 中的環(huán)狀緩沖區(qū)中,但是,journald 也可以配置為永久存儲到 syslog 中。

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)簡陽,十年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

在 Linux 中,可以配置運(yùn)行一個 Rsyslog 服務(wù)器來中央化管理日志,在流行的服務(wù)端—客戶端模式中,通過 TCP 或者 UDP 傳輸協(xié)議基于網(wǎng)絡(luò)來發(fā)送日志信息,或者從網(wǎng)絡(luò)設(shè)備、服務(wù)器、路由器、交換機(jī)、以及其它系統(tǒng)或嵌入式設(shè)備中接受生成的日志。

Rsyslog 守護(hù)程序可以被同時配置為以客戶端或者服務(wù)端方式運(yùn)行。配置作為服務(wù)器時,Rsyslog 將缺省監(jiān)聽 TCP 和 UDP 的 514 端口,來收集遠(yuǎn)程系統(tǒng)基于網(wǎng)絡(luò)發(fā)送的日志信息。配置為客戶端運(yùn)行時,Rsyslog 將通過相同的 TCP 或 UDP 端口基于網(wǎng)絡(luò)來發(fā)送內(nèi)部日志信息。

Rsyslog 可以根據(jù)選定的屬性和動作來過濾 syslog 信息。Rsyslog 擁有的過濾器如下:

  1. 設(shè)備或者優(yōu)先級過濾器
  2. 基于特性的過濾器
  3. 基于表達(dá)式的過濾器

設(shè)備過濾器代表了生成日志的 Linux 內(nèi)部子系統(tǒng)。它們目前的分類如下:

  • auth/authpriv = 由驗證進(jìn)程產(chǎn)生的信息
  • cron = cron 任務(wù)相關(guān)的日志
  • daemon = 正在運(yùn)行的系統(tǒng)服務(wù)相關(guān)的信息
  • kernel = Linux 內(nèi)核信息
  • mail = 郵件服務(wù)器信息
  • syslog = syslog 或者其它守護(hù)程序(DHCP 服務(wù)器發(fā)送的日志在這里)相關(guān)的信息
  • lpr = 打印機(jī)或者打印服務(wù)器信息
  • local0 ~ local7 = 管理員控制下的自定義信息

優(yōu)先級或者嚴(yán)重程度級別分配如下所述的一個關(guān)鍵字或者一個數(shù)字。

  • emerg = 緊急 - 0
  • alert = 警報 - 1
  • err = 錯誤 - 3
  • warn = 警告 - 4
  • notice = 提示 - 5
  • info = 信息 - 6
  • debug = 調(diào)試 - 7 (最高級別)

此外也有一些 Rsyslog 專用的關(guān)鍵字,比如星號(*)可以用來定義所有的設(shè)備和優(yōu)先級,none 關(guān)鍵字更具體地表示沒有優(yōu)先級,等號(=)表示僅那個優(yōu)先級,感嘆號(!)表示取消這個優(yōu)先級。

Rsyslog 的動作部分由聲明的目的地來表示。日志信息的目的地可以是:存儲在文件系統(tǒng)中的一個文件、 /var/log/ 目錄下的一個文件、通過命名管道或者 FIFO 作為輸入的另一個本地進(jìn)程。日志信息也可以直達(dá)用戶,或者丟棄到一個“黑洞”(/dev/null)中、或者發(fā)送到標(biāo)準(zhǔn)輸出、或者通過一個 TCP/UDP 協(xié)議發(fā)送到一個遠(yuǎn)程 syslog 服務(wù)器。日志信息也可以保存在一個數(shù)據(jù)庫中,比如 MySQL 或者 PostgreSQL。

配置 Rsyslog 為服務(wù)器

在大多數(shù) Linux 發(fā)行版中 Rsyslog 守護(hù)程序是自動安裝的。如果你的系統(tǒng)中沒有安裝 Rsyslog,你可以根據(jù)你的系統(tǒng)發(fā)行版執(zhí)行如下之一的命令去安裝這個服務(wù)。運(yùn)行這個命令必須有 root 權(quán)限。

在基于 Debian 的發(fā)行版中:

sudo apt-get install rsyslog

在基于 RHEL 的發(fā)行版中,比如像 CentOS:

sudo yum install rsyslog

驗證 Rsyslog 守護(hù)進(jìn)程是否在你的系統(tǒng)中運(yùn)行,根據(jù)發(fā)行版不同,可以選擇運(yùn)行下列的命令:

在新的使用 systemd 的 Linux 發(fā)行版中:

systemctl status rsyslog.service

在老的使用 init 的 Linux 發(fā)行版中:

service rsyslog status

/etc/init.d/rsyslog status

啟動 rsyslog 守護(hù)進(jìn)程運(yùn)行如下的命令。

在使用 init 的老的 Linux 版本:

service rsyslog start

/etc/init.d/rsyslog start

在最新的 Linux 發(fā)行版:

systemctl start rsyslog.service

安裝一個 rsyslog 程序運(yùn)行為服務(wù)器模式,可以編輯主要的配置文件 /etc/rsyslog.conf 。可以使用下列所示的命令去改變它。

sudo vi /etc/rsyslog.conf

為了允許在 UDP 的 514 端口上接收日志信息,找到并刪除下列行前面的井號(#)以取消注釋。缺省情況下,UDP 端口用于 syslog 去接收信息。

$ModLoad imudp
$UDPServerRun 514

因為在網(wǎng)絡(luò)上使用 UDP 協(xié)議交換數(shù)據(jù)并不可靠,你可以設(shè)置 Rsyslog 使用 TCP 協(xié)議去向遠(yuǎn)程服務(wù)器輸出日志信息。為了啟用 TCP 協(xié)議去接受日志信息,打開 /etc/rsyslog.conf 文件并刪除如下行前面的井號(#)以取消注釋。這將允許 rsyslog 守護(hù)程序去綁定并監(jiān)聽 TCP 協(xié)議的 514 端口。

$ModLoad imtcp
$InputTCPServerRun 514

在 rsyslog 上可以同時啟用兩種協(xié)議。

如果你想去指定哪個發(fā)送者被允許訪問 rsyslog 守護(hù)程序,可以在啟用協(xié)議行的后面添加如下的行:

$AllowedSender TCP, 127.0.0.1, 10.110.50.0/24, *.yourdomain.com

在接收入站日志信息之前,你需要去創(chuàng)建一個 rsyslog 守護(hù)程序解析日志的新模板,這個模板將指示本地 Rsyslog 服務(wù)器在哪里保存入站的日志信息。在 $AllowedSender 行后以如下示例去創(chuàng)建一個合適的模板。

$template Incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
*.*  ?Incoming-logs
& ~

為了僅接收內(nèi)核生成的日志信息,可以使用如下的語法。

kern.*   ?Incoming-logs

接收到的日志由上面的模板來解析,它將保存在本地文件系統(tǒng)的 /var/log/ 目錄的文件中,之后的是以客戶端主機(jī)名客戶端設(shè)備名命名的日志文件名字:%HOSTNAME%%PROGRAMNAME% 變量。

下面的 & ~ 重定向規(guī)則,配置 Rsyslog 守護(hù)程序去保存入站日志信息到由上面的變量名字指定的文件中。否則,接收到的日志信息將被進(jìn)一步處理,并將保存在本地的日志文件中,比如,/var/log/syslog 文件中。

為添加一個規(guī)則去丟棄所有與郵件相關(guān)的日志信息,你可以使用下列的語法。

mail.* ~

可以在輸出文件名中使用的其它變量還有:%syslogseverity%、%syslogfacility%%timegenerated%、%HOSTNAME%、%syslogtag%、%msg%%FROMHOST-IP%、%PRI%%MSGID%、%APP-NAME%、%TIMESTAMP%、%$year%、%$month%、%$day%

從 Rsyslog 版本 7 開始,將使用一個新的配置格式,在一個 Rsyslog 服務(wù)器中聲明一個模板。

一個版本 7 的模板應(yīng)該看起來是如下行的樣子。

template(name="MyTemplate" type="string"
         string="/var/log/%FROMHOST-IP%/%PROGRAMNAME:::secpath-replace%.log"
        )

另一種模式是,你也可以使用如下面所示的樣子去寫上面的模板:

template(name="MyTemplate" type="list") {
    constant(value="/var/log/")
    property(name="fromhost-ip")
    constant(value="/")
    property(name="programname" SecurePath="replace")
    constant(value=".log")
    } 

為了讓 Rsyslog 配置文件的變化生效,你必須重啟守護(hù)程序來加載新的配置。

sudo service rsyslog restart
sudo systemctl restart rsyslog

在 Debian Linux 系統(tǒng)上去檢查它監(jiān)聽哪個套接字,你可以用 root 權(quán)限去運(yùn)行 netstat 命令。將輸出傳遞給一個過濾程序,比如 grep。

sudo netstat -tulpn | grep rsyslog

請注意: 為了允許建立入站連接,你必須在防火墻上打開 Rsyslog 的端口。

在使用 Firewalld 的基于 RHEL 的發(fā)行版上,運(yùn)行如下的命令:

firewall-cmd --permanent --add-port=514/tcp
firewall-cmd --permanent --add-port=514/tcp
firewall-cmd -reload

在使用 UFW 的基于 Debian 的發(fā)行版上,運(yùn)行如下的命令:

ufw allow 514/tcp
ufw allow 514/udp

Iptables 防火墻規(guī)則:

iptables -A INPUT -p tcp -m tcp --dport 514 -j ACCEPT
iptables -A INPUT -p udp --dport 514 -j ACCEPT

配置 Rsyslog 作為一個客戶端

啟用 Rsyslog 守護(hù)程序以客戶端模式運(yùn)行,并將輸出的本地日志信息發(fā)送到遠(yuǎn)程 Rsyslog 服務(wù)器,編輯 /etc/rsyslog.conf 文件并增加下列的行:

*. * @IP_REMOTE_RSYSLOG_SERVER:514
*. * @FQDN_RSYSLOG_SERVER:514

這個行啟用了 Rsyslog 服務(wù),并將輸出的所有內(nèi)部日志發(fā)送到一個遠(yuǎn)處的 UDP 的 514 端口上運(yùn)行的 Rsyslog 服務(wù)器上。

為了使用 TCP 協(xié)議去發(fā)送日志信息,使用下列的模板:

*. *  @@IP_reomte_syslog_server:514

輸出所有優(yōu)先級的、僅與 cron 相關(guān)的日志信息到一個 Rsyslog 服務(wù)器上,使用如下的模板:

cron.* @ IP_reomte_syslog_server:514

/etc/rsyslog.conf 文件中添加下列行,可以在 Rsyslog 服務(wù)器無法通過網(wǎng)絡(luò)訪問時,臨時將客戶端的日志信息存儲在它的一個磁盤緩沖文件中,當(dāng)網(wǎng)絡(luò)或者服務(wù)器恢復(fù)時,再次進(jìn)行發(fā)送。

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

為使上述規(guī)則生效,需要重新 Rsyslog 守護(hù)程序,以激活為客戶端模式。



文章標(biāo)題:在Debian9上使用Rsyslog安裝一臺中央日志服務(wù)器
轉(zhuǎn)載來源:http://m.5511xx.com/article/codjhhc.html