歡迎您光臨本站 註冊首頁

搭建nagios監控服務

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
由於公司在本市有一些伺服器需要對其進行監測,其中大部分是windows的伺服器,看了一些相關的監控的軟體,決定使用nagios進行監控,在這裡對Sery文章的幫助表示感謝.
下面就是一些安裝的步驟,由於安裝的時候與現在較早,有些地方沒有好好的保留,如有不對的地方望大家積極指出,如有不懂的地方可以去nagios的官網去查看,也可以在搭好后的web主頁上獲得幫助,呵呵,我就是看那裡的.不說了,下面是配置步驟.

,到www.nagios.orq 上下載nagios 的軟體包


2.下載到相應的目錄下解壓,進行編譯 ./configure prefix=/usr/loacl/nagios
注意先建立nagios 用戶和組,也可以再編譯的時候進行指定
3、 編譯nagios. make all
4、 安裝nagios.與別的軟體安裝稍有不同,nagios的安裝要好幾步才能完成.第一步執行make install安裝主要的程序、CGI及HTML文件,第二步執行 make install- commandmode 給外部命令訪問nagios配置文件的許可權,第三步執行 make install-config 把配置文件的例子複製到nagios的安裝目錄.按照安裝嚮導的提示,其實這裡 還有一個 make install-init的步驟,它的作用是把nagios做成一個運行腳本,使nagios隨系統開機啟動,這是一個很方便的措施.但本人是一個喜歡把問題簡化的人,沒 有執行這樣的操作.
5、 驗證程序是否被正確安裝.切換目錄到安裝路徑(這裡是/usr/local/nagios),看是否存在 etc、bin、 sbin、 share、 var這五個目錄,如果存在則可以表明程序被正 確的安裝到系統了.后表是五個目錄功能的簡要說明:


bin
Nagios執行程序所在目錄,這個目錄只有一個文件nagios
etc
Nagios配置文件位置,初始安裝完后,只有幾個*.cfg-sample文件
sbin
Nagios Cgi文件所在目錄,也就是執行外部命令所需文件所在的目錄


Share
Nagios網頁文件所在的目錄
Var
Nagios日誌文件、spid 等文件所在的目錄



二.安裝nagios 的插件,到www.nagios.orq 上下載nagios 的軟體包nagios-plugins-1.4.13
執行
./configure prefix=/usr/loacl/nagios make make install進行安裝
j
注意系統時間的一致性
>
裝好后再目標目錄下生成 libexec 目錄


三、安裝web伺服器apache
Web服務不是nagios所必須的,但是如果nagios沒有web,查看監控對象的狀態將是非常費事和沒有趣味的事情(只有通過查看nagios的日誌來判斷狀態).我不願干特無聊 的事,就花少許時間把web安裝一下.
在unix/linux世界,apache是web伺服器的首選對象,其下載網站為www.apache.org .建議下載源碼.我們不需要很複雜的web功能,因此簡單的執行一下幾個步驟就 可以正確的把apache安裝到系統:
1、 解包、配置:tar zxvf httpd-2.2.0.tar.gz ; cd httpd-2.2.0 ; ./configure –prefix=/usr/local/apache .
2、 編譯安裝: make ; make install .
安裝完成後,執行命令 ./usr/local/apache/bin/apachectl –t 檢查一下apache是否正確安裝.

#setting for nagios
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin">
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">
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>
更改目錄/usr/local/apache 的許可權 為nagios用戶
執行/usr/local/apache/bin/apachl -t 檢查語法
然後/usr/local/apache/bin/apachctl start & 把apache啟動到後台
注意有的版本自帶了自己的apache服務,不要試驗 /etc/init.d/httpd start 進行啟動會衝突

四.進入到/usr/local/nagios/etc/ 下,目錄結構如下







然後進入到 ./nagios 下對nagios 配置文件進行修改

cfg_file=/usr/local/nagios//etc/objects/commands.cfg //會在 object 的目錄下生成相應的配置文檔
cfg_file=/usr/local/nagios//etc/objects/contacts.cfg //同上
cfg_file=/usr/local/nagios//etc/objects/timeperiods.cfg // 同上
cfg_file=/usr/local/nagios//etc/objects/templates.cfg // 同上
cfg_file=/usr/local/nagios//etc/objects/windows.cfg //取消的註釋行,開啟監測windows伺服器
cfg_file=/usr/local/nagios//etc/objects/switch.cfg //取消的註釋行,開啟對路由和交換機的監測
command_check_interval=-10s //設定伺服器掉線的允許時間,默認為1s
enable_notifications=1 //是否發送通知的過濾器

在cgi.cfg中進行修改

authorized_for_system_information=nagiosadmin,zhangbo
authorized_for_configuration_information=nagiosadmin,zhangbo
authorized_for_system_commands=zhangbo //多個用戶之間用逗號隔開
authorized_for_all_services=nagiosadmin,zhangbo
authorized_for_all_hosts=nagiosadmin,zhangbo
authorized_for_all_service_commands=nagiosadmin,zhangbo
authorized_for_all_host_commands=nagiosadmin,zhangbo

下面進入到 ./object 的目錄下,改目錄的結構如下:






再 contacts.cfg 中進行修改:這裡主要是聯繫人的相關設置

define contactgroup{
contactgroup_name admins //聯繫組的相應組名,後面要用到


alias Nagios Administrators //別名
members zhangbo //成員,多用戶用「,」隔開
}

define contact{
contact_name zhangbo //聯繫人
alias Nagios zhangbo (Admin) //別名
email zhangbo@郵箱 //聯繫人的郵箱,通知的郵箱
}

再timeperiods.cfg 中沒有修改: //這裡主要是一些關於監測時間,報警時間,間斷時間的一些設置,保持默認即可


在 localhost.cfg 下的修改:

define hostgroup{
hostgroup_name hostadmin //監視的主機組的名稱
alias hostadmin //別名
members zhangbo //成員名 ,多用戶用「,」隔開
}

define host{
use linux-server //使用的類定義,根據templates.cfg的定義
host_name zhangbo //主機名
alias zhangbo //別名
parents MainSwitch
address 192.168.1.251 //對應的ip地址
icon_image server.gif
statusmap_image server.gd2
2d_coords 500,200
3d_coords 500,200,100
}

再 templates.cfg 中進行修改://可以根據自己的需要進行相應類的定義


define contact{
name generic-contact //定義的類名
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
events, and scheduled downtime events


host_notification_options d,u,r,f,s
ents, and scheduled downtime events
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
register 0




檢測:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
出現下面情況表示成功
Checking misc settings...

Total Warnings: 0
Total Errors: 0

Things look okay - No serious problems were detected during the pre-flight check

對於監測是點來說,我這裡都是一些windows的機器,系統的差異,對windows的監控得需要在各監控點上安裝第三方的軟體--NSClient

NSClient 客戶端在windos上的安裝步驟

1,到官方網站上下載最新的穩定的 NSClient 軟體包或安裝程序

2. 將其安裝再C盤下

3.再 cmd 的模式下,進入到安裝目錄,執行:
NSClient /uninstall
NSClient SysTray uninstall

NSClient /install
NSClient SysTray install

4.再安裝目錄下對配置文件進行修改:

將 [modules]部分的所有模塊前面的註釋都去掉,除了CheckWMI.dll and RemoteConfiguration.dll這兩個
在[Settings]部分設置'password'選項來設置密碼,作用是在nagios連接過來時要求提供密碼.這一步是可選的,我這裡方便起見跳過它,不要密碼.
將[Settings]部分'allowed_hosts'選項的註釋去掉,並且加上運行nagios的監控主機的IP.我改為如下這樣allowed_hosts=127.0.0.1/32,192.168.0.111 以逗號相隔.這個地方是支持子網的,如果寫成192.168.0.0/24則表示該子網內的所有機器都可以訪問.如果這個地方是空白則表示所有的主機都可以連接上來.注意是[Settings]部分的,[NSClient]部分也有這個選項.


必須保證[NSClient]的'port'選項並沒有被註釋,並且它的值是'12489',這是NSClient的默認監聽埠

5.在CMD中執行nsclient /start啟動服務,注意所在目錄是C:NSClient

password=secret-password


下面是web的nagios的監控圖形界面










對伺服器監控測試正常




[火星人 ] 搭建nagios監控服務已經有707次圍觀

http://coctec.com/docs/linux/show-post-52729.html