linux遠端日誌rsyslog服務端和客戶端安裝

2021-09-21 15:11:26 字數 3794 閱讀 7368

用rsyslog的緣由:

1.防止系統崩潰無法獲取系統日誌分享崩潰原因,用rsyslog可以把日誌傳輸到遠端的日誌伺服器上

2.使用rsyslog日誌可以減輕系統壓力,因為使用rsyslog可以有效減輕系統的磁碟io

3.rsyslog使用tcp傳輸非常可靠,可以對日誌進行過濾,提取出有效的日誌,rsyslog是輕量級的日誌軟體,在大量日誌寫的情況下,系統負載基本上在0.1以下

一、安裝前準備

2.準備兩台機器(linux或者unix),一台客戶端,一台服務端

服務端和客戶端的安裝步驟:

#指定安裝目錄  

./configure 

#編譯  

make  

#安裝  

make install  

#新增lib  

echo 

>> /etc/ld.so.conf  

#更新lib  

ldconfig  

#產生配置檔案  

cp /etc/syslog.conf /etc/rsyslog.conf 

#產生服務檔案

vi /etc/init.d/rsyslog

#!/bin/bash  

#  # rsyslog starts rsyslogd/rklogd.  

#  #  

# chkconfig: - 12 88  

# description: syslog 

isthe facility 

bywhich many daemons use 

tolog \  

# messages 

tovarious system log files. it 

isa good idea 

toalways \  

# run rsyslog.  

### 

begin

init info  

# provides: $syslog  

# required-start: $local_fs $network $remote_fs  

# required-stop: $local_fs $network $remote_fs  

# default

-stop: 0 1 2 3 4 5 6  

# short-description: enhanced system logging 

and# description: rsyslog 

isan enhanced multi-threaded syslogd supporting,   

# among others, mysql, syslog/tcp, rfc 3195, permitted   

# sender lists, filtering 

onany

message part, 

andfine   

# grain 

output

format control.  

### 

endinit info  

# source 

function

library.  

rsyslogdfile=$basedir/sbin/rsyslogd  

. /etc/init.d/functions  

retval=0  

start()   

stop()   

reload() "

] && [ -e /proc/

"$"]; 

then

kill -hup 

"$syslog"

;  retval=$?  

fi  

if [ $retval -ne 0 ]; 

then

failure  

else

success  

fi  

echo  

return

$retval  

}  rhstatus()   

restart()   

case

"$1"

instart)  

start  

;;  

stop)  

stop  

;;  

restart)  

restart  

;;  

reload|

force

-reload)  

reload  

;;  

status)  

rhstatus  

;;  

condrestart)  

[ -f /var/lock/subsys/rsyslog ] && restart || :  

;;  

*)  

echo $

"usage: $0 "

exit 2  

esac  

exit $? 

#啟動服務

#產生服務檔案  

chmod +x /etc/init.d/rsyslog  

#啟動前先把syslog停止  

service syslog stop  

service rsyslog start 

#配置服務端

vi /etc/rsyslog.conf #在檔案開始加上,同時確保514埠能夠被客戶端用tcp訪問

#指定日誌檔案的擁有者  

$fileowner apache  

#使用tcp方式  

$modload imtcp # needs 

tobe done just once  

#tcp接收連線數為500個  

$inputtcpmaxsessions 500  

#tcp接收資訊的埠  

$inputtcpserverrun 514  

#為資訊加上日誌時間  

$template logformat,

"%timestamp:::date-mysql% %fromhost-ip%%msg%\n"

#定義的日誌檔案的名稱,按照年月日  

$template dynfile,

#把包含sdns_log標誌的資訊寫到dynfile定義的日誌檔案裡   

:rawmsg, 

contains

, "sdns_log"

?dynfile;logformat   

#這個表示丟棄包含sdns_log標誌的資訊   

:rawmsg, 

contains

, "sdns_log"

~ 配置客戶端

vi /etc/rsyslog.conf #在檔案開始加上

#把包含sdns_log的資訊通過tcp發到192.168.1.2 @@表示tcp @表示udp  

:rawmsg, 

contains

, "sdns_log"

@@192.168.1.2  

#這個表示丟棄包含sdns_log標誌的資訊,防止這個資訊寫到本機的/var/log/message  

:rawmsg, 

contains

, "sdns_log"

~ 測試:

在客戶端上執行

logger -p user.info "sdns_log 34334"

在服務端的

Linux遠端工具日誌記錄功能

深藍的blog 最近在遠端連線操作時,發現記錄日誌是個不錯的習慣,可以記錄下曾經的操作,為我們尋求曾經的錯誤或操作記錄,提供了依據。深藍的blog 系列鏈結 20150523 藍的成長記 追逐dba 1 奔波於路上,挺進山東 藍的成長記 追逐dba 2 安裝!安裝!久違的記憶,引起我對dba的重新認...

mysql 遠端日誌 Mysql遠端連線日誌記錄

實際上有一種方法可以將所有連線記錄到mysql本身 假設 我們將用於儲存此資訊的資料庫名稱將被稱為admin.建立表以儲存連線資訊.如果您不想,則不必包含唯一鍵.create table admin.connections id int unsigned not null auto incremen...

日誌 遠端日誌 日誌輪詢 DHCP

日誌 etc init.d syslog start 啟動系統日誌 tail f var log messages 系統日誌 var log 日誌存放位置 日誌配置檔案 etc syslog.conf 日誌物件.日誌級別 日誌檔案 日誌級別越低資訊越詳細 man 5 syslog.conf 常見日誌...