字號: 小 中 大 |
推薦給好友
上一篇 |
下一篇
開源監控工具Nagios使用介紹
發布: 2009-2-23 18:38 |
作者: 田逸 |
來源:
測試時代采編 |
查看: 2373次 | 進入軟件測試論壇討論
(二)、配置前的處理
最主要的工作是創建nagios用戶及其屬組,讓nagios的運行用戶為nagios而不是root。再把目錄/usr/local/nagios的屬主設置為nagios,以保證系統的安全。Nagios可以以root用戶運行,但并不推薦這樣做。用下面的步驟來完成上述過程:
1、添加系統帳戶nagios: useradd nagios 就很容易的把用戶和組nagios添加到系統。有的類型的linux發行版添加用戶和組要麻煩一些-需要手動添加組,然后再執行 useradd –g nagios nagios這樣的操作。在實際的運用場景,nagios用戶并沒有必要作為系統用戶來登錄linux系統,因此可以不必設置nagios的用戶密碼,甚至可以把nagios用戶的登錄shell設置成/bin/false。
2、更改目錄屬組:chown –R nagios.nagios /usr/local/nagios 。請注意,有的unix/linux的版本用戶和屬組分隔符號不是“.”,可能會是這樣的形式 chown –R nagios:nagios /usr/local/nagios 。
3、sendmail?纯磗endmail是否正常運行?我們需要使用sendmail來發送故障報警信息,所以這個包必須能夠正常工作。Sendmail分為服務器和客戶端兩部分,有2種發送報警郵件的方式:(1)nagios所在的機器通過sendmail客戶端程序把郵件發送到專門的郵件服務器,再由郵件服務器把消息發送到用戶郵箱。(2)郵件客戶端和服務器端就用nagios所在系統sendmail。第一種方式用起來非常規范,但更麻煩,例如需要做地址解析、修改郵件服務器的配置;另外還有一個問題-它還依賴別的系統,增加了故障點和復雜度。第二種方法十分簡單,只需啟動sendmail服務即可,而且它不再依賴于別的系統和服務。在我工作的實際場景,這兩種方法都使用,用專門的郵件服務器會有發送延遲的情況(因為郵件服務器要處理很多其他用戶郵件的收發);而直接用sendmail做服務器和客戶端就異常簡單和方便了。非常幸運的是,幾乎所有的linux/unix發行版都默認安裝sendmail,費了這么多筆墨,其實就做一個動作-把sendmail服務運行起來。
4、手機短信發送工具。我現在的公司是sp,有自己的短信通道,直接把發送短信的客戶端程序sms_send拷貝到目錄/usr/local/bin/下。如果沒有短信下發的網關通道,那怎么辦呢?網絡上有很多短信發送的客戶端程序,很有名的就是smsclient,把它下載下來,解包后安裝。不要忘記購買手機modem和手機卡,modem只支持SIM卡而不支持cdma。安裝完smsclient軟件和硬件modem后,測試一下是否正常。如果沒有modem又怎么辦?辦法還是有的:讓你的手機號可以接受郵件,這需要你去營業廳開通這項功能。短信報警功能是最有用的功能,我們不可能成天盯著監視屏幕,也不可能成天接受電子郵件,但我們的手機卻可以24小時在線,只要被監控對象發生故障,馬上就可以收到故障報警短信。以前,我很怕放長假,因為最擔心關鍵的設備或服務在假期出故障而自己不知道,所以放假就變成了值班;想必很多網絡管理員都有類似的經歷。在我動手部署nagios以前,曾經在網上搜索關于nagios配置的文章,發現絕大部分都沒有介紹使用手機短信這個方便的功能,真是遺憾呀!在此,強烈建議啟用nagios的短信故障報警功能。
(二)、配置
配置是nagios最復雜的部分,它涉及到多個文件的配置,為了方便描述,這里逐個的進行配置。
一、apache 配置。
我們分兩個步驟來完成這個配置。第一步是修改apache的配置文件httpd.conf,這里的文件路徑是 /usr/local/apache/conf/httpd.conf 。把apache的運行用戶[1]和運行組改成nagios,往下把下面的行追加到文件httpd.conf的末尾:
#setting for nagios
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin"> //Cgi文件所在目錄
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd //驗證文件路徑
Require valid-user
</Directory>
Alias /nagios /usr/local/nagios/share
<Directory "/usr/local/nagios/share"> //nagios頁面文件目錄
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd //驗證文件路徑
Require valid-user
</Directory> |
上述文本塊的作用是對nagios的目錄進行用戶驗證,只有合法的授權用戶才可以訪問nagios的頁面文件。第二步是生成用戶驗證文件:只要執行命令 /usr/local/apache/bin/htpasswd –c /usr/local/nagios/etc/htpasswd sery ,就會生成web的合法訪問用戶sery;命令交互執行,需要輸入2次密碼,然后就在文件/usr/local/nagios/etc/htpasswd寫入一行-第一個字段是剛生成的用戶名,第二個是加密后的密碼,如果還要添加更多的用戶,執行命令 htpasswd 就不需要選項 “-c”,否則就會覆蓋所有已經生成的行。
配置完成后,執行/usr/local/apache/bin/apachctl –t 檢查apache配置文件是否有語法錯誤,無誤后用/usr/local/apache/bin/apachctl start & 把apache啟動,然后從另外的機器的瀏覽器輸入nagios 的訪問地址(如:http://ip/nagios),如果正常,將出現下圖的登錄驗證窗口等待用戶輸入:
輸入用htpasswd創建的用戶名和密碼測試一下,沒有問題的話,進行下一步配置操作。