Linux中國

RHCE 系列(三):如何使用 Linux 工具集生成和發送系統活動報告

RHCE 第三部分:監視 Linux 性能活動報告

除了著名的用於檢測磁碟、內存和 CPU 使用率的原生 Linux 工具 - 可以給出很多例子,紅帽企業版 Linux 7 還提供了另外兩個可以為你的報告更多數據的工具套裝:sysstatdstat

在這篇文章中,我們會介紹兩者,但首先讓我們來回顧一下傳統工具的使用。

原生 Linux 工具

使用 df,你可以報告磁碟空間以及文件系統的 inode 使用情況。你需要監視這兩者,因為缺少磁碟空間會阻止你保存更多文件(甚至會導致系統崩潰),就像耗盡 inode 意味著你不能將文件鏈接到對應的數據結構,從而導致同樣的結果:你不能將那些文件保存到磁碟中。

# df -h         [以人類可讀形式顯示輸出]
# df -h --total         [生成總計]

檢查 Linux 總的磁碟使用

檢查 Linux 總的磁碟使用

# df -i         [顯示文件系統的 inode 數目]
# df -i --total     [生成總計]

檢查 Linux 總的 inode 數目

檢查 Linux 總的 inode 數目

用 du,你可以估計文件、目錄或文件系統的文件空間使用。

舉個例子,讓我們來看看 /home 目錄使用了多少空間,它包括了所有用戶的個人文件。第一條命令會返回整個 /home 目錄當前使用的所有空間,第二條命令會顯示子目錄的分類列表:

# du -sch /home
# du -sch /home/*

檢查 Linux 目錄磁碟大小

檢查 Linux 目錄磁碟大小

別錯過了:

另一個你工具集中不容忽視的工具就是 vmstat。它允許你查看進程、CPU 和 內存使用、磁碟活動以及其它的大概信息。

如果不帶參數運行,vmstat 會返回自從上一次啟動後的平均信息。儘管你可能以這種方式使用該命令有一段時間了,再看一些系統使用率的例子會有更多幫助,例如在例子中定義了時間間隔。

例如

# vmstat 5 10

會每個 5 秒返回 10 個事例:

檢查 Linux 系統性能

檢查 Linux 系統性能

正如你從上面圖片看到的,vmstat 的輸出分為很多列:proc(process)、memory、swap、io、system、和 CPU。每個欄位的意義可以在 vmstat man 手冊的 FIELD DESCRIPTION 部分找到。

在哪裡 vmstat 可以派上用場呢?讓我們在 yum 升級之前和升級時檢查系統行為:

# vmstat -a 1 5

Vmstat Linux 性能監視

Vmstat Linux 性能監視

請注意當磁碟上的文件被更改時,活躍內存的數量增加,寫到磁碟的塊數目(bo)和屬於用戶進程的 CPU 時間(us)也是這樣。

或者直接保存一個大文件到磁碟時(由 dsync 標誌引發):

# vmstat -a 1 5
# dd if=/dev/zero of=dummy.out bs=1M count=1000 oflag=dsync

Vmstat Linux 磁碟性能監視

Vmstat Linux 磁碟性能監視

在這個例子中,我們可以看到大量的塊被寫入到磁碟(bo),這正如預期的那樣,同時 CPU 處理任務之前等待 IO 操作完成的時間(wa)也增加了。

別錯過: Vmstat – Linux 性能監視

其它 Linux 工具

正如本文介紹部分提到的,這裡有其它的工具你可以用來檢測系統狀態和利用率(不僅紅帽,其它主流發行版的官方支持庫中也提供了這些工具)。

