Linux運維利器之ClusterShell
如果你有若干臺數(shù)據(jù)庫服務器,突然你想知道它們當前的即時負載情況,你會怎么辦?挨個登錄上去uptime一下?感覺有點傻,寫個shell?浪費時間,直接用ClusterShell吧!
ClusterShell的安裝與配置
ClusterShell的安裝很Easy,如果使用APT或YUM包管理方式的話,基本就是一條命令的事兒,我就不說了,這里說一下如何從源代碼安裝,需要在源代碼目錄執(zhí)行如下命令:
shell> python setup.py install
為了使用的方便,還需要拷貝配置文件到指定目錄:
shell> mkdir /etc/clustershell shell> cp conf/* /etc/clustershell
接著配置我們要管理的節(jié)點,假設我們配置了一個db組,包含db_[1-3]三個節(jié)點:
shell> cat /etc/clustershell/groups db: db_1 db_2 db_3
準備就緒,順著文章開頭的例子說:查詢所有數(shù)據(jù)庫服務器當前的負載情況:
shell> clush -g db "uptime"
注:前提是需要在被操作服務器上設置免密碼登錄,如果不清楚,請看下面的內(nèi)容。
番外篇:如何配置服務器免密碼登錄?
如果沒有事先生成ssh密匙的話,需要先生成:
shell> ssh-keygen
可選操作:為了方便,我們可以給需要登錄的服務器起一個可讀性更好的別名,如果你做了類似的操作,那么后面的<USER>@<SERVER>都可以換成對應的<HOST>:
shell> cat ~/.ssh/config Host db_1 Hostname <SERVER> User <USER> Port <PORT> Host db_2 Hostname <SERVER> User <USER> Port <PORT> Host db_3 Hostname <SERVER> User <USER> Port <PORT>
然后把生成的公鑰添加到需要登錄的服務器指定位置:
shell> cat ~/.ssh/id_rsa.pub | ssh <USER>@<SERVER> "cat - >> ~/.ssh/authorized_keys"
如果你和我一樣總記不清如何正確拼寫authorized_keys,可以接著學一下ssh-copy-id的用法,這個命令可以讓操作更簡單點:
shell> ssh-copy-id -i ~/.ssh/id_rsa.pub "<USER>@<SERVER>"
注:每配置好一臺免密碼登錄的服務器,***手動實際操作一下,因為***次連接會要求手動確認是否保存信息到~/.ssh/known_hosts文件。
…
有的網(wǎng)友會說,監(jiān)控服務器負載可以用Munin之類的工具。不錯確實如此,不過Munin之類的工具無法給你一個及時數(shù)據(jù),另外,ClusterShell并不局限在查詢負載的功能上,跟上不同的命令,就可以查詢不同的數(shù)據(jù),而在Munin之類的工具里,如果你想監(jiān)控某個數(shù)據(jù),必須有對應的插件才行。ClusterShell是不可或缺的Linux運維利器!
原文: http://huoding.com/2011/11/12/133
【編輯推薦】