星期五, 10月 10, 2014

2014IT鐵人賽-25-syslog

2014IT鐵人賽-25-syslog


今天一樣使用 EasyCloud  雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.


今天練習log的管理吧

筆記部份:


當事件發生時, 最重要的是取得充足的資訊, 所以如何觀察系統的資訊以及管理system log也是一個重要的課題, 今天就來進行相關的練習吧.
如何取得開機的相關訊息呢?
#dmesg | grep 關鍵字 觀察相關訊息


有關 log 的儲存位置
系統內大部分的log皆存放於 /var/log 目錄

Log Server
常見的套件有 syslog 以及 syslog-ng , 今天要介紹的是 syslog-ng
套件: syslog-ng
相關設定檔:
  • /etc/syslog-ng/syslog-ng.conf
  • /etc/syslog-ng/syslog-ng.conf.in
  • /etc/sysconfig/syslog


如果要更換 log 管理的套件
可以藉由修改 /etc/sysconfig/syslog 內的
  • SYSLOG_DAEMON="syslog-ng" 來指定要使用syslog-ng 還是傳統的syslogd


log 的傳遞分為兩個部份
Facilities 從哪一個服務或是設備傳來
Priorities log level, 優先性


log 的優先等級
Priorities
  • debug
  • info
  • notice
  • warning
  • err
  • crit
  • alert
  • emerg/panic

有關於 log 的封存, 我們可以藉由 log rotate 來達成


**logrotate**
/etc/logrotate.conf log封存的設定檔(Global)
  • weekly 每週封存
  • rotate 4 保留4份
  • create 封存完建立空檔
  • include /etc/logrotate.d/ 相關要封存的log 設定存放目錄


開始練習吧


Lab: 取得系統資訊


#dmesg | more <觀察開機資訊>
#uname -r <觀察 kernel 版本>
#chkconfig --list <觀察系統服務>
#cat /etc/*release <觀察系統版本資訊>
#uptime <觀察系統loading>
#lscpu <觀察 CPU 資訊>
#netstat -tupln <觀察 network port>

Lab: Syslog-ng


目的: 指定pure-ftpd的記錄檔存檔路徑


#netstat -tupln | grep :21 <觀察port 21有沒有服務>
#grep -i syslog /etc/pure-ftpd/pure-ftpd.conf <觀察Facilityftp>
SyslogFacility ftp
#rcpure-ftpd start <啟動pure-ftpd 服務>
#netstat -tupln | grep :21 <觀察port 21有沒有服務>
#ftp 127.0.0.1 <請嘗試以ftp登入, 輸入bye -->離開>
#tail /var/log/messages <請觀察資訊>


修改syslog-ng的設定, 新增以下設定
#vi /etc/syslog-ng/syslog-ng.conf


filter f_ftp { level(debug .. emerg) and facility(ftp); }; <指定FacilityPriorities>


destination ftpall { file("/var/log/ftpmesg"); }; <指定log檔的位置>


log { source(src); filter(f_ftp); destination(ftpall); };


#rcsyslog restart <重新啟動syslog服務>
#ftp 127.0.0.1 <請嘗試以以ftp登入, 輸入bye -->離開>
#ls /var/log <請觀察資訊>
#cat /var/log/ftpmesg <請觀察資訊>

Lab: logrotate


目的: 備份pure-ftpd 的紀錄檔


要求如下
1.每天備份一次
2.紀錄檔要壓縮
3備份上限5,封存完建立空檔案


#vi /etc/logrotate.d/ftp


/var/log/ftpmesg{
daily
compress
rotate 5
create
postrotate
/etc/init.d/syslog reload
endscript
}


#ls /var/log <請觀察資訊>
#logrotate -f /etc/logrotate.d/ftp <強制作logrotate動作>
#ls /var/log <請觀察資訊>


optional Lab: Log Server


Server :
加入以下設定 允許 UDP 514 port 傳送log


#vi /etc/syslog-ng/syslog-ng.conf


source s_udp { udp( ip("0.0.0.0") port(514) ); };
destination s_udp { file("/var/log/from_net"); };
log { source(s_udp); destination(s_udp); };


#rcsyslog restart <重新啟動syslog服務>


Client:


修改設定檔, log 傳到 log server
#vi /etc/syslog-ng/syslog-ng.conf


destination logserver { udp("伺服器IP" port(514)); };
log { source(src); destination(logserver); };


#rcsyslog restart <重新啟動syslog服務>


測試


Server:
#ls /var/log <請觀察資訊>


Client:
#rcsyslog restart <重新啟動syslog服務>


Server:
#ls /var/log <請觀察資訊>



Fun with Day 25 ~

沒有留言: