Linux系统中的日志服务管理
目錄
1.日志介紹
1.1 什么是日志
1.2 Linux系統(tǒng)使用的兩種系統(tǒng)日志服務(wù)
1.3 ELK
2.rsyslog的管理
2.1 系統(tǒng)日志術(shù)語
1.2 實(shí)驗(yàn)
1.日志介紹
1.1 什么是日志
網(wǎng)絡(luò)設(shè)備、系統(tǒng)及服務(wù)程序等,在運(yùn)作時(shí)都會(huì)產(chǎn)生一個(gè)叫l(wèi)og的事件記錄;每一行日志都記載著日期、時(shí)間、使用者及動(dòng)作等相關(guān)操作的描述
日志記錄的內(nèi)容包括:
-
歷史事件:時(shí)間,地點(diǎn),人物,事件
-
日志級(jí)別:事件的關(guān)鍵性程度,Loglevel
1.2 Linux系統(tǒng)使用的兩種系統(tǒng)日志服務(wù)
sysklogd 系統(tǒng)日志服務(wù)
sysklogd是在centos5之前的版本中使用的系統(tǒng)日志服務(wù)
Sysklogd 日志記載 器由兩個(gè)守護(hù)進(jìn)程(klogd syslogd)和一個(gè)配置文件(syslog.conf)組成。klogd 不運(yùn)用 配置文件,它負(fù)責(zé)截獲內(nèi)核消息,它既能夠 獨(dú)立運(yùn)用 也能夠 作為 syslogd 的客戶端運(yùn)行。syslogd 默認(rèn)運(yùn)用 /etc/syslog.conf 作為配置文件,它負(fù)責(zé)截獲使用 程序消息,還能夠 截獲 klogd 向其轉(zhuǎn)發(fā)的內(nèi)核消息。支撐 internet/unix domain sockets 的特征 使得這兩個(gè)工具能夠 用于記載 本地和遠(yuǎn)程的日志
簡單來說,syslogd負(fù)責(zé)記錄應(yīng)用日志,klogd負(fù)責(zé)記錄內(nèi)核日志
rsyslog 系統(tǒng)日志服務(wù)
rsyslog是CentOS 6以后版本的系統(tǒng)管理服務(wù):它提供了高性能,出色的安全性和模塊化設(shè)計(jì)。盡管rsyslog最初是常規(guī)的syslogd,但發(fā)展成為一種瑞士軍刀式的記錄工具,能夠接受來自各種來源的輸入,并將其轉(zhuǎn)換,然后輸出到不同的目的地
rsyslog 特性
-
多線程
-
UDP, TCP, SSL, TLS, RELP
-
MySQL, PGSQL, Oracle實(shí)現(xiàn)日志存儲(chǔ)
-
強(qiáng)大的過濾器,可實(shí)現(xiàn)過濾記錄日志信息中任意部分
-
自定義輸出格式
-
適用于企業(yè)級(jí)中繼
1.3 ELK
ELK:由Elasticsearch, Logstash, Kibana三個(gè)軟件組成
-
非關(guān)系型分布式數(shù)據(jù)庫基于apache軟件基金會(huì)jakarta項(xiàng)目組的項(xiàng)目lucene
-
Elasticsearch是個(gè)開源分布式搜索引擎,可以處理大規(guī)模日志數(shù)據(jù),比如:Nginx、Tomcat、系統(tǒng)日志等功能
-
Logstash對日志進(jìn)行收集、分析,過濾,并將其存儲(chǔ)供以后使用
-
Kibana 可以提供的日志分析友好的 Web 界面
2.rsyslog的管理
2.1 系統(tǒng)日志術(shù)語
facility:設(shè)施,從功能或程序上對日志進(jìn)行歸類
常用的facility:lpr: 打印相關(guān)的日志auth:認(rèn)證相關(guān)的日志user:用戶相關(guān)的日志cron:計(jì)劃任務(wù)相關(guān)的日志kern:內(nèi)核相關(guān)的日志mail:郵件相關(guān)的日志mark:標(biāo)記相關(guān)的日志news:新聞相關(guān)的日志uucp:文件copy相關(guān)的日志daemon:系統(tǒng)服務(wù)相關(guān)的日志authpri: 授權(quán)相關(guān)的日志security:安全相關(guān)的日志Priority 優(yōu)先級(jí)別,從低到高排序
| debug (LOG_DEBUG) | 一般的調(diào)試信息說明 |
| info (LOG_INFO) | 基本的通知信息 |
| notice (LOG_NOTICE) | 普通信息,但是有一定的重要性 |
| warning(LOG_WARNING) | 警吿信息,但是還不會(huì)影響到服務(wù)或系統(tǒng)的運(yùn)行 |
| error(LOG_ERR) | 錯(cuò)誤信息, 一般達(dá)到err等級(jí)的信息已經(jīng)可以影響到服務(wù)成系統(tǒng)的運(yùn)行了 |
| crit (LOG_CRIT) | 臨界狀況信思,比err等級(jí)還要嚴(yán)? |
| alert (LOG_ALERT) | 狀態(tài)信息,比crit等級(jí)還要嚴(yán)重,必須立即采取行動(dòng) |
| emerg (LOG_EMERG) | 疼痛等級(jí)信息,系統(tǒng)已經(jīng)無法使用了 |
| * | 代表所有日志等級(jí)。比如,“authpriv.*”代表amhpriv認(rèn)證信息服務(wù)產(chǎn)生的日志,所有的日志等級(jí)都記錄 |
1.2 實(shí)驗(yàn)
單獨(dú)設(shè)置ssh日志
首先進(jìn)入/etc/ssh/sshd_config 目錄下修改配置文件
加入自定義的local6
?然后再/etc/rsyslog.conf文件的第76行添加自己的文件位置
使用ssh命令重新登錄一下,就可以看到目錄中出現(xiàn)了ssh.log文件
?
?
遠(yuǎn)程日志功能
遠(yuǎn)程日志功能就是將一臺(tái)服務(wù)器上的日志文件,傳輸?shù)搅硪慌_(tái)服務(wù)器上
首先我們需要進(jìn)入 /etc/rsyslog.conf 文件中開啟19 20兩行,以開啟接收方的傳輸端口
使用ss命令可以查看端口是否開啟
?之后我們修改發(fā)送端 rsyslog的配置文件,兩個(gè)@代表tcp協(xié)議(一個(gè)@代表udp)
?注意,在使用網(wǎng)絡(luò)命令之前,我們需要關(guān)閉防火墻,修改完配置文件之后,需要重啟服務(wù)
完成之后,我們使用logger命令在日志文件中添加測試字段
?之后我們來到接收方,使用tail命令來參看一下/var/log/messages文件
?可以看到這里出現(xiàn)了剛剛輸入的測試字段,試驗(yàn)成功!
?
總結(jié)
以上是生活随笔為你收集整理的Linux系统中的日志服务管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【能力地图】芯片验证篇
- 下一篇: k8s_Node节点安全基线