如何在 Linux 中快速監控多個主機

Linux愛好者2018-05-14 09:12:13

(點擊上方公眾號,可快速關注)


英文:SK,翻譯:Linux中國/MjSeven

linux.cn/article-9602-1.html



有很多監控工具可用來監控本地和遠程 Linux 系統,一個很好的例子是 Cockpit。但是,這些工具的安裝和使用比較複雜,至少對於新手管理員來説是這樣。新手管理員可能需要花一些時間來弄清楚如何配置這些工具來監視系統。如果你想要以快速且粗略地在局域網中一次監控多台主機,你可能需要了解一下 “rwho” 工具。只要安裝了 rwho 實用程序,它將立即快速地監控本地和遠程系統。你什麼都不用配置!你所要做的就是在要監視的系統上安裝 “rwho” 工具。


請不要將 rwho 視為功能豐富且完整的監控工具。這只是一個簡單的工具,它只監視遠程系統的“正常運行時間”(uptime),“負載”(load)和登錄的用户。使用 “rwho” 使用程序,我們可以發現誰在哪台計算機上登錄;一個被監視的計算機的列表,列出了正常運行時間(自上次重新啟動以來的時間);有多少用户登錄了;以及在過去的 1、5、15 分鐘的平均負載。不多不少!而且,它只監視同一子網中的系統。因此,它非常適合小型和家庭辦公網絡。


在 Linux 中監控多台主機


讓我來解釋一下 rwho 是如何工作的。每個在網絡上使用 rwho 的系統都將廣播關於它自己的信息,其他計算機可以使用 rwhod 守護進程來訪問這些信息。因此,網絡上的每台計算機都必須安裝 rwho。此外,為了分發或訪問其他主機的信息,必須允許 rwho 端口(例如端口 513/UDP)通過防火牆/路由器。


好的,讓我們來安裝它。


我在 Ubuntu 16.04 LTS 服務器上進行了測試,rwho 在默認倉庫中可用,所以,我們可以使用像下面這樣的 APT 軟件包管理器來安裝它。


$ sudo apt-get install rwho

 

在基於 RPM 的系統如 CentOS、 Fedora、 RHEL 上,使用以下命令來安裝它:


$ sudo yum install rwho

 

如果你在防火牆/路由器之後,確保你已經允許使用 rwhod 513 端口。另外,使用命令驗證 rwhod 守護進程是否正在運行:


$ sudo systemctl status rwhod


如果它尚未啟動,運行以下命令啟用並啟動 rwhod 服務:


$ sudo systemctl enable rwhod

$ sudo systemctl start rwhod


現在是時候來監視系統了。運行以下命令以發現誰在哪台計算機上登錄:


$ rwho

ostechni ostechnix:pts/5 Mar 12 17:41

root server:pts/0 Mar 12 17:42


正如你所看到的,目前我的局域網中有兩個系統。本地系統用户是 ostechnix (Ubuntu 16.04 LTS),遠程系統的用户是 root (CentOS 7)。可能你已經猜到了,rwho 與 who 命令相似,但它會監視遠程系統。


而且,我們可以使用以下命令找到網絡上所有正在運行的系統的正常運行時間:


$ ruptime

ostechnix up 2:17, 1 user, load 0.09, 0.03, 0.01

server up 1:54, 1 user, load 0.00, 0.01, 0.05


這裏,ruptime(類似於 uptime 命令)顯示了我的 Ubuntu(本地) 和 CentOS(遠程)系統的總運行時間。明白了嗎?棒極了!以下是我的 Ubuntu 16.04 LTS 系統的示例屏幕截圖:



你可以在以下位置找到有關局域網中所有其他機器的信息:


$ ls /var/spool/rwho/

whod.ostechnix whod.server


它很小,但卻非常有用,可以發現誰在哪台計算機上登錄,以及正常運行時間和系統負載詳情。


建議閲讀:


請注意,這種方法有一個嚴重的漏洞。由於有關每台計算機的信息都通過網絡進行廣播,因此該子網中的每個人都可能獲得此信息。通常情況下可以,但另一方面,當有關網絡的信息分發給非授權用户時,這可能是不必要的副作用。因此,強烈建議在受信任和受保護的局域網中使用它。


更多的信息,查找 man 手冊頁。


$ man rwho

 

好了,這就是全部了。更多好東西要來了,敬請期待!


乾杯!



看完本文有收穫?請分享給更多人

關注「Linux 愛好者」,提升Linux技能

閲讀原文

TAGS:正常運行時間使用以下命令運行以下命令監視遠程系統