1. linux查看日誌文件寫入速度的4種方法
有時,我們需要查看某個文件的增長速度,如日誌文件,以此來感受系統的彎局缺負載情況,因為一般情況下,日誌寫入越快,說明系統負載越重。
本文就來介紹下Linux中查看日誌臘拿增長速度的幾種方法,如下:
首先要介紹的是dd,因為dd命令幾乎所有主流發行版都自帶,無需額外安裝,如下:
如上,使用 tail -F 獲取新寫入的數據,然後用管道將數據交給dd,dd將數據拷貝到 /dev/null ,其中 status=progress 是用來顯示拷貝速度的,可見,我們日誌的寫入速度是 471 kB/s 。
pv命令可以看做是帶進度的cp,如下:
原理與dd類似,不過命令換成了pv。
由於日誌數據都是程序(如java)寫入的,而在如下的偽文件中,存放著程序打開的文件信息,如下:
於是定期的讀取這個offset就可以知道文件的寫入速度了,這也是cv命令的實現原理,如下:
通過寫一個小腳本,定期觀察文件大小,也可查看文件寫埋辯入速度,如下:
通過watch再加上觀察,也能大致看出速度,如下:
其實轉念一想,如果我們在某個函數中打上日誌,然後通過grep過濾出此日誌,然後我們只要計算每秒輸出的日誌行數,這豈不就是函數執行的QPS了!
這里可以通過 151/15 計算出QPS是10,由於沒有超過1000,所以看到的是0.0kB/s,如果使用pv命令,會更簡單一些,如下:
2. linux日誌文件的管理、備份及日誌伺服器的搭建
日誌文件存放目錄: /var/log
[root@xing log]# cd /var/log
[root@xing log]# ls
messages:系統日誌
secure:登錄日誌
————————————————
日誌管理服務文件: vim /etc/rsyslog.conf
日誌記錄的日誌級別:最不嚴重 -> 最嚴重
debug, info, notice, warning, warn (same as warning), err, error (same
as err), crit, alert, emerg, panic (same as emerg)
測試提示:
[ming@xing etc]$ logger -p authpriv.emerg "==mingeror=="
[ming@xing etc]$
Message from syslogd@xing at Jul 18 11:00:41 ...
root: ==mingeror==
登錄日誌的錯誤信息同步寫入 「/var/log/secure 」 文件中
————————————————
日誌的異地備份
日誌的異地備份至關重要。防止別人拿到你的root許可權;用命令:echo "" > /var/log/secure 直接清空你的登錄日誌。
配置需備份日誌的客戶機(172.168.0.254):
[root@xing etc]# vim rsyslog.conf
————————————————
配置文件修改:
#*.* @@remote-host:514
authpriv.* @@172.168.0.1:514
————————————————
[root@xing etc]# setenforce 0 //執行setenforce 0 表示 臨時關閉 selinux防火牆。
[root@xing etc]# getenforce
Permissive
[root@xing etc]# service rsyslog restart
————————————————
配置日誌記錄伺服器(172.168.0.1):
[root@xing etc]# vim rsyslog.conf
————————————————
開啟接收埠模塊
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
———
配置備份的數據源及日誌備份存放文件
:fromhost-ip,isequal,「172.168.0.254」 /var/log/client/172.168.0.254.log
————————————————
[root@xing etc]# service rsyslog restart
———————
ss -antpl | grep 514
————————————————
注意:配置成功需關閉雙方伺服器的防火牆,或者修改防火牆配置。
3. linux中日誌文件存在哪裡
日誌文件通常保存在/var/log目錄下。
下面是幾個重要的日誌文件:
/var/log/messages:包括整體系統信息,其中也包含系統啟動期間的日誌。
/var/log/syslog:它和/etc/log/messages日誌文件不同,它只記錄警告信息,常常是系統出問題的信息。
/var/log/user.log:記錄所有等級用戶信息的日誌。/var/log/auth.log:包含系統授權信息,包括用戶登錄和使用的許可權機制等。
(3)linux寫日誌文件擴展閱讀:
日誌文件分為事件日誌和消息日誌。
事件日誌
事件日誌記錄在系統的執行中發生的事件,以便提供可用於理解系統的活動和診斷問題的跟蹤。 它們對理解復雜系統的活動至關重要,特別是在用戶交互較少的應用程序中。
它還可以用於組合來自多個源的日誌文件條目。 這種方法與統計分析相結合,可以產生不同伺服器上看起來不相關的事件之間的相關性。 其他解決方案採用網路范圍的查詢和報告。
消息日誌
互聯網中繼聊天(IRC),即時消息(IM)程序,具有聊天功能的對等文件共享客戶端和多人游戲(特別是MMORPG)通常具有自動記錄(即保存)文本通信的能力。
消息日誌幾乎是通用的純文本文件,但是IM和VoIP客戶端(其支持文本聊天,例如Skype)可以將它們保存在HTML文件中或以自定義格式以便於閱讀和加密。
參考資料:網路——日誌文件