自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談rsyslog日志服務(wù)及應(yīng)用

開源
rsyslog作為一個功能強大的開源工具,因其可靠性、靈活性和可擴展性而成為許多組織和開發(fā)人員的首選。

Labs 導(dǎo)讀

在現(xiàn)代計算和網(wǎng)絡(luò)環(huán)境中,日志管理變得至關(guān)重要,尤其是在企業(yè)日志管理、應(yīng)用故障排除以及安全事件監(jiān)控中。無論是在企業(yè)內(nèi)部的服務(wù)器集群中,還是在公有云中的分布式應(yīng)用系統(tǒng)中,分析日志數(shù)據(jù)對于監(jiān)控、故障排除、性能優(yōu)化和安全性都至關(guān)重要。

Part 01、 rsyslog介紹 

1.1 rsyslog日志服務(wù)簡介

rsyslog (rocket-fast system for log)是基于syslog協(xié)議完成系統(tǒng)日志的處理轉(zhuǎn)發(fā),它是一個極速的日志處理系統(tǒng),性能可以達(dá)到每秒百萬級別。它提供高性能、極好的安全功能和模塊化設(shè)計。

特性:

①高性能:rsyslog采用了高效的線程模型和異步處理機制,能夠快速而穩(wěn)定地處理大量的日志數(shù)據(jù)。

②靈活強大:rsyslog支持多種輸入和輸出模塊,可以與各種設(shè)備和系統(tǒng)集成,例如syslog、tcp、udp、tls等。同時,rsyslog還支持多種過濾和處理規(guī)則,可以根據(jù)需求定制化日志的存儲、轉(zhuǎn)發(fā)和處理方式。

③可擴展性:rsyslog具有良好的可擴展性,可以根據(jù)需求進(jìn)行定制開發(fā)和插件擴展,滿足不同場景下的日志管理需求。

④安全性:rsyslog支持加密傳輸和認(rèn)證機制,保證日志數(shù)據(jù)的安全性和完整性。

圖1 rsyslog架構(gòu)圖

如圖1所示,rsyslog的消息流是從輸入模塊->預(yù)處理模塊->主隊列->過濾模塊- >執(zhí)行隊列->輸出模塊。

1.2 rsyslog基本配置

rsyslog引入了facility(設(shè)施)的概念,也就是 rsyslog服務(wù)進(jìn)程所要接收日志的各代理,這些代理負(fù)責(zé)收集對應(yīng)的日志信息;常用的日志設(shè)施有如下幾種:

auth , authpriv , cron , daemon , kern , lpr , mail , news , syslog , user, ftp , uucp , security, local0 ~ local7 ;另外系統(tǒng)日志還有priority優(yōu)先級概念,可用的優(yōu)先級包含 debug (7) , info (6) , notice (5) , warning (4) , err (3) , crit (2) , alert (1) , emerg (0) ,如圖2所示:

圖2 rsyslog的設(shè)施/優(yōu)先級圖

基于設(shè)施/優(yōu)先級的過濾器是最常用的方法,語法如下:FACILITY.PRIORITY,如圖3所示,為rsyslog的默認(rèn)規(guī)則。

圖3 rsyslog默認(rèn)rules圖

基礎(chǔ)格式,即最簡單的配置格式,沒有任何多余的功能,配置中默認(rèn)的內(nèi)容即為此格式。

# 郵件的所有信息存在/var/log/maillog;這里有一個“-”符號表示是使用異步的方式記錄
mail.*                                   -/var/log/maillog
# 郵件的錯誤信息轉(zhuǎn)發(fā)到server.example.com,使用tcp連接(@@)
mail.error                                @@server.example.com

高級格式,支持更多模塊,更多參數(shù),更多選項,并且允許對日志格式,內(nèi)容等進(jìn)行自定義修改的格式。

# 郵件的所有信息存在/var/log/maillog;這里有一個“-”符號表示是使用異步的方式記錄
mail.* action(type="omfile" File="/var/log/maillog")
# 郵件的錯誤信息轉(zhuǎn)發(fā)到server.example.com,使用tcp連接(@@)
mail.error  action(type="omfwd" Target="server.example.com" Port="10514" Protocol="tcp")

rsyslog.conf中還包括用于指定日志的輸入、輸出、過濾、格式化等操作,以下是rsyslog.conf配置文件的詳解:

