偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺談rsyslog日志服務及應用

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

Labs 導讀

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

Part 01、 rsyslog介紹 

1.1 rsyslog日志服務簡介

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

特性:

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

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

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

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

圖1 rsyslog架構圖

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

1.2 rsyslog基本配置

rsyslog引入了facility(設施)的概念,也就是 rsyslog服務進程所要接收日志的各代理,這些代理負責收集對應的日志信息;常用的日志設施有如下幾種:

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的設施/優(yōu)先級圖

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

圖3 rsyslog默認rules圖

基礎格式,即最簡單的配置格式,沒有任何多余的功能,配置中默認的內容即為此格式。

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

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

# 郵件的所有信息存在/var/log/maillog;這里有一個“-”符號表示是使用異步的方式記錄
mail.* action(type="omfile" File="/var/log/maillog")
# 郵件的錯誤信息轉發(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文件中的輸入模塊用于指定從哪些源獲取日志信息,包括本地日志、遠程日志、系統(tǒng)日志等。常用的輸入模塊包括:

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

1.2.2 過濾模塊配置

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

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

1.2.3 輸出模塊配置

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

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

1.2.4 格式化模塊配置

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

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

Part 02、  rsyslog轉發(fā) 

2.1 客戶端配置

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

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

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

2.2 服務端配置

對于服務端,我們需要配置rsyslog服務器來接收和處理轉發(fā)過來的日志消息。首先,我們需要設置rsyslog服務器監(jiān)聽的端口號,接著,我們需要在配置文件中指定處理轉發(fā)過來的日志消息的方式,如將其志消息保存到本地文件中、存儲到數(shù)據庫中、發(fā)送到其他系統(tǒng)等等。這可以通過在配置文件中設置類似于*.* /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網段內的主機以 tcp 協(xié)議來傳輸。
  • $template Remote定義了模板,保存的路徑和文件名均可自定義,同時也區(qū)分了不同主機的日志。
  • $InputTCPServerRun 514開啟tcp,tcp和udp可以共存的。

Part 03、  rsyslog加密  

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

圖4 非加密方式與加密方式客戶端服務端對比

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

步驟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服務

service rsyslog restart

Part 04、  應用場景 

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

圖5 應用場景1

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

圖6 應用場景2

Part 05、  總結 

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

責任編輯:龐桂玉 來源: 移動Labs
相關推薦

2023-10-31 18:42:21

2009-07-01 13:54:03

JSP注釋

2010-02-04 10:02:08

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

2021-04-27 09:45:33

Nginx日志運維

2011-06-30 09:30:57

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

2011-05-04 10:47:40

打印技術染料熱升華

2018-05-17 23:07:12

2019-08-14 15:40:05

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

2020-08-31 07:00:00

Android安卓日志分析

2011-11-21 15:04:30

2019-03-13 09:00:00

Web應用SPAJavaScript

2023-06-18 19:26:10

藍牙智能家居

2011-09-29 13:52:57

服務器HPC浪潮TS850

2018-04-04 10:14:18

LinuxRsyslog日志文件

2010-07-22 12:09:42

Microsoft T

2010-07-01 21:51:43

網絡攝像機IP監(jiān)控D-Link

2023-09-03 19:06:42

2009-07-20 15:30:11

ASP.NET應用

2010-06-12 17:28:35

協(xié)議封裝

2010-09-01 16:46:02

DHCP Relay
點贊
收藏

51CTO技術棧公眾號