Linux運維利器之ClusterShell

轉自:http://huoding.com/2011/11/12/133

如果你有若干臺數據庫服務器,突然你想知道它們當前的即時負載情況,你會怎麼辦?挨個登錄上去uptime一下?感覺有點傻,寫個shell?浪費時間,直接用ClusterShell吧!

ClusterShell的安裝與配置

ClusterShell的安裝很Easy,如果使用APT或YUM包管理方式的話,基本就是一條命令的事兒,我就不說了,這裏說一下如何從源代碼安裝,需要在源代碼目錄執行如下命令:

shell> python setup.py install

爲了使用的方便,還需要拷貝配置文件到指定目錄:

shell> mkdir /etc/clustershell
shell> cp conf/* /etc/clustershell

接着配置我們要管理的節點,假設我們配置了一個db組,包含db_[1-3]三個節點:

shell> cat /etc/clustershell/groups
db: db_1 db_2 db_3

準備就緒,順着文章開頭的例子說:查詢所有數據庫服務器當前的負載情況:

shell> clush -b -g db "uptime"

注:前提是需要在被操作服務器上設置免密碼登錄,如果不清楚,請看下面的內容。

番外篇:如何配置服務器免密碼登錄?

如果沒有事先生成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文件。

有的網友會說,監控服務器負載可以用Munin之 類的工具。不錯確實如此,不過Munin之類的工具無法給你一個及時數據,另外,ClusterShell並不侷限在查詢負載的功能上,跟上不同的命令, 就可以查詢不同的數據,而在Munin之類的工具裏,如果你想監控某個數據,必須有對應的插件才行。ClusterShell是不可或缺的Linux運維 利器


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章