1.2.1 輸入模塊配置

rsyslog.conf文件中的輸入模塊用于指定從哪些源獲取日志信息,包括本地日志、遠(yuǎn)程日志、系統(tǒng)日志等。常用的輸入模塊包括:

  • imuxsock: 用于從Unix域套接字讀取本地日志信息。
  • imudp: 用于從UDP協(xié)議接收遠(yuǎn)程日志信息。
  • imtcp: 用于從TCP協(xié)議接收遠(yuǎn)程日志信息。
  • imiournal: 用于從systemd-iournald服務(wù)讀取系統(tǒng)日志信息。

1.2.2 過濾模塊配置

rsyslog.conf文件中的過濾模塊用于根據(jù)規(guī)則過濾日志信息,只保留符合條件的日志信息。常用的過濾模塊包括:

  • if: 用于根據(jù)條件過濾日志信息。
  • regex: 用于根據(jù)正則表達(dá)式過濾日志信息。
  • property: 用于根據(jù)屬性過濾日志信息。

1.2.3 輸出模塊配置

rsyslog.conf文件中的輸出模塊用于指定將日志信息輸出到哪些目標(biāo),包括文件、數(shù)據(jù)庫、網(wǎng)絡(luò)等。常用的輸出模塊包括:

  • omfile: 用于將日志信息輸出到文件。
  • ommysgl: 用于將日志信息輸出到MySQL數(shù)據(jù)庫。
  • omelasticsearch: 用于將日志信息輸出到Elasticsearch搜索引警。
  • omfwd: 用于將日志信息轉(zhuǎn)發(fā)到遠(yuǎn)程rsyslog服務(wù)器。

1.2.4 格式化模塊配置

rsyslg.conf文件中的格式化模塊用于指定日志信息的格式,包括時間、主機名、進(jìn)程名、日志級別等。常用的格式化模塊包括:

  • template: 用于定義日志信息的格式模板。
  • property: 用于指定日志信息中的屬性,如時間、主機名、進(jìn)程名等。
  • msg: 用于指定日志信息的內(nèi)容。

Part 02、  rsyslog轉(zhuǎn)發(fā) 

2.1 客戶端配置

對于客戶端,我們需要在rsyslog的配置文件中進(jìn)行一些設(shè)置。首先,我們需要指定要發(fā)送的目標(biāo)主機和端口號。這可以通過設(shè)置*.* @@<目標(biāo)主機>:<端口號>來實現(xiàn),如下所示。

*.* @@192.168.75.137:514             # tcp 協(xié)議
*.* @192.168.75.137:514               # udp 協(xié)議

接著,我們可以設(shè)置一些過濾條件,以便只將某些特定類型的日志消息發(fā)送到目標(biāo)系統(tǒng)。這可以通過設(shè)置類似于if $msg contains '<關(guān)鍵詞>' then @@<目標(biāo)主機>:<端口號>的語句來實現(xiàn)。最后,我們還可以設(shè)置一些其他的參數(shù),如發(fā)送協(xié)議、超時時間等等。

2.2 服務(wù)端配置

對于服務(wù)端,我們需要配置rsyslog服務(wù)器來接收和處理轉(zhuǎn)發(fā)過來的日志消息。首先,我們需要設(shè)置rsyslog服務(wù)器監(jiān)聽的端口號,接著,我們需要在配置文件中指定處理轉(zhuǎn)發(fā)過來的日志消息的方式,如將其志消息保存到本地文件中、存儲到數(shù)據(jù)庫中、發(fā)送到其他系統(tǒng)等等。這可以通過在配置文件中設(shè)置類似于*.* /var/log/file的語句來實現(xiàn)。

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
$AllowedSender tcp, 192.168.34.100/24
$template RemoteLogs,"/var/log/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"
*.*  ?RemoteLogs
  • 可以通過$AllowedSender控制只允許192.168.34.0網(wǎng)段內(nèi)的主機以 tcp 協(xié)議來傳輸。
  • $template Remote定義了模板,保存的路徑和文件名均可自定義,同時也區(qū)分了不同主機的日志。
  • $InputTCPServerRun 514開啟tcp,tcp和udp可以共存的。

Part 03、  rsyslog加密  

