1? 概述
日志管理工具journalctl是centos7上專有的日志管理工具振亮,該工具是從message這個文件里讀取信息徽惋。Systemd統(tǒng)一管理所有Unit的啟動日志。帶來的好處就是,可以只用journalctl一個命令瓶殃,查看所有日志(內(nèi)核日志和應(yīng)用日志)敲茄。日志的配置文件是/etc/systemd/journald.conf
journalctl功能強(qiáng)大位谋,用法非常多。本文將介紹journalctl的相關(guān)使用方法堰燎。
2? journalctl 使用方法
.查看所有日志
默認(rèn)情況下掏父,只保存本次啟動的日志
journalctl
.查看內(nèi)核日志(不顯示應(yīng)用日志)
journalctl?-k
.查看系統(tǒng)本次啟動的日志
journalctl???-b
journalctl??-b??-0
.查看上一次啟動的日志
需更改設(shè)置,如上次系統(tǒng)崩潰,需要查看日志時秆剪,就要看上一次的啟動日志赊淑。
journalctl??-b?-1
.查看指定時間的日志
journalctl?--since="2012-10-3018:17:16"
journalctl?--since?"20?minago"
journalctl?--since?yesterday
journalctl?--since"2015-01-10"?--until?"2015-01-11?03:00"
journalctl?--since?09:00?--until"1?hour?ago"
journalctl?--since"15:15"?--until?now
.顯示尾部的最新10行日志
journalctl??-n
.顯示尾部指定行數(shù)的日志
查看的是/var/log/messages的日志,但是格式上有所調(diào)整仅讽,如主機(jī)名格式不一樣而已
journalctl?-n?20
.實(shí)時滾動顯示最新日志
journalctl???-f
.查看指定服務(wù)的日志
journalctl? /usr/lib/systemd/systemd
.查看指定進(jìn)程的日志
journalctl? ?_PID=1
.查看某個路徑的腳本的日志
journalctl? ? /usr/bin/bash
.查看指定用戶的日志
journalctl _UID=33? --since today
.查看某個Unit的日志
journalctl? -u nginx.service
journalctl? -u nginx.service? --since? today
.實(shí)時滾動顯示某個Unit的最新日志
journalctl? -u nginx.service? -f
.合并顯示多個Unit的日志
journalctl? -u nginx.service? -u php-fpm.service? --since today
?查看指定優(yōu)先級(及其以上級別)的日志
日志優(yōu)先級共有8級
0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug
journalctl? -p err? -b
.不分頁標(biāo)準(zhǔn)輸出
日志默認(rèn)分頁輸出--no-pager改為正常的標(biāo)準(zhǔn)輸出
journalctl? --no-pager
.以JSON格式(單行)輸出
JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式陶缺。易于人閱讀和編寫。同時也易于機(jī)器解析和生成洁灵。它基于JavaScriptProgramming Language,?Standard ECMA-262 3rd Edition - December 1999的一個子集组哩。JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java,JavaScript, Perl, Python等)处渣。這些特性使JSON成為理想的數(shù)據(jù)交換語言伶贰。
JSON建構(gòu)于兩種結(jié)構(gòu):
“名稱/值”對的集合(A collection ofname/value pairs):不同的語言中,它被理解為對象(object)罐栈,紀(jì)錄(record)黍衙,結(jié)構(gòu)(struct),字典(dictionary)荠诬,哈希表(hash table)琅翻,有鍵列表(keyed list),或者關(guān)聯(lián)數(shù)組(associativearray)柑贞。
值的有序列表(An ordered list of values):在大部分語言中方椎,它被理解為數(shù)組(array)。
這些都是常見的數(shù)據(jù)結(jié)構(gòu)钧嘶。事實(shí)上大部分現(xiàn)代計算機(jī)語言都以某種形式支持它們棠众。這使得一種數(shù)據(jù)格式在同樣基于這些結(jié)構(gòu)的編程語言之間交換成為可能。
例子
以JSON格式(單行)輸出
journalctl? -b -u httpd.service? -o json
.以JSON格式(多行)輸出,可讀性更好闸拿,建議選擇多行輸出
journalctl? -b -u httpd.service? -o json-pretty
.顯示日志占據(jù)的硬盤空間
journalctl? --disk-usage
.指定日志文件占據(jù)的最大空間
journalctl?? --vacuum-size=1G
.指定日志文件保存多久
journalctl?? --vacuum-time=1years