nagios 只取服務的狀態。
OK WARNGING CRITICAL UNKNOWN
NAGIOS 監控的方式:
ssh nrpe(win上用 nsclient++) snmp nsca(被動監控)
編譯安裝nagios
#groupadd nagcmd
#useradd -G nagcmd nagios
#passwd nagios
#usermod -a -G nagcmd apache
#./configure --with-command-group=nagcmd --#enable-event-broker
#make all
#make install
#make install-init
#make install-commandmode
#make install-config
#make install-webconf
#/usr/local/apache-2.2.15/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重啓appach
/usr/local/apache-2.2.15/bin/apachectl restart
編譯plus 插件
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
#make
make錯誤的話可能就是沒有安裝ssl
# yum install openssl openssl-devel -y
接着make clean 一下
然後 ./configure 再make make install
檢測windows 主機
通常情況默認使用check_nt 當然也可以使用check_nrpe 和nsca 方式 接下來先看一下check_nt實現過程
安裝NSClient++-0.3.8-x64
則安裝好後在被檢測機上 netstat -an 查看有個 12489 的端口,則這個端口就是check_nt 和 他進行通信的端口,但是在linux上默認的是(1248),所以在使用的時候一定要注意
5666 是nrpe所使用的端口。
來個測試:
1)檢測系統運行多長時間
[root@g libexec]# ./check_nt -H 192.168.10.6 -p 12489 -v UPTIME
System Uptime - 0 day(s) 1 hour(s) 1 minute(s
2)檢測系統cpu性能參數
[root@g libexec]# ./check_nt -H 192.168.10.6 -p 12489 -v CPULOAD -w 80 -c 90 -l 5,80,90 (5分鐘 80%警告 90 cirtical)
CPU Load 11% (5 min average) | '5 min avg Load'=11%;80;90;0;100 前面一般信息,後面性能信息
-w警告比例, -c緊急比例 -l用於檢測性能參數 。
3)檢測磁盤利用比例
[root@g libexec]# ./check_nt -H 192.168.10.6 -p 12489 -v USEDDISKSPACE -w 80 -c 90 -l C
C:\ - total: 19.90 Gb - used: 8.93 Gb (45%) - free 10.97 Gb (55%) | 'C:\ Used Space'=8.93Gb;15.92;17.91;0.00;19.90
要想檢測 定義chec_nt命令 ,定義主機,服務,聯繫人
則進入object 目錄
1:定義一個命令
編輯commonds.cfg 加一個新的命令 :
define command {
command_name check_nt
command_line $USER1$HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}
2:更該主機,服務信息:
#vi windows.cfg
3:啓用此配置文件
在nagios的etc目錄下編輯 nagios.cfg
在cfg_file下 加入
cfg_file=/usr/local/nagios/etc/objects/windows.cfg
4:最後要判斷下語法是否正確
[root@g bin]# ./nagios -v /usr/local/nagios/etc/nagios.cfg
Warning: Duplicate (有重複)definition found for command 'check_nt' (config file '/usr/local/nagios/etc/objects/commands.cfg', starting on line 211)
Error: Could not add object property in file '/usr/local/nagios/etc/objects/commands.cfg' on line 212.
Error processing object config files!
重啓nagios
[root@g bin]# service nagios restart
觀察nagios 是否已經有了我們配置好的信息
第二種方式 check_nrpe的方式來檢測遠程主機
使用nrpe就必須要在被監控端啓用nrpe進程 (Port 5666)
當然nrpe是基於nagios-plugins所以服務端必須先裝好plugins 讓監控端通過check_nrpe跟他能通信
被監控端安裝nrpe
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
make all
make install-plugin (在被監控機安裝時先useradd nagios否則會出錯)
make install-daemon
make install-daemon-config
make install-xinetd//安裝爲xinetd服務
vim /etc/xinetd.d/nrpe
only_from = 127.0.0.1 192.168.20.18(監控機的ip地址)
一定得注意這裏修改完nrpe文件後一定得重啓nrpe這個服務
pkill nrpe;/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d,
vi /etc/services 增加如下一行 nrpe 5666/tcp # NRPE
chkconfig nrpe on
service xinetd restart
NRPE 測試
在被監控機上確認服務是否啓動
netstat -at|grep nrpe
tcp 0 0 *:nrpe *:* LISTEN
# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
-c指定配置文件試試 -d表示爲啓動守護進程
監控端安裝nrpe
和上面幾本一樣,只是只安裝
./configure --with-nrpe-user=nagios--with-nrpe-group=nagios--with-nagios-user=nagios--with-nagios-group=nagios--enable-command-args--enable-ssl
make all
make install-plugin
在監控機上測試被監控機的NRPE 工作是否正常
/usr/local/nagios/libexec/check_nrpe -H 被監控機IP
NRPE v2.12 //顯示NRPE 版本信息,說明NRPE 工作正常
接下來就定義監控遠程linux主機的命令:
define command{
command name check_nrpe
command_line $SUER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
定義主機和服務:
直接重新編譯個linhost.cfg
#cd /usr/local/nagios/etc/objects
直接將我們的windows.cfg copy過來
將其中的行修改一下。
define host{
use linux-server ; Inherit default values from a template
host_name linhost ; The name we're giving to this host
alias My Windows Server ; A longer name associated with the host
address 192.168.10.7 ; IP address of the host
}
define service{
use generic-service
host_name linhost
service_description CHECK USERS
check_command check_nrpe!check_users
}
define service{
use generic-service
host_name linhost
service_description CHECK USERS
check_command check_nrpe!check_users
}
這裏更改service時對照着被檢測端的nrpe.cfg文件最後的內容
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
依次修改就可以了
接着從前nagios 服務 觀察nagios web頁面