搭建nagios监控服务
生活随笔
收集整理的這篇文章主要介紹了
搭建nagios监控服务
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
由于公司在本市有一些服務(wù)器需要對其進行監(jiān)測,其中大部分是windows的服務(wù)器,看了一些相關(guān)的監(jiān)控的軟件,最后決定使用nagios進行監(jiān)控,在這里對Sery文章的幫助表示感謝。
????? 下面就是一些安裝的步驟,由于安裝的時候與現(xiàn)在較早,有些地方?jīng)]有好好的保留,如有不對的地方望大家積極指出,如有不懂的地方可以去nagios的官網(wǎng)去查看,也可以在搭好后的web主頁上獲得幫助,呵呵,我就是看那里的。不說了,下面是配置步驟。
首先,到www.nagios.orq 上下載nagios 的軟件包
2.下載到相應(yīng)的目錄下解壓,進行編譯 ./configure prefix=/usr/loacl/nagios
注意先建立nagios 用戶和組,也可以再編譯的時候進行指定
3、? 編譯nagios. make all
4、 安裝nagios。與別的軟件安裝稍有不同,nagios的安裝要好幾步才能完成。第一步執(zhí)行make install安裝主要的程序、CGI及HTML文件,第二步執(zhí)行 make install- commandmode 給外部命令訪問nagios配置文件的權(quán)限,第三步執(zhí)行 make install-config 把配置文件的例子復(fù)制到nagios的安裝目錄。按照安裝向?qū)У奶崾?#xff0c;其實這里 還有一個 make install-init的步驟,它的作用是把nagios做成一個運行腳本,使nagios隨系統(tǒng)開機啟動,這是一個很方便的措施。但本人是一個喜歡把問題簡化的人,沒 有執(zhí)行這樣的操作。
5、 驗證程序是否被正確安裝。切換目錄到安裝路徑(這里是/usr/local/nagios),看是否存在 etc、bin、 sbin、 share、 var這五個目錄,如果存在則可以表明程序被正 確的安裝到系統(tǒng)了。后表是五個目錄功能的簡要說明:
?
?
bin
Nagios執(zhí)行程序所在目錄,這個目錄只有一個文件nagios
etc
Nagios配置文件位置,初始安裝完后,只有幾個*.cfg-sample文件
sbin
Nagios Cgi文件所在目錄,也就是執(zhí)行外部命令所需文件所在的目錄
Share
Nagios網(wǎng)頁文件所在的目錄
Var
Nagios日志文件、spid 等文件所在的目錄
二。安裝nagios 的插件,到www.nagios.orq 上下載nagios 的軟件包nagios-plugins-1.4.13
執(zhí)行
./configure prefix=/usr/loacl/nagios???? make?? make install進行安裝
j
注意系統(tǒng)時間的一致性
>
裝好后再目標(biāo)目錄下生成 libexec 目錄
三、安裝web服務(wù)器apache
Web服務(wù)不是nagios所必須的,但是如果nagios沒有web,查看監(jiān)控對象的狀態(tài)將是非常費事和沒有趣味的事情(只有通過查看nagios的日志來判斷狀態(tài))。我不愿干特?zé)o聊 的事,所以就花少許時間把web安裝一下。
在unix/linux世界,apache是web服務(wù)器的首選對象,其下載網(wǎng)站為www.apache.org? 。建議下載源碼。因為我們不需要很復(fù)雜的web功能,因此簡單的執(zhí)行一下幾個步驟就 可以正確的把apache安裝到系統(tǒng):
1、?? 解包、配置:tar zxvf httpd-2.2.0.tar.gz ; cd httpd-2.2.0 ; ./configure?? –prefix=/usr/local/apache 。
2、?? 編譯安裝: make ; make install 。
安裝完成后,執(zhí)行命令 ./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 的權(quán)限 為nagios用戶
執(zhí)行/usr/local/apache/bin/apachl -t 檢查語法
然后/usr/local/apache/bin/apachctl start & 把apache啟動到后臺
注意有的版本自帶了自己的apache服務(wù),不要試驗 /etc/init.d/httpd start 進行啟動會沖突
四。進入到/usr/local/nagios/etc/ 下,目錄結(jié)構(gòu)如下
然后進入到 ./nagios 下對nagios 配置文件進行修改
cfg_file=/usr/local/nagios//etc/objects/commands.cfg?? //會在 object 的目錄下生成相應(yīng)的配置文檔
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??? //取消的注釋行,開啟監(jiān)測windows服務(wù)器
cfg_file=/usr/local/nagios//etc/objects/switch.cfg????? //取消的注釋行,開啟對路由和交換機的監(jiān)測
command_check_interval=-10s? //設(shè)定服務(wù)器掉線的允許時間,默認(rèn)為1s
enable_notifications=1? //是否發(fā)送通知的過濾器
在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 的目錄下,改目錄的結(jié)構(gòu)如下:
再 contacts.cfg 中進行修改:這里主要是聯(lián)系人的相關(guān)設(shè)置
define contactgroup{
??????? contactgroup_name?????? admins? //聯(lián)系組的相應(yīng)組名,后面要用到
??????? alias?????????????????? Nagios Administrators?? //別名
??????? members???????????????? zhangbo??? //成員,多用戶用“,”隔開
??????? }
define contact{
??????? contact_name??????????????????? zhangbo???????? //聯(lián)系人?????????????
??????? alias?????????????????????????? Nagios zhangbo? (Admin)?? //別名???????
??????? email?????????????????????????? zhangbo@郵箱???? //聯(lián)系人的郵箱,通知的郵箱?
??????? }
?再timeperiods.cfg 中沒有修改:? //這里主要是一些關(guān)于監(jiān)測時間,報警時間,間斷時間的一些設(shè)置,保持默認(rèn)即可
在 localhost.cfg 下的修改:
define hostgroup{
??????? hostgroup_name? hostadmin???? //監(jiān)視的主機組的名稱
??????? alias?????????? hostadmin?? //別名
??????? members???????? zhangbo??????? //成員名 ,多用戶用“,”隔開
???????? }
define host{
??????? use???????????????????? linux-server? //使用的類定義,根據(jù)templates.cfg的定義
??????? host_name?????????????? zhangbo???????????? //主機名
??????? alias?????????????????? zhangbo??????????????? //別名
??????? parents???????????????? MainSwitch
??????? address???????????????? 192.168.1.251???? //對應(yīng)的ip地址
??????? icon_p_w_picpath????????????? server.gif
??????? statusmap_p_w_picpath???????? server.gd2
??????? 2d_coords?????????????? 500,200
??????? 3d_coords?????????????? 500,200,100
??????? }
再? templates.cfg 中進行修改://可以根據(jù)自己的需要進行相應(yīng)類的定義
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
出現(xiàn)下面情況表示成功
Checking misc settings...
?
Total Warnings: 0
Total Errors:?? 0
?
Things look okay - No serious problems were detected during the pre-flight check
對于監(jiān)測是點來說,我這里都是一些windows的機器,因為系統(tǒng)的差異,對windows的監(jiān)控得需要在各監(jiān)控點上安裝第三方的軟件--NSClient++
NSClient++ 客戶端在windos上的安裝步驟
1,到官方網(wǎng)站上下載最新的穩(wěn)定的 NSClient++ 軟件包或安裝程序
2. 將其安裝再C盤下
3.再 cmd 的模式下,進入到安裝目錄,執(zhí)行:
?? ??? NSClient++ /uninstall
??? NSClient++ SysTray uninstall
?
??? NSClient++ /install?
??? NSClient++ SysTray install
4.再安裝目錄下對配置文件進行修改:
?
將 [modules]部分的所有模塊前面的注釋都去掉,除了CheckWMI.dll and RemoteConfiguration.dll這兩個?
在[Settings]部分設(shè)置'password'選項來設(shè)置密碼,作用是在nagios連接過來時要求提供密碼.這一步是可選的,我這里方便起見跳過它,不要密碼.?
將[Settings]部分'allowed_hosts'選項的注釋去掉,并且加上運行nagios的監(jiān)控主機的IP.我改為如下這樣allowed_hosts=127.0.0.1/32,192.168.0.111 以逗號相隔.這個地方是支持子網(wǎng)的,如果寫成192.168.0.0/24則表示該子網(wǎng)內(nèi)的所有機器都可以訪問.如果這個地方是空白則表示所有的主機都可以連接上來.注意是[Settings]部分的,因為[NSClient]部分也有這個選項.?
必須保證[NSClient]的'port'選項并沒有被注釋,并且它的值是'12489',這是NSClient的默認(rèn)監(jiān)聽端口?
?
5.在CMD中執(zhí)行nsclient++ /start啟動服務(wù),注意所在目錄是C:\NSClient++
??? ?
password=secret-password
下面是web的nagios的監(jiān)控圖形界面
?
對服務(wù)器監(jiān)控測試正常
????? 下面就是一些安裝的步驟,由于安裝的時候與現(xiàn)在較早,有些地方?jīng)]有好好的保留,如有不對的地方望大家積極指出,如有不懂的地方可以去nagios的官網(wǎng)去查看,也可以在搭好后的web主頁上獲得幫助,呵呵,我就是看那里的。不說了,下面是配置步驟。
首先,到www.nagios.orq 上下載nagios 的軟件包
2.下載到相應(yīng)的目錄下解壓,進行編譯 ./configure prefix=/usr/loacl/nagios
注意先建立nagios 用戶和組,也可以再編譯的時候進行指定
3、? 編譯nagios. make all
4、 安裝nagios。與別的軟件安裝稍有不同,nagios的安裝要好幾步才能完成。第一步執(zhí)行make install安裝主要的程序、CGI及HTML文件,第二步執(zhí)行 make install- commandmode 給外部命令訪問nagios配置文件的權(quán)限,第三步執(zhí)行 make install-config 把配置文件的例子復(fù)制到nagios的安裝目錄。按照安裝向?qū)У奶崾?#xff0c;其實這里 還有一個 make install-init的步驟,它的作用是把nagios做成一個運行腳本,使nagios隨系統(tǒng)開機啟動,這是一個很方便的措施。但本人是一個喜歡把問題簡化的人,沒 有執(zhí)行這樣的操作。
5、 驗證程序是否被正確安裝。切換目錄到安裝路徑(這里是/usr/local/nagios),看是否存在 etc、bin、 sbin、 share、 var這五個目錄,如果存在則可以表明程序被正 確的安裝到系統(tǒng)了。后表是五個目錄功能的簡要說明:
?
?
bin
Nagios執(zhí)行程序所在目錄,這個目錄只有一個文件nagios
etc
Nagios配置文件位置,初始安裝完后,只有幾個*.cfg-sample文件
sbin
Nagios Cgi文件所在目錄,也就是執(zhí)行外部命令所需文件所在的目錄
Share
Nagios網(wǎng)頁文件所在的目錄
Var
Nagios日志文件、spid 等文件所在的目錄
二。安裝nagios 的插件,到www.nagios.orq 上下載nagios 的軟件包nagios-plugins-1.4.13
執(zhí)行
./configure prefix=/usr/loacl/nagios???? make?? make install進行安裝
j
注意系統(tǒng)時間的一致性
>
裝好后再目標(biāo)目錄下生成 libexec 目錄
三、安裝web服務(wù)器apache
Web服務(wù)不是nagios所必須的,但是如果nagios沒有web,查看監(jiān)控對象的狀態(tài)將是非常費事和沒有趣味的事情(只有通過查看nagios的日志來判斷狀態(tài))。我不愿干特?zé)o聊 的事,所以就花少許時間把web安裝一下。
在unix/linux世界,apache是web服務(wù)器的首選對象,其下載網(wǎng)站為www.apache.org? 。建議下載源碼。因為我們不需要很復(fù)雜的web功能,因此簡單的執(zhí)行一下幾個步驟就 可以正確的把apache安裝到系統(tǒng):
1、?? 解包、配置:tar zxvf httpd-2.2.0.tar.gz ; cd httpd-2.2.0 ; ./configure?? –prefix=/usr/local/apache 。
2、?? 編譯安裝: make ; make install 。
安裝完成后,執(zhí)行命令 ./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 的權(quán)限 為nagios用戶
執(zhí)行/usr/local/apache/bin/apachl -t 檢查語法
然后/usr/local/apache/bin/apachctl start & 把apache啟動到后臺
注意有的版本自帶了自己的apache服務(wù),不要試驗 /etc/init.d/httpd start 進行啟動會沖突
四。進入到/usr/local/nagios/etc/ 下,目錄結(jié)構(gòu)如下
然后進入到 ./nagios 下對nagios 配置文件進行修改
cfg_file=/usr/local/nagios//etc/objects/commands.cfg?? //會在 object 的目錄下生成相應(yīng)的配置文檔
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??? //取消的注釋行,開啟監(jiān)測windows服務(wù)器
cfg_file=/usr/local/nagios//etc/objects/switch.cfg????? //取消的注釋行,開啟對路由和交換機的監(jiān)測
command_check_interval=-10s? //設(shè)定服務(wù)器掉線的允許時間,默認(rèn)為1s
enable_notifications=1? //是否發(fā)送通知的過濾器
在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 的目錄下,改目錄的結(jié)構(gòu)如下:
再 contacts.cfg 中進行修改:這里主要是聯(lián)系人的相關(guān)設(shè)置
define contactgroup{
??????? contactgroup_name?????? admins? //聯(lián)系組的相應(yīng)組名,后面要用到
??????? alias?????????????????? Nagios Administrators?? //別名
??????? members???????????????? zhangbo??? //成員,多用戶用“,”隔開
??????? }
define contact{
??????? contact_name??????????????????? zhangbo???????? //聯(lián)系人?????????????
??????? alias?????????????????????????? Nagios zhangbo? (Admin)?? //別名???????
??????? email?????????????????????????? zhangbo@郵箱???? //聯(lián)系人的郵箱,通知的郵箱?
??????? }
?再timeperiods.cfg 中沒有修改:? //這里主要是一些關(guān)于監(jiān)測時間,報警時間,間斷時間的一些設(shè)置,保持默認(rèn)即可
在 localhost.cfg 下的修改:
define hostgroup{
??????? hostgroup_name? hostadmin???? //監(jiān)視的主機組的名稱
??????? alias?????????? hostadmin?? //別名
??????? members???????? zhangbo??????? //成員名 ,多用戶用“,”隔開
???????? }
define host{
??????? use???????????????????? linux-server? //使用的類定義,根據(jù)templates.cfg的定義
??????? host_name?????????????? zhangbo???????????? //主機名
??????? alias?????????????????? zhangbo??????????????? //別名
??????? parents???????????????? MainSwitch
??????? address???????????????? 192.168.1.251???? //對應(yīng)的ip地址
??????? icon_p_w_picpath????????????? server.gif
??????? statusmap_p_w_picpath???????? server.gd2
??????? 2d_coords?????????????? 500,200
??????? 3d_coords?????????????? 500,200,100
??????? }
再? templates.cfg 中進行修改://可以根據(jù)自己的需要進行相應(yīng)類的定義
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
出現(xiàn)下面情況表示成功
Checking misc settings...
?
Total Warnings: 0
Total Errors:?? 0
?
Things look okay - No serious problems were detected during the pre-flight check
對于監(jiān)測是點來說,我這里都是一些windows的機器,因為系統(tǒng)的差異,對windows的監(jiān)控得需要在各監(jiān)控點上安裝第三方的軟件--NSClient++
NSClient++ 客戶端在windos上的安裝步驟
1,到官方網(wǎng)站上下載最新的穩(wěn)定的 NSClient++ 軟件包或安裝程序
2. 將其安裝再C盤下
3.再 cmd 的模式下,進入到安裝目錄,執(zhí)行:
?? ??? NSClient++ /uninstall
??? NSClient++ SysTray uninstall
?
??? NSClient++ /install?
??? NSClient++ SysTray install
4.再安裝目錄下對配置文件進行修改:
?
將 [modules]部分的所有模塊前面的注釋都去掉,除了CheckWMI.dll and RemoteConfiguration.dll這兩個?
在[Settings]部分設(shè)置'password'選項來設(shè)置密碼,作用是在nagios連接過來時要求提供密碼.這一步是可選的,我這里方便起見跳過它,不要密碼.?
將[Settings]部分'allowed_hosts'選項的注釋去掉,并且加上運行nagios的監(jiān)控主機的IP.我改為如下這樣allowed_hosts=127.0.0.1/32,192.168.0.111 以逗號相隔.這個地方是支持子網(wǎng)的,如果寫成192.168.0.0/24則表示該子網(wǎng)內(nèi)的所有機器都可以訪問.如果這個地方是空白則表示所有的主機都可以連接上來.注意是[Settings]部分的,因為[NSClient]部分也有這個選項.?
必須保證[NSClient]的'port'選項并沒有被注釋,并且它的值是'12489',這是NSClient的默認(rèn)監(jiān)聽端口?
?
5.在CMD中執(zhí)行nsclient++ /start啟動服務(wù),注意所在目錄是C:\NSClient++
??? ?
password=secret-password
下面是web的nagios的監(jiān)控圖形界面
?
對服務(wù)器監(jiān)控測試正常
轉(zhuǎn)載于:https://blog.51cto.com/zhangbo/224128
總結(jié)
以上是生活随笔為你收集整理的搭建nagios监控服务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一、Delphi 2009 中的泛型
- 下一篇: 三个范式的定义与理解