Linux-日志管理篇
一、前言
“從善如登,從惡如崩”
“大丈夫寧可玉碎,不能瓦全”
“大直若屈,大巧若拙,大辯若訥”
“丹青不知老將至,富貴于我如浮云”
“但愿人長久,千里共蟬娟”
靜心~!
二、日志管理
1、日志講解:
centos6.x采用的是rsyslogd服務來記錄日志
其優點:
- 使用TCP網絡協議傳輸日志-->安裝
- 屬于后臺數據,需要自己調取查看
- 配置文件簡單好用
- 兼容syslog配置
日志是系統管理重要的手段
- 如果系統出了問題的話查看日志能夠分析出問題
- 日志建議是備份-->半年一次結合計劃任務備份-->最好也是用腳本
系統中的日志文件
一般的日志文件都會保存在/var/log/目錄下
[root@Master ~]# ls /var/log/ anaconda.ifcfg.log anaconda.yum.log cups mcelog secure anaconda.log audit dmesg messages spooler anaconda.program.log boot.log dmesg.old ntpstats sssd anaconda.storage.log btmp dracut.log prelink tallylog anaconda.syslog ConsoleKit lastlog sa wtmp anaconda.xlog cron maillog samba#幾個重要的日志講解: /var/log/cpus:記錄打印信息 /var/log/dmesg:這個內核讀取的日志,dmesg命令從這調用數據 /var/log/message:這個是主要的日志信息,linux絕大部分的信息都放在這 #安全日志-->需要用命令查看 /var/log/wtmp:記錄所有登錄用戶的信息--->last命令查看 /var/log/btmp:錯誤登陸的日志-->lastb命令查看 /var/log/lastlog:用戶最后登陸的信息-->使用lastlog命令查看 /var/run/utmp:記錄當前用戶登錄的信息-->使用w、who、users命令查看/var/log/secure:記錄驗證和授權的信息-->涉及賬號或者密碼都會存放在這#注意: 不是所有的日志都在這---/var/log/-->這里一般記錄rpm安裝的服務日志 如果源碼包安裝會有自己的日志目錄2、rsylogd服務
日志的格式:
[root@Master ~]# tail -n 3 /var/log/messages Jan 1 21:58:04 Master kernel: type=1305 audit(1609509484.554:82): audit_enabled=0 old=1 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditctl_t:s0 res=1 Jan 1 21:58:04 Master kernel: Kernel logging (proc) stopped. Jan 1 21:58:04 Master rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="1067" x-info="http://www.rsyslog.com"] exiting on signal 15.- 日志的產生時間
- 日志的產生主機
- 日志產生的服務或者程序
- 日志的具體信息
配置文件:
/etc/rsyslog.conf
[root@Master ~]# vim /etc/rsyslog.conf authpriv.* /var/log/secure 日志等級記錄 日志記錄的位置mail.* -/var/log/maillog 定義了郵件 郵件日志的位置cron.* /var/log/cron 定義了定時任務日志 定時任務日志 .............mail.*
這個點是什么含義?
- .代表只要比后面等級高的都會記錄下來
- =代表僅僅記錄對應的等級的日志
- .!代表的是非,不是這個登記其他等級就等級
- *代表所有的等級
那么日志等級有哪些?
- debug:調試的登記
- info:基本通知
- notice:有一點點重要的通知
- warning:警告了
- error:錯誤等級
- crit:這個是嚴重錯誤
- alert:這個是很嚴重了,需要采取行動
- emerg:最嚴重,系統掛了
問題1:如何自己定義日志?
*.crit /var/log/alert.log
把任何嚴重錯誤的信息都記錄都/var/log/alert.log這個文件中
[root@Master ~]# echo "*.crit /var/log/critm.log" >> /etc/rsyslog.conf3、日志輪替
為什么要日志輪替?
- 系統每天都記錄了很多信息
- 網站也是記錄了很多數據
- 這些信息和數據都放到一個文件中就很大,查詢很不方便;
- 數據量大,有時候很久的數據沒有價值的話,可以適當刪除
日志輪替的主要操作:
- 其實就是把原來的日志以日期的方式改名
- 系統的自帶切割日志工具-->/etc/logrotate.conf
系統日志切割的配置文件
/etc/logrotate.conf文件
[root@Master ~]# vim /etc/logrotate.conf weekly #每周一次輪替 rotate 4 #默認保存4個日志文件,第五生成就會刪除第一個 create #自動創建新文件-->切割的時候 dateext #定義了用時間來作為舊日志文件的后綴 include /etc/logrotate.d #這里定義了這個目錄下的自配置文件都會輪替 /var/log/wtmp { #這里是獨立地 局部某個服務的日志輪替monthlycreate 0664 root utmpminsize 1Mrotate 1 }/etc/logrotate.conf文件的主要參數:
- daily:每天
- weekly:每周
- monthly:每月
- rotate:保留的日志文件個數
- compress:開啟壓縮日志
- create:新建新的日志文件
- mail address:輪替的時候發郵件給哪個地址
- missingok:日志不存在則會保存
- notifempty:空文件不輪替日志
- size:按照大小輪替-->size100M,日志文件大于100M進行輪替
- dateext:以時間的格式創建新文件
自定義日志輪換規則
第一步:設置自己的日志
[root@Master ~]# vim /etc/rsyslog.conf *.crit /var/log/critm.log #在空白處添加這一行第二步:編寫輪替規則
[root@Master ~]# vim /etc/logrotate.d/critm /var/log/critm.log{weekly #指定每周一次rotate 5 #有5個日志文件后刪除create #創建新的文件sharedscripts #指定執行腳本一次prerotate #輪替之前執行以下命令/usr/bin/chattr -a /var/log/critm.logendscript #腳本結束-->標準寫法 }第三步:強制執行
logrotate -vf /etc/logrotate.conf
[root@Master ~]# logrotate -vf /etc/logrotate.conf?
三、結束
“我相信自己,創造我的是上帝,我不可能是無用之人”
“只要懷著信念去做你不知能否成功的事業,無論從事的事業多么冒險,你都一定能夠獲得成功”
“只要你心中還有信念,你就會一次次從失敗的陰霾中走出來,迎接你的必然是成功。記住:態度決定一切。成功,其實就在你心中”
“在任何特定的環境里,人們至少還有一種自由,那就是選擇自己的態度。一個人只要改變內在的心態,就可以改變外在的生活環境和生存狀態。人的一生中,緊要處只有幾步,如何使自己的生命更有意義,成為真正幸福的人,對于我們每個人來說,采取積極的生活態度就尤為重要”
互勉~!
?
?
總結
以上是生活随笔為你收集整理的Linux-日志管理篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1602液晶显示实验
- 下一篇: 玫瑰公主