歡迎光臨
每天分享高質量文章

如何記錄 Linux 的系統執行時間的統計資訊 | Linux 中國

Linux/Unix 系統管理員對伺服器的系統執行時間有一種奇怪的痴迷。
— Vivek Gite


致謝
編譯自 | https://www.cyberciti.biz/hardware/see-records-statistics-about-a-linux-servers-uptime/ 
 作者 | Vivek Gite
 譯者 | MjSeven ? ? ? 共計翻譯:21 篇 貢獻時間:67 天

Linux/Unix 系統管理員對伺服器的系統執行時間有一種奇怪的痴迷。這裡有一個關於這個主題的 xkcd 漫畫,一個好的系統管理員是一股不可阻擋的力量,他佇立在你家貓咪部落格的伺服器之前,對抗黑暗勢力。

Fig.01: Devotion to Duty https://xkcd.com/705/

我們可以使用 uptime 命令或 w 命令[1] 或 top 命令來判斷 Linux 系統運行了多久。我可以使用 tuptime 工具保留每次重新啟動的執行時間,以獲得系統執行時間的歷史和統計報告[2]

這就像 uptime 命令一樣,但輸出結果更令人印象深刻。最近我發現了另一種稱為 uptimed 的工具,用於記錄關於機器的系統執行時間和統計資訊。讓我們看看如何使用 Linux 作業系統上的 uptimed 和 uprecords 來獲得執行時間的記錄統計資訊。

查詢系統執行時間非常簡單,只需在基於 Linux 的系統上鍵入以下命令即可:

  1. $ uptime -p

  2. up 2 weeks, 4 days, 7 hours, 28 minutes

要保留有關 uptime 的歷史統計資訊,請使用 tuptime[2] 或 uptimed 工具。

安裝 uptimed

安裝 uptimed 的最簡單的方式是透過你的軟體包管理器,比如 apt/apt-get/yum 這些你的 Linux 發行版的朋友。

在 Debian/Ubuntu Linux 上安裝 uptimed

鍵入以下 apt 命令[3]/apt-get 命令[4]

  1. $ sudo apt-get install uptimed

示例輸出:

  1. Reading package lists... Done

  2. Building dependency tree      

  3. Reading state information... Done

  4. The following additional packages will be installed:

  5.  libuptimed0

  6. The following NEW packages will be installed:

  7.  libuptimed0 uptimed

  8. 0 upgraded, 2 newly installed, 0 to remove and 3 not upgraded.

  9. Need to get 40.7 kB of archives.

  10. After this operation, 228 kB of additional disk space will be used.

  11. Do you want to continue? [Y/n] y

  12. Get:1 http://mirrors.linode.com/ubuntu xenial/universe amd64 libuptimed0 amd64 1:0.3.17-4 [9,050 B]

  13. Get:2 http://mirrors.linode.com/ubuntu xenial/universe amd64 uptimed amd64 1:0.3.17-4 [31.6 kB]

  14. Fetched 40.7 kB in 0s (2,738 kB/s)  

  15. Preconfiguring packages ...

  16. Selecting previously unselected package libuptimed0.

  17. (Reading database ... 39163 files and directories currently installed.)

  18. Preparing to unpack .../libuptimed0_1%3a0.3.17-4_amd64.deb ...

  19. Unpacking libuptimed0 (1:0.3.17-4) ...

  20. Selecting previously unselected package uptimed.

  21. Preparing to unpack .../uptimed_1%3a0.3.17-4_amd64.deb ...

  22. Unpacking uptimed (1:0.3.17-4) ...

  23. Processing triggers for systemd (229-4ubuntu21) ...

  24. Processing triggers for ureadahead (0.100.0-19) ...

  25. Processing triggers for man-db (2.7.5-1) ...

  26. Setting up libuptimed0 (1:0.3.17-4) ...

  27. Setting up uptimed (1:0.3.17-4) ...

  28. Processing triggers for libc-bin (2.23-0ubuntu9) ...

  29. Processing triggers for systemd (229-4ubuntu21) ...

  30. Processing triggers for ureadahead (0.100.0-19) ...

在 CentOS/RHEL/Fedora/Oracle/Scientific Linux 上安裝 uptimed

首先 在 CentOS/RHEL 使用 EPEL 倉庫[5]

  1. $ sudo yum -y install epel-release

然後,鍵入以下 yum 命令[6]

  1. $ sudo yum install uptimed