sysstat 軟體包包含以下工具:

  • sar (收集、報告、或者保存系統活動信息)。
  • sadf (以多種方式顯示 sar 收集的數據)。
  • mpstat (報告處理器相關的統計信息)。
  • iostat (報告 CPU 統計信息和設備以及分區的 IO統計信息)。
  • pidstat (報告 Linux 任務統計信息)。
  • nfsiostat (報告 NFS 的輸出/輸出統計信息)。
  • cifsiostat (報告 CIFS 統計信息)
  • sa1 (收集並保存二進位數據到系統活動每日數據文件中)。
  • sa2 (在 /var/log/sa 目錄寫入每日報告)。

dstat 比這些工具所提供的功能更多一些,並且提供了更多的計數器和更大的靈活性。你可以通過運行 yum info sysstat 或者 yum info dstat 找到每個工具完整的介紹,或者安裝完成後分別查看每個工具的 man 手冊。

安裝兩個軟體包:

# yum update && yum install sysstat dstat

sysstat 主要的配置文件是 /etc/sysconfig/sysstat。你可以在該文件中找到下面的參數:

# How long to keep log files (in days).
# If value is greater than 28, then log files are kept in
# multiple directories, one for each month.
HISTORY=28
# Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=31
# Parameters for the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK"
# Compression program to use.
ZIP="bzip2"

sysstat 安裝完成後,/etc/cron.d/sysstat 中會添加和啟用兩個 cron 任務。第一個任務每 10 分鐘運行系統活動計數工具,並在 /var/log/sa/saXX 中保存報告,其中 XX 是該月的一天。

因此,/var/log/sa/sa05 會包括該月份第 5 天所有的系統活動報告。這裡假設我們在上面的配置文件中對 HISTORY 變數使用默認的值:

*/10 * * * * root /usr/lib64/sa/sa1 1 1

第二個任務在每天夜間 11:53 生成每日進程計數總結並把它保存到 /var/log/sa/sarXX 文件,其中 XX 和之前例子中的含義相同:

53 23 * * * root /usr/lib64/sa/sa2 -A

例如,你可能想要輸出該月份第 6 天從上午 9:30 到晚上 5:30 的系統統計信息到一個 LibreOffice Calc 或 Microsoft Excel 可以查看的 .csv 文件(這樣就可以讓你創建表格和圖片了):

# sadf -s 09:30:00 -e 17:30:00 -dh /var/log/sa/sa06 -- | sed 's/;/,/g' > system_stats20150806.csv

你可以在上面的 sadf 命令中用 -j 標記代替 -d 以 JSON 格式輸出系統統計信息,這當你在 web 應用中使用這些數據的時候非常有用。

Linux 系統統計信息

Linux 系統統計信息

最後,讓我們看看 dstat 提供什麼功能。請注意如果不帶參數運行,dstat 默認使用 -cdngy(表示 CPU、磁碟、網路、內存頁、和系統統計信息),並每秒添加一行(可以在任何時候用 Ctrl + C 中斷執行):

# dstat

Linux 磁碟統計檢測

Linux 磁碟統計檢測

要輸出統計信息到 .csv 文件,可以用 -output 標記後面跟一個文件名稱。讓我們來看看在 LibreOffice Calc 中該文件看起來是怎樣的:

檢測 Linux 統計信息輸出

檢測 Linux 統計信息輸出

為了更多的閱讀體驗,我強烈建議你查看 dstatsysstat 的 pdf 格式 man 手冊。你會找到其它能幫助你創建自定義的詳細系統活動報告的選項。

別錯過: Sysstat – Linux 的使用活動檢測工具

總結

在該指南中我們解釋了如何使用 Linux 原生工具以及 RHEL 7 提供的特定工具來生成系統使用報告。在某種情況下,你可能像依賴最好的朋友那樣依賴這些報告。

你很可能使用過這篇指南中我們沒有介紹到的其它工具。如果真是這樣的話,用下面的表單和社區中的其他成員一起分享吧,也可以是任何其它的建議/疑問/或者評論。

我們期待你的回復。

via: http://www.tecmint.com/linux-performance-monitoring-and-file-system-statistics-reports/

作者:Gabriel Cánepa 譯者:ictlyh 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國