之前給講過了nagios的安裝配置,以及如何監控公共服務,現在在繼續講解如何監控私有服務,什麼是私有服務呢,說直白點就是機器的disk,load,users,usage等,就是現實機器本身狀态的這些服務,稱作私有服務。
準備工作:需要子啊服務端和被監控端安裝nrpe。
一、服務端配置
1) wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
tar -xf nrpe-2.12.tar.gz -C /usr/src
cd /usr/src/nrpe-2.12
./configure --這一步沒有出現error才能繼續下面的步驟,如果出錯自行百度。
make && make install
安裝完之後就會出現下面的腳本
/usr/local/nagios/libexec/check_nrpe
2)增加check_nrpe指令道commands.cfg模闆
# vim /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ --c參數後接command, 也就說check_nrpe可以調用别的check指令
}
3)在nagios伺服器上對125的配置檔案增加遠端私有服務 --隻取一個作為範例。
# vim 125.cfg
define service{
use local-service
host_name 192.168.1.125
service_description Root Partition
check_command check_nrpe!check_remote_root
--check_remote_root就是check_nrpe的C參數要調用的指令,此指令在nagios伺服器上的commands.cfg裡是不存在,它會在後面的步驟中加到被監控端
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
--檢查一下配置檔案正确性,OK的話則配置端配置完畢,先不reload nagios服務,等被監控端配置完後再reload
二、用戶端配置
1,建立使用者
# useradd nagios
# groupadd nagiosgroup
# usermod -G nagiosgroup nagios
2,安裝plugins插件,包含了資料采集指令腳本
# tar xf nagios-plugins-1.4.16.tar.gz -C /usr/src/
# cd /usr/src/nagios-plugins-1.4.16/
# ./configure --with-nagios-user=nagios --with-nagios-group=nagiosgroup
# make && make install
3,安裝nrpe
# tar xf nrpe-2.12.tar.gz -C /usr/src/
# cd /usr/src/nrpe-2.12/
# ./configure && make && make install
# make install-plugin
# make install-daemon
# make install-daemon-config
# make install-xinetd
4,修改nrpe的超級守護程序的配置檔案 --如果沒有目錄,沒有需要安裝xinetd
# vim /etc/xinetd.d/nrpe
service nrpe
{
flags = REUSE
socket_type = stream
port = 5666
wait = no
user = nagios
group = nagios
server = /usr/local/nagios/bin/nrpe
server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 127.0.0.1 192.168.1.124--加上nagios伺服器的IP,允許它來通路
# vim /etc/services--最後面加一行
nrpe 5666/tcp # NRPE
5,在nrpe配置檔案裡定義check指令,使nagios服務能調用
# vim /usr/local/nagios/etc/nrpe.cfg
command[check_remote_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_remote_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_remote_root]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2 --/dev/sda2是被監控端的根分區,也可以直接就寫一個 / 就可以了
command[check_remote_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_remote_swap]=/usr/local/nagios/libexec/check_swap -w 80%% -c 60%% --這句預設沒有的,但nagios伺服器有配置,是以加上這句
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z--這個是預設有的,但nagios伺服器那邊我沒有加,是以這個在這裡沒有用
# /etc/init.d/xinetd restart--啟動超級守護程序
# netstat -ntlup |grep 5666--有端口被監聽了
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 22120/xinetd
6,在本地或nagios伺服器測試 --在被監控端測試成功
# /usr/local/nagios/libexec/check_users -w 5 -c 10
USERS OK - 3 users currently logged in |users=3;5;10;0
--在nagios伺服器上測試成功
# /usr/local/nagios/libexec/check_nrpe -H 192.198.1.125 -c check_remote_users
至此用戶端的安裝配置完畢。
7,回到nagios伺服器重新開機服務
# /etc/init.d/nagios restar
每個人的機器都有所不同,我這邊的隻是用作參考,不對之處還請各位看官指正。