示例輸出:

  1. Loaded plugins: fastestmirror

  2. Loading mirror speeds from cached hostfile

  3. * base: centos.excellmedia.net

  4. * epel: ftp.cuhk.edu.hk

  5. * extras: centos.excellmedia.net

  6. * updates: centos.excellmedia.net

  7. Resolving Dependencies

  8. --> Running transaction check

  9. ---> Package uptimed.x86_64 0:0.4.0-6.el7 will be installed

  10. --> Finished Dependency Resolution

  11. Dependencies Resolved

  12. ===============================================================================

  13. Package           Arch             Version               Repository      Size

  14. ===============================================================================

  15. Installing:

  16. uptimed           x86_64           0.4.0-6.el7           epel            47 k

  17. Transaction Summary

  18. ===============================================================================

  19. Install  1 Package

  20. Total download size: 47 k

  21. Installed size: 98 k

  22. Is this ok [y/d/N]: y

  23. Downloading packages:

  24. uptimed-0.4.0-6.el7.x86_64.rpm                            |  47 kB   00:01    

  25. Running transaction check

  26. Running transaction test

  27. Transaction test succeeded

  28. Running transaction

  29.  Installing : uptimed-0.4.0-6.el7.x86_64                                  1/1

  30.  Verifying  : uptimed-0.4.0-6.el7.x86_64                                  1/1

  31. Installed:

  32.  uptimed.x86_64 0:0.4.0-6.el7                                                

  33. Complete!

如果你正在使用 Fedora Linux,執行以下 dnf 命令:

  1. $ sudo dnf install uptimed

在 Arch Linux 上安裝 uptimed

鍵入以下 pacman 命令:

  1. $ sudo pacman -S uptimed

在 Gentoo Linux 上安裝 uptimed

鍵入以下 emerge 命令:

  1. $ sudo emerge --ask uptimed

如何配置 uptimed

使用文字編輯器編輯 /etc/uptimed.conf 檔案,例如 vim 命令:

  1. $ sudo vim /etc/uptimed.conf

最少設定一個 email 地址來傳送記錄。假定有個相容 sendmail 的 MTA 安裝在 /usr/lib/sendmail

  1. EMAIL=vivek@server1.cyberciti.biz

儲存並關閉檔案。

如何在系統啟動時啟動 uptimed 服務?

使用 systemctl 命令啟動 uptimed 服務:

  1. $ sudo systemctl enable uptimed

我該如何 啟動/停止/重啟 或者檢視 uptimed 服務的狀態?

  1. $ sudo systemctl start uptimed ## start it ##

  2. $ sudo systemctl stop uptimed ## stop it ##

  3. $ sudo systemctl restart uptimed ## restart it ##

  4. $ sudo systemctl status uptimed ## view status ##

示例輸出:

  1. uptimed.service - uptime record daemon

  2.   Loaded: loaded (/lib/systemd/system/uptimed.service; enabled; vendor preset: enabled)

  3.   Active: active (running) since Thu 2017-11-09 17:49:14 UTC; 18min ago

  4. Main PID: 11137 (uptimed)

  5.   CGroup: /system.slice/uptimed.service

  6.           └─11137 /usr/sbin/uptimed -f

  7. Nov 09 17:49:14 gfs04 systemd[1]: Started uptime record daemon.

如何檢視 uptime 記錄

只需鍵入以下命令即可檢視 uptimed(8) 程式的統計資訊:

  1. $ uprecords

示例輸出:

Fig.02: uprecords in action

uprecords 有一些選項:

  1. $ uprecords -?

示例輸出:

  1. usage: uprecords [OPTION]...

  2.  -?             this help

  3.  -a             do not print ansi codes

  4.  -b             sort by boottime

  5.  -B             reverse sort by boottime

  6.  -k             sort by sysinfo

  7.  -K             reverse sort by sysinfo

  8.  -d             print downtime seen before every uptimes instead of system

  9.  -c             do not show current entry if not in top entries

  10.  -f             run continously in a loop

  11.  -s             do not print extra statistics

  12.  -w             wide output (more than 80 cols per line)

  13.  -i INTERVAL    use INTERVAL seconds for loop instead of 5, implies -f

  14.  -m COUNT       show a maximum of top COUNT entries instead of 10

  15.  -M             show next milestone

  16.  -v             version information

結論

這是一個極好的小工具,可以顯示伺服器正常執行時間的記錄,以證明機器正常執行時間和你的業務連續性。在相關說明中,你可以看到官方的 XKCD 系統管理員 T恤[7] 因為漫畫被製作成襯衫,其中包括背面的新插圖。

Fig.03: Sysadmin XKCD shirt features the original comic on the front and a new illustration on the back.


via: https://www.cyberciti.biz/hardware/see-records-statistics-about-a-linux-servers-uptime/

作者:Vivek Gite[9] 譯者:MjSeven 校對:wxy

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

贊(0)

分享創造快樂

© 2023 知識星球   網站地圖