Linux日誌管理

日誌是用來記錄系統運行狀態的歷史事件,主要記錄特定時間發生的事件,同時根據日誌級別,事件的關鍵性程序,一般叫做LogLevel.服務器

系統日誌服務

syslog:
    系統級別:syslogd
    內核級別:klogd
rsyslog特色:
    多線程:
    UDP,TCP,SSL,TLS協議
    支持MySQL, PGSQL,ORACLE日誌存儲
    強大的過濾器,可實現過濾日誌信息中任何部分
    自定義輸出格式
Elasticsearch分佈式日誌,logstash日誌,kibans = ELK

日誌收集方

facility:設施,從功能或程序上對日誌進行分類
    auth,authpriv,cron,daemon,kernel,lpr,mail,mark,news,security,user,uucp,local0-local7,syslog
priority:日誌級別
    debug,info,notice,warning,error,critical,alert,emergy
 指定級別:
    *:全部級別
    none:沒有級別
    priority:此級別及更高級別的日誌信息
    =priority:此級別
facility.prority /var/log/messages

程序環境

主程序:rsyslogd
配置文件:/etc/rsyslog.conf
    kern.* /dev/console(內核日誌記錄在終端輸出,能夠用dmseg)
    *.info;mail.none;authpriv.none;cron.none    /var/log/messages(除了mail,authpriv,cron以外全部的日誌記錄在messages文件中)
    mail.*    -/var/log/maillog(-表示異步寫入)
    uucp,news.crit  /var/log/spooler(表示uucp和news同級別crit記錄在spooler文件中)
    local2.*  /var/log/sshd.log  (自定義,如把/etc/ssh/sshd_conf中的SyslogFacility local2在/etc/rsyslog.conf定義local2.* /var/log/sshd.log,這樣ssh登錄的log記錄在sshd.log中)

rsyslog.conf語法

RULES:
    facility.priority target
    target:
        文件路徑:記錄於指定的日誌文件中,一般應該在/var/log目錄下;
        用戶:將日誌通知給指定用戶: *指全部用戶
        日誌服務器:@host
            host:必需要監聽在tcp或udp協議514端口上提供服務
        管道:|COMMAND

日誌格式

事件產生的日期時間 主機 進程(pid) 事件內容
    某些日誌記錄是進進制格式:(last,lastb,lastlog)
        /var/log/wtmp:當前系統上成功登錄的日誌(last指令查詢)
        /var/log/btmp:當前系統上失敗的登陸嘗試(lastb指令查詢)
        lastlog命令:顯示當前系統每個用戶最近一次的登錄時間

rsyslog服務器

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 51
以上配置同時啓動TCP和UDP

rsyslog客戶端配置

@IP (用UDP協議發送log到服務器)
@@IP(用TCP協議發送log到服務器)
相關文章
相關標籤/搜索