nagios

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頁面


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章