除了轉(zhuǎn)發(fā)日志消息,rsyslog還提供了加密傳輸日志消息的功能。當(dāng)我們需要在公共網(wǎng)絡(luò)上傳輸敏感信息時,如個人身份信息、密碼等等,加密傳輸就變得尤為重要。rsyslog提供了基于TLS/SSL協(xié)議的加密傳輸功能,可以保證日志消息在傳輸過程中的機密性和完整性。如圖4所示,非加密方式與加密方式客戶端服務(wù)端的對比:

圖4 非加密方式與加密方式客戶端服務(wù)端對比

下面我來介紹下如何加密:

步驟1:安裝gnutls-utils

yum install gnutls-utils

步驟2:生成證書和密鑰

certtool --generate-privkey --outfile ca-key.pem --bits 2048
certtool --generate-self-signed --load-privkey ca-key.pem --outfile ca.pem --template ca.cfg

步驟3:生成&分發(fā)各機器需要的證書

certtool --generate-privkey --outfile key.pem --sec-param 2048
certtool --generate-request --load-privkey key.pem --outfile request.pem
certtool --generate-certificate --load-request request.pem --outfile cert.pem --load-ca-certificate ca.pem --load-ca-privkey ca-key.pem

步驟4:配置rsyslog

$ DefaultNetstreamDriver gtls
#證書文件 
$DefaultNetstreamDriverCAFile="/etc/rsyslog.d/gnutls/ca.pem"
$DefaultNetstreamDriverCertFile="/etc/rsyslog.d/gnutls/server-cert.pem"
$DefaultNetstreamDriverKeyFile="/etc/rsyslog.d/gnutls/server-key.pem"

步驟5:重啟rsyslog服務(wù)

service rsyslog restart

Part 04、  應(yīng)用場景 

應(yīng)用場景1:對多臺服務(wù)器日志進(jìn)行匯聚,通過Kafka+ELK(Elasticsearch、Logstash和Kibana)的形式對日志進(jìn)行過濾、存儲、分析、提供復(fù)雜的搜索和可視化功能,如圖1所示:

圖5 應(yīng)用場景1

應(yīng)用場景2:對多臺服務(wù)器日志進(jìn)行匯聚存儲后,經(jīng)過LogCheck對日志文件的監(jiān)控和審查,檢查和過濾系統(tǒng)日志文件中的特定事件或錯誤,通過mail或其他形式進(jìn)行反饋;同時經(jīng)過LogAnalyzer對體制進(jìn)行分析和可視化各種日志數(shù)據(jù)。并提供實時搜索、過濾、報表和圖表等功能,展示給用戶。如圖2所示:

圖6 應(yīng)用場景2

Part 05、  總結(jié) 

rsyslog是一種功能強大的日志管理工具,具有可靠性、靈活性和可擴展性。無論是企業(yè)日志管理、應(yīng)用故障排除還是安全事件監(jiān)控,rsyslog都能提供強大的日志收集、過濾、處理和存儲功能。通過使用 rsyslog,可以更高效地管理日志數(shù)據(jù),提高系統(tǒng)可用性、性能和安全性。

責(zé)任編輯:龐桂玉 來源: 移動Labs
相關(guān)推薦

2023-10-31 18:42:21

2009-07-01 13:54:03

JSP注釋

2010-02-04 10:02:08

C++靜態(tài)數(shù)據(jù)成員

2021-04-27 09:45:33

Nginx日志運維

2011-06-30 09:30:57

rsyslogLinux日志紅帽企業(yè)級

2019-08-14 15:40:05

Web圖片優(yōu)化前端

2018-05-17 23:07:12

2011-05-04 10:47:40

打印技術(shù)染料熱升華

2020-08-31 07:00:00

Android安卓日志分析

2011-11-21 15:04:30

2023-06-18 19:26:10

藍(lán)牙智能家居

2019-03-13 09:00:00

Web應(yīng)用SPAJavaScript

2011-09-29 13:52:57

服務(wù)器HPC浪潮TS850

2018-04-04 10:14:18

LinuxRsyslog日志文件

2010-07-22 12:09:42

Microsoft T

2023-09-03 19:06:42

2010-07-01 21:51:43

網(wǎng)絡(luò)攝像機IP監(jiān)控D-Link

2022-09-08 09:59:23

API網(wǎng)絡(luò)安全

2010-06-03 11:39:33

2009-07-20 15:30:11

ASP.NET應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號