網頁設計
Apache套件
圖1:使用Nagios監看Windows系統狀態示意
資料來源:[2]
至於Nagios提供給Linux主機的偵測Agent,則稱為NRPE,其架構示意圖與Windows主機相似,詳見圖2。
圖2:使用Nagios監看Linux系統狀態示意
資料來源:[3]
1.2. 系統架構
本文展示的系統架構,使用1部Fedora作業系統主機,同時監看Windows與Fedora主機。其系統架構與IP位址,詳見圖3。
Glibc函式庫
|
1. 安裝申明
1.1. Nagios簡述
Nagios為知名的遠端主機監看對象,為主從式架構軟體。其中主體可安裝於Linux型功課系統,包括Fedora、Ubuntu及Debian等,另亦可安裝於其他Unix like作業系統,如FreeBSD;而 Nagios偵測Agent,則可安裝於Unix like或Windows主機。詳見圖1。
利用Nagios供應給Windows系統之Agent,該Agent稱為NSClient++,結合安裝Nagios監看主機,便可把握Windows系統狀況。運作概念為,由監看主機的Nagios,呼喚本機查抄程式 check_nt,該查抄程式透過安裝在遠端主機的代辦署理程式NSClient++,取得相幹系統資訊,以後再回傳給Nagios,並顯現於Web介面上。
|
安裝指令
|
|
|
|
1.3.2. Nagios安裝
Nagios過程中,請依序履行以下步調:
.確立Nagios帳號
轉換權限為root帳號
su –l
建立名為nagios的新帳號並設定暗碼
/usr/sbin/useradd –m nagios
passwd nagios
建樹名為nagcmd的新群組帳號,以允許外部指令可以經過Web介面傳送,
並將系統的nagios與apache帳號,加進此群組。指令以下:
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod –a –G nagcmd nagios
/usr/sbin/usermod –a –G nagcmd apache
.下載Nagios原始檔與相關外掛附件(Plugins)
確立寄存Nagios與Plugins的目錄,例如:
mkdir ~/downloads
cd ~/downloads
下載Nagios及其Plugins,今朝最新不變版本分別為3.0.6與1.4.13,指令以下:
wget http://osdn.dl.sourceforge.net/s ... nagios-3.0.6.tar.gz
wget http://osdn.dl.sourceforge.net/s ... ugins-1.4.13.tar.gz
.下載Nagios之NRPE addon
為了讓Nagios伺服器可以監看遠端Linux主機,需要額外安裝NRPE套件。
(被監看的Linux主機亦須安裝,詳如後述)。下載方式為:
wget http://osdn.dl.sourceforge.net/s ... os/nrpe-2.12.tar.gz
.編譯與安裝Nagios
解緊縮Nagios原始檔:
cd ~/downloads
tar xzf nagios-3.0.6.tar.gz
cd nagios-3.0.6
履行Nagios安裝設定程式,並提供nagios群組名稱nagcmd作為輸入參數:
./configure --with-command-group=nagcmd
編譯Nagios原始檔:
make all
離別安裝Nagios Binary程式、初始法式init script、設定範例檔及設定外部指令寄存目次之權限,
指令分別以下:
make install
make install-init
make install-config
make install-commandmode
.客製化設定值
Nagios安裝完成後,一併安裝的設定典範榜樣檔位於/usr/local/nagios/etc,一般而言可正常運作。
另/usr/local/nagios/etc/objects/contacts.cfg設定檔中,需將nagiosadmin改成現實接收訊息的Email帳號。詳見圖4。
圖4:變更Nagios訊息領受帳號
.設定Nagios Web介面
首先安裝Nagios之Web設定值到Apache conf.d目錄下:
make install-webconf
替Nagios之Web介面進行成分驗證庇護,利用HTTP Basic Authentication體式格局:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
此代表將系統詢問的暗碼,寄存於/usr/local/nagios/etc/htpasswd.users,而使用此暗碼的帳號
為nagiosadmin。詳見圖5。
圖5:設定Apache Basic Authentication暗碼
接著請重新啟動Apache以套用新的設定值。
service httpd restart
.編譯與安裝Nagios之外掛附件(Plugins)
編譯與安裝Nagios之Plugins時,一樣進入下載目次,並依照前述安裝Nagios之體例進行安裝:
cd ~/downloads
tar xzf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
編譯與安裝Nagios之Plugins。
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
.編譯與安裝NRPE
cd ~/downloads
tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
.啟動Nagios
將Nagios辦事登錄到系統辦事列表中:
chkconfig add nagios
chkconfig nagios on
磨練Nagios之設定值是不是准確:
/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
詳見圖6。
圖6:檢查Nagios主設定檔准確性
以後請啟動Nagios。
service nagios start
.修改SELinux設定
Fedora功課系統存在SELinux (Security Enchanced Linux)機制,由於SELinux造成Nagios Web介面
”Internal Server Error”毛病訊息。因此需要將SELinux之狀況改為Permissive mode,
起首檢查今朝SELinux狀況:
getenforce
並將SELinux改為Permissive mode
setenforence 0
以上的方式僅套用於本次開機情形,若想將此設定設為永久,以免重開機後未保存情況。
必需點竄/etc/selinux/config並重開機。此外,假如不想或不合適變更SELinux模式情形下,
則可執行以下指令,讓Nagios在SELinux的Enforcing mode進行設定。
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
.登入Nagios Web介面
此階段應可正常利用Nagios之Web介面。請使用瀏覽器登入以下URL:
http://localhost/nagios/
首先系統會要求輸入帳號/暗碼,請輸入前面htpasswd所設定的密碼,詳見圖7。
圖7:Nagios Web介面登入
可看到Nagios首頁,詳見圖8。
圖8:Nagios Web介面首頁
.其他調劑
最後檢查主機是不是可接受HTTP連線,如是不是使用本機防火牆反對連線,若阻擋則請從頭設定答應連線。
1.4. 安裝Linux主機之Nagios Agent
有關Nagios監看Linux主機,常見體例為使用Nagios的NRPE套件協助,另外尚需要Nagios Plugins,
相關步調依序如下:
.創設Nagios帳號
轉換權限為root帳號
su –l
建立名為nagios的新帳號並設定暗碼
/usr/sbin/useradd –m nagios
passwd nagios
.下載NRPE與Nagios Plugins
目前最新版為2.12與1.4.13。指令以下:
wget http://osdn.dl.sourceforge.net/s ... os/nrpe-2.12.tar.gz
wget http://osdn.dl.sourceforge.net/s ... ugins-1.4.13.tar.gz
假定下載後存放的目次為~/downloads。
.編譯與安裝Nagios Plugins
cd ~/downloads
tar xzf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
nagios 3.3.1裝到這裡就能夠了
.編譯與安裝NRPE
cd ~/downloads
tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd
.設定NRPE為系統服務
若是沒法編譯成功
yum -y install openssl-devel
–限定可連線之監看主機IP
點竄/etc/xinetd.d/nrpe,限制僅有設定之Nagios監看主機。
如圖1所示的10.3.89.17,首要點竄only_from設定值,將其改為:
only_from = 127.0.0.1 10.3.89.17
其中兩個IP以空白鍵區分。詳見圖12。
圖12:Xinetd NRPE設定
–指定NRPE欲利用之系統通訊埠
點竄/etc/service,使NRPE可以領受監看主機的連線需求。
在此假定NRPE所用的通訊埠為TCP 5666,即增添下行於檔案中:
nrpe 5666/tcp # nrpe daemon
–啟動xinetd辦事
service xinetd start
由於Fedora主機可能預設無安裝xinetd套件,所以系統出現沒法辨識xinetd辦事時,
請執行以下指令:
yum install xinetd
啟動辦事
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
–搜檢NRPE服務是不是正常
/usr/local/nagios/libexec/check_nrpe -H localhost
若回應的訊息為NRPE及其版本資訊,即代表安裝成功。
.點竄NRPE設定檔
NRPE主要設定檔為位於/usr/local/nagios/etc/nrpe.cfg,此中包括用來檢查的指令,
以下列為查抄使用者的check_users,與查抄負載的check_load指令。
-w代表Warning;-c代表Critical,別離表示訊息嚴重等級。如check_users。
若系統同時利用者到達5個,則送出Warning品級訊息;若到達10個,就送出Critical品級訊息。
詳見圖13。
圖13:NRPE設定檔(nrpe.cfg)設定
另外值得注意的是,有關nrpe.cfg內的指令,都是可以直接在終端機履行。若系統今朝使用者達到6人
,則當履行nrpe.cfg內的check_users設定內容的話,將會呈現Warning訊息。詳見圖14。
圖14:NRPE check_users指令展示
另外在command[xxxx]中,其中xxxx代表可透過chek_nrpe指令,呼喚相幹查抄指令,請依序進行搜檢:
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
若回應預期訊息,代表功能正常;反之,回應找不到指令的毛病訊息,代表在”-c”後,
所接的指令名稱有誤,或該指令名稱,對應/usr/local/nagios/etc/nrpe.cfg的設定值有誤,
請再搜檢破除。
例如在check_hda1設定,由於NRPE預設是IDE介面硬碟機/dev/hda1,
假設系統現實利用的硬碟機,為SCSI介面的(/dev/sda1),
則請將/usr/local/nagios/etc/nrpe.cfg 的
command[check_hda1]=/usr/local/nagios/libexec/check_disk –w 20% -c 10% -p /dev/hda1
改為
command[check_sda1]=/usr/local/nagios/libexec/check_disk –w 20% -c 10% -p /dev/sda1
將/dev/hda1改為/dev/sda1。
別的command[check_hda1]改為command[check_sda1]僅為輕易辨認,可自行決意是不是變換,
或改為通用名稱,如將hda1改為disk1。
1.5. Nagios伺服器與用戶端串聯設定
1.5.1. Linux受監看主機連結設定
在Nagios伺服器與Linux主機用戶端的貫穿連接,採用NRPE進行資訊溝通。
當Nagios伺服器安裝NRPE後,便可利用check_nrpe指令測試,指令為:
/usr/local/nagios/libexec/check_nrpe –H 10.3.89.34
若順利回應NRPE V2.12訊息資訊,代表測試結果正常。
另亦可以使用以下指令,搜檢遠端Linux主機的使用者數量。
/usr/local/nagios/libexec/check_nrpe -H 10.3.89.34 -c check_users
點竄/usr/local/nagios/etc/objects/commands.cfg,增添check_nrpe設定,詳見圖17。
圖17:commands設定檔設定
以雷同設定Windows主機監看的方式,在/usr/local/nagios/etc/objects/增添名為linux.cfg的檔案,
詳如圖18。檔案內容與Windows主機類似。
須注意的是,在check_command後的設定值,check_nrpe!為固定的。
遠端被監看Linux主機/usr/local/nagios/etc/nrpe.cfg的查抄指令,如check_load與check_users。
host_name名稱,重複出現的處所,請務必設定不異。
address的IP,請設定遠端被監看Linux主機的IP位址。
圖18:linux.cfg設定檔設定
1.5.2. 搜檢與啟動
請以下方式搜檢NRPE設定是否准確:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
以後從新啟動Nagios,體式格局為:
service nagios restart
假如無毛病呈現,當再次檢視Nagios Web介面時,將呈現圖19之畫面。
圖19:Nagios監看成效
可看出Service Detail選項中,呈現3台主機,別離為Linux、Windows 2000與localhost,此中前2台別離為被監看的Linux與Windows主機名稱,和別離在windows.cfg與linux.cfg所設定的host_name,而localhost則是Nagios安裝後,包括本機監看項目。在Linux主機項目標利用者數量,由於今朝的使用者跨越5人,所以顯示Status為WARNING。
最後關於Nagios操作,圖形化介面相當輕便,功能項目亦十分直覺,利用上不成問題,安裝完成後可自行嘗試使用。
3. 結語
本文所顯現的是,系統監看中有名的Nagios東西之安裝申明,所採用的架構為:1台Linux主機作為監看伺服器,對Windows與Linux 2台主機進行監看。文中簡介3台主機別離需要安裝與設定的項目,並且顛末筆者現實測試。依文中步調,應可正常完成簡易監看情況之設立建設。若文中有不足或讀者想進一步深切了解Nagios之額外運用,建議參考官方網站之參考手冊[4]、[5],筆者提到的很多設定,在官方手冊上亦可找到。
而在本文所介紹的架構,尚有可增強之部門,如針對安全性之加強,讀者可參考Nagios官方手冊,使用SSL或SSH加密體式格局,增加Nagios伺服器與遠端主機資訊傳遞之平安,或參考筆者前幾期手藝專欄所提的 OpenVPN加密通道創立方式,一樣可增添傳遞資料的平安防護。最後感謝讀者花時間浏覽本期專欄,也期望本文對您有所幫助。
4. 參考資料
[1]Nagios官方網站, http://www.nagios.org/
[2]Nagios Monitoring Windows Machines,
http://nagios.sourceforge.net/docs/3_0/monitoring-windows.html
[3]Nagios Monitoring Linux/Unix Machines,
http://nagios.sourceforge.net/docs/3_0/monitoring-linux.html
[4]Nagios Official Document, http://nagios.sourceforge.net/docs/3_0/
[5]Nagios NRPE Official Document, http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf |
|
最新版nagios 3.3.1 也能用
此3.06版本筆者已測試完成安裝之筆記,
請列位注意裡面的步驟細節,不要LOST一定能成功
|
yum install glibc glibc-common
Server伺服器之IP 10.3.89.17。
遠端Windows主機Client A之IP 10.3.111.93。
遠端Linux主機Client B之IP 10.3.89.34。
其中Fedora主機作為Monitoring Server。
圖3:測試系統架構
以下安裝步驟主要分成幾項:先安裝Nagios於Monitoring Server,接著安裝Nagios Agent 於Windows主機上,再安裝Nagios Agent於Linux主機,最後分別於3部主機上,進行相幹溝通設定,以完成監看需求。
1.3. 安裝Nagios伺服器
1.3.1. 確保系統相依套件
利用Nagios系統監看架構之安裝中,名為Nagios套件乃安裝Monitoring Server上,即本文採用的Fedora主機。而Nagios可否正常安裝與利用,其套件必需先存在於系統上,包括: Apache作為Web介面用處;GCC編譯器作為編譯Nagios套件原始碼用處;GD函式庫作為圖形顯示用處。而在Fedora系統中,以以下指令安裝套件:
表1 Nagios相依套件安裝
GD函式庫
|
yum install httpd
Gcc編譯器
|
套件名稱 yum install gd gd-devel yum install gcc
本文來自:
文章定位:
TOP
| |