Icinga客戶端的部署相對於伺服器端來說,簡單很多。對於伺服器端來說,如果要通過以下這種方式來監控伺服器,必須包含三個組件,Icinga內核,Icinga插件,NRPE(Nagios Remote Plugin Executor)。對於Icinga客戶端來說,只需要部署Icinga插件和NRPE。...
Icinga客戶端的部署相對於伺服器端來說,簡單很多。對於伺服器端來說,如果要通過以下這種方式來監控伺服器,必須包含三個組件,Icinga內核,Icinga插件,NRPE(Nagios Remote Plugin Executor)。對於Icinga客戶端來說,只需要部署Icinga插件和NRPE。
icinga 中文化項目的下載地址為:http://sourceforge.net/projects/icinga-cn/files/
其中,Icinga插件,NRPE均在icinga plugins目錄中。
在這裡,我下載了nagios-cn-plugins-2.0.3.tar.xz和icinga-nrpe-2.14.tar.gz。
新建icinga用戶
# useradd icinga -s /sbin/nologin
安裝nagios-cn-plugins
# cd /usr/src/
# tar xvf /root/nagios-cn-plugins-2.0.3.tar.xz
# cd nagios-cn-plugins-2.0.3/
# ./configure --prefix=/usr/local/icinga
最後輸出如下:
config.status: creating po/Makefile --with-apt-get-command: --with-ping6-command: /usr/sbin/ping6 -n -U -w %d -c %d %s --with-ping-command: /usr/bin/ping -n -U -w %d -c %d %s --with-package-name: nagios-plugins --with-nagios-user: --with-nagios-group: --with-ipv6: yes --with-mysql: no --with-openssl: yes --with-gnutls: no --enable-extra-opts: yes --with-perl: /usr/bin/perl --enable-perl-modules: no --with-cgiurl: /nagios/cgi-bin --with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin --enable-libtap: no
# make
# make install
設置許可權
# chown -R icinga.icinga /usr/local/icinga/
安裝NRPE
# cd /usr/src/
# tar xvf /root/icinga-nrpe-2.14.tar.gz
# cd icinga-nrpe-2.14/
# ./configure --enable-command-args
最後輸出如下:
*** Configuration summary for nrpe 2.14 12-21-2012 ***: General Options: ------------------------- NRPE port: 5666 NRPE user: icinga NRPE group: icinga Icinga user: icinga Icinga group: icinga Review the options above for accuracy. If they look okay, type 'make all' to compile the NRPE daemon and client.
按照提示,
# make all
輸出結果如下:
*** Compile finished *** make install - This installs files in /usr/local/icinga make install-plugin - This installs init-script files in /usr/local/icinga/libexec make install-init - This installs init-script files in /etc/init.d make install-xinetd - This installs sample-config/nrpe.xinetd in /etc/xinit.d make install-init-freebsd - This installs init-script.freebsd files in /etc/init.d make install-init-debian - This installs init-script.debian files in /etc/init.d make install-init-suse - This installs init-script.suse files in /etc/init.d make install-daemon-config - This installs the Nrpe config file in /usr/local/icinga/etc If the NRPE daemon and client compiled without any errors, you can continue with the installation or upgrade process. Read the PDF documentation (NRPE.pdf) for information on the next steps you should take to complete the installation or upgrade.
對於Linux系統,可運行make install, make install-plugin,make install-init,make install-xinetd, make install-daemon-config。各項的具體作用可參考上述的說明。
修改NRPE的配置文件
# vim /usr/local/icinga/etc/nrpe.cfg
在allowed_hosts後面添加Icinga服務端的地址
allowed_hosts=127.0.0.1,192.168.244.145
啟動NRPE服務
# /etc/init.d/icinga-nrpe start
Starting icinga-nrpe (via systemctl): Warning: Unit file of icinga-nrpe.service changed on disk, 'systemctl daemon-reload' recommended. [ OK ]
# systemctl daemon-reload
# /etc/init.d/icinga-nrpe start
查看5666埠是否開啟監聽
# netstat -ntlup | grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 26517/nrpe
在服務端上進行驗證
# /usr/local/icinga/libexec/check_nrpe -H 192.168.244.146
其中192.168.244.146是客戶端的地址
如果輸出的是NRPE的版本號:
NRPE v2.14
則代表服務端和客戶端已建立通信。
總結:
1. 如果在服務端上進行驗證時,報以下錯誤:
CHECK_NRPE: Error - Could not complete SSL handshake.
一般是NRPE的配置文件沒有修改,或防火牆規則阻止了Icinga服務端和NRPE進程之間的連接。
2. 系統賬號的shell使用 /sbin/nologin ,此時無法登陸系統,即使給了密碼也不行。
所謂“無法登陸”指的僅是這個用戶無法使用bash或其他shell來登陸系統而已,並不是說這個賬號就無法使用系統資源。舉例來說,各個系統賬號中,列印作業有lp這個賬號管理,www伺服器有apache這個賬號管理,他們都可以進行系統程式的工作,但就是無法登陸主機而已。有時候有些服務,比如郵件服務,大部分都是用來接收主機的郵件而已,並不需要登陸。假如有賬號試圖連接我的主機取得shell,我們就可以拒絕。另外,如果我想要讓某個具有 /sbin/nologin 的用戶知道,他們不能登陸主機時,可以新建 /etc/nologin.txt 這個文件,在文件內面寫上不能登陸的原因,當用戶登錄時,屏幕上就會出現這個文件裡面的內容。
參考:
http://docs.icinga.org/latest/en/nrpe.html
http://blog.chinaunix.net/uid-28216282-id-3373188.html