日志:
曆史事件:時間,地點,人物,事件日期時間
事件記錄格式:
日期時間 主機 程序[pid]: 事件内容
C/S架構:通過TCP或UDP協定的服務完成日志記錄傳送,将分布在不同主機的日志實作集中管理
rsyslog
rsyslog特性:CentOS6和7 多線程
UDP, TCP, SSL, TLS, RELP
MySQL, PGSQL, Oracle實作日志存儲
強大的過濾器,可實作過濾記錄日志資訊中任意部分
自定義輸出格式
ELK:elasticsearch, logstash, kibana
非關系型分布式資料庫
基于apache軟體基金會jakarta項目組的項目lucene
Elasticsearch是個開源分布式搜尋引擎
Logstash對日志進行收集、分析,并将其存儲供以後使用
kibana 可以提供的日志分析友好的 Web 界面
rsyslog 介紹
術語,參見man logger
facility:設施,從功能或程式上對日志進行歸類
auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), user, uucp, local0-local7, syslog
Priority 優先級别,從低到高排序
debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)
參看幫助: man 3 syslog
程式包:rsyslog
主程式:/usr/sbin/rsyslogd
CentOS 6:service rsyslog {start|stop|restart|status} CentOS 7:/usr/lib/systemd/system/rsyslog.service
配置檔案:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf
庫檔案: /lib64/rsyslog/*.so
配置檔案格式:由三部分組成
MODULES:相關子產品配置
GLOBAL DIRECTIVES:全局配置
RULES:日志記錄相關的規則配置
RULES配置格式: facility.priority; facility.priority… target
facility:*: 所有的facility
facility1,facility2,facility3,...:指定的facility清單
priority: *: 所有級别
none:沒有級别,即不記錄
PRIORITY:指定級别(含)以上的所有級别
=PRIORITY:僅記錄指定級别的日志資訊
target:
檔案路徑:通常在/var/log/,檔案路徑前的-表示異步寫入
使用者:将日志事件通知給指定的使用者,* 表示登入的所有使用者
日志伺服器:@host,把日志送往至指定的遠端伺服器記錄
管道: | COMMAND,轉發給其它指令處理
ssh 的相關日志記錄在secure 日志裡
定義log日志路徑;
centos7:修改主機名:
[root@node3~]#hostnamectl set-hostname $hostname
[root@node3~]#/etc/host
啟用網絡日志服務
通常的日志格式:
事件産生的日期時間 主機 程序(pid):事件内容
如: /var/log/messages,cron,secure等 配置rsyslog成為日志伺服器
#### MODULES ####
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
其它日志
其它的日志檔案
#/var/log/secure:系統安裝日志,文本格式,應周期性分析
#/var/log/btmp:目前系統上,使用者的失敗嘗試登入相關的日志資訊,二進制格
式,lastb指令進行檢視
#/var/log/wtmp:目前系統上,使用者正常登入系統的相關日志資訊,二進制格
式,last指令可以檢視
#/var/log/lastlog:每一個使用者最近一次的登入資訊,二進制格式,lastlog指令
可以檢視
#/var/log/dmesg:系統引導過程中的日志資訊,文本格式
文本檢視工具檢視
專用指令dmesg檢視
#/var/log/messages :系統中大部分的資訊
#/var/log/anaconda : anaconda的日志