用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 常見日誌...