天天看點

centos7上簡單實作nagios監控

本次實驗簡單實作用nagios監控linux主機和windows主機:

nagios包括2部分:nagios core和nagios-plugins;

nagios core:核心部分不做任何監控工作,僅是處理nagios-plugins資訊;

nagios-plugins:主要負責與各被監控端主機通信;

被監控端:通過nagos各種插件來監控資料,并傳回給主要端上的nagios-plugins;

nagios監控配置實作的簡單原理介紹:

nagios主要端,需要遠端主機的監控機制實作;通過各種插件監控:

在遠端主機運作sshd程序,能接受主要端插件發送來的指令并執行,把執行結果傳回給主要端插件,插件把獲得的結果進行分析,主要插件把分析結果傳回給nagios 核心,核心決定是否對分析結果報警;

nrpe專門用來監控linux或unix主機使用的服務(插件);用來在監控linux/unix主機上執行腳本插件以實作對這些主機資源的監控;需要在遠端主機安裝nrpe服務(inetd),且nrpe也需要安裝nagios的各種插件,這些插件在遠端主機運作監控,把監控結果通過nrpe傳回給主要端插件,後續過程同理;

nrpe依賴于nagios-plugins;

遠端主機上安裝snmpd服務,隻需在遠端主機上每隔一段時間運作snmp指令,主要插件聯系到遠端主機的snmpd服務程序161端口擷取監控資料,後續過程同理;

nsclient++:

用來監控windows主機時安裝在windows主機上的元件;是windows上wmi元件,擷取windows監控資料,傳回給主要插件;後續過程同理;

centos7上簡單實作nagios監控

用來讓被監控的遠端linux/unix主機主動将監控資訊發送給nagios伺服器(在備援監控模式中特别要用到);在snmp中有一種trap機制,是被監控端主動通知主要端;那麼,nsca就是nagios的一種被動監控機制;主要端安裝nsca服務程序,遠端主機安裝ncsa用戶端,用戶端向主要端發送監控資料,後續過程同理;

centos7上簡單實作nagios監控
centos7上簡單實作nagios監控

所用裝置ip規劃說明:

nagios主要端伺服器(centos7系統):192.168.255.11

linux遠端主機(centos7系統):192.168.255.12

windows遠端主機(xp系統):192.168.255.107

在nagios主要端安裝:

1、安裝nagios基礎依賴軟體包:

]# yum install gcc glibc glibc-common gd gd-devel httpd php php-gd

2、建立nagios需要的使用者及組:

]# useradd -m nagios

]# usermod -a -G nagios apache

說明:使apache和nagios使用者都可通路nagios目錄;

3、下載下傳nagios軟體包并安裝:

]# tar xzf nagios-4.3.4.tar.gz

]# cd nagioscore-nagios-4.3.4/

]# ./configure --with-command-group=nagcmd

]# make all

]# make install

]# make install-init

安裝服務腳本;

email nagios@locaohost

4、建立nagios web監控界面登入時的使用者為nagiosadmin和密碼為nagiosadmin:

]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

密碼為:nagiosadmin

5、啟動httpd服務;

]# systemctl start httpd

6、下載下傳并安裝nagios-plugins插件軟體包:

]# tar zxf nagios-plugins-2.2.1.tar.gz

]# cd nagios-plugins-2.2.1

]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

]# make -j 4 && make install

7、檢視插件個數: 

]# ls /usr/local/nagios/libexec/|wc -l

8、添加nagios服務到開機自啟動:

]# chkconfig --add nagios

]# chkconfig --level 3 nagios on

9、啟動nagios服務:

檢查其主配置檔案文法:

]# /usr/lcoal/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

10、關閉selinux和iptbalese:

]# sed 's/SELINUX=enforcing/SELINUX=disable/' /etc/selinux/config

]# systemctl disable firewalld

]# systemctl disable iptables

11、浏覽器登入nagios頁面:

<a href="http://192.168.255.11/nagios/">http://192.168.255.11/nagios/</a>

使用者名和密碼為:nagiosadmin

centos7上簡單實作nagios監控

輸入此前設定的使用者名和密碼即可看見登入:

centos7上簡單實作nagios監控

12、安裝nrpe:

安裝nrpe依賴:

]# yum install make net-snmp openssl-devel

安裝nrpe:

]# tar zxf nrpe-3.2.1.tar.gz

]# cd nrpe-3.2.1

]# ./configure

]# make install-plugin

]# make install-daemon

]# make install-config

生成nrpe的配置檔案/usr/local/nagios/etc/nrpe.cfg

以上步驟nagios伺服器端基本完成;下面對被監控端的各主機操作:

在windows上(xp系統):

通過nsclient++監控,nagios與nsclient++通信實作監控有多種方式,如通過nrpe實作監控、check_nt實作監控等;

1、下載下傳nslient++0.3.6并安裝:

滑鼠一路點下一步, 其中有一步要輸入nagios伺服器端的位址、全選上即可:

centos7上簡單實作nagios監控

最後完成時,選擇立即啟動:

centos7上簡單實作nagios監控

2、打開cmd指令行:

輸入:netstat -an

其中有本地端口12489(check_nt與nsclient++通信的端口)、5666(nrpe使用的端口)已經監聽;

centos7上簡單實作nagios監控

3、在nagios主要端手動測試監控:

]# /usr/local/nagios/libexec/check_nt -H 192.168.255.107 -v UPTIME -p 12489

centos7上簡單實作nagios監控

其它手動測試:

]# ./check_nt -H 192.168.255.107 -v CPULOAD -p 12489 -w 80 -c 90 -l 5,80,90

]# ./check_nt -H 192.168.255.107 -p 12489 -v USEDDISKSPACE -w 80 -c 90 -l C 

centos7上簡單實作nagios監控

使用配置檔案監控windows遠端主機:

在nagios主要端:

4、配置commands.conf檔案:

define command{

command_name check_nt

command_line $$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$

}

5、配置windows.cfg檔案:

define host{

use windows-server host_name winhost alias My Windows host

address 192.168.255.107 

define service{

use generic-service

host_name winhost

service_description NSClient++ Version

check_command check_nt!CLIENTVERSION

service_description Uptime

check_command check_nt!UPTIME

service_description CPU Load

check_command check_nt!CPULOAD!-l 5,80,90

service_description Memory Usage

check_command check_nt!MEMUSE!-w 80 -c 90

service_description C:\ Drive Space

check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90

service_description W3SVC

check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC

service_description Explorer

check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe

6、編輯nagios.cfg配置檔案中啟用windows.cfg

cfg_file=/usr/local/nagios/etc/objects/windows.cfg

7、檢查文法:

]# bin/nagios -v etc/nagios.cfg

8、重新開機nagios服務:

]# systemctl restart nagios

9、打開浏覽器:

即可看到有winhost主機了;

centos7上簡單實作nagios監控

以上步驟完成了簡單監控遠端windows主機;

下面示範基于nrpe監控遠端linux主機:

在遠端主機centos7上:

1、添加nagios使用者:

]# useradd -s /sbin/nologin nagios

2、nrpe依賴于nagios-plugins安裝:

]# tar zxf ngioas-plugins.1.4.15.tar.gz

]# cd nagios-plugins-1.4.15

]# ./confguire --with-nagios-user=nagios --with-nagios-group=nagios

3、安裝nrpe:

]# tar zxf nrpe-2.12.tar.gz

]# cd nrpe-2.12

]# ./configure --with-nrpe-user=nagios --with-nrpe-group=nagios --with-nagios-user=nagios --with-nagios-group=nagios --enable-command-agrs --enable-ssl

]# make instal-daemon-config

4、配置nrpe.cfg:

log_facility=daemon

debug=0

pid_file=/usr/local/nagios/var/nrpe.pid

server_port=5666

nrpe_user=nagios

nrpe_group=nagios

allowed_hosts=192.168.255.11

dont_blame_nrpe=0

allow_bash_command_substitution=0

command_timeout=60

connection_timeout=300

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5, -c 30,25,20

command[check_mem]=/usr/local/nagios/libexec/check_memory.pl -w 10% -c 3%

command[check_disk]=/usr/local/nagios/libexec/check_disk -w 15% -c 7% -p /

command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%

command[check_iostat]=/usr/local/nagios/libexec/check_iostat -w 6 -c 10

5、啟動nrpe:

]# /usr/local/nagios/bin/nrpe -c /usr/local/nagos/etc/nrpe.cfg -d

配置允許主要端監控的對象:

6、在nagios主要端安裝nrpe:

7、手動測試監控l遠端inux主機:

]# libexec/check_nrpe -H 192.168.255.12

8、定義如何監控遠端主機及服務:

建立/usr/local/nagios/etc/objects/linhost.cfg檔案:

use linux-server 

host_name node2

alias My linux host

address 192.168.255.12 

service_description check_load 

check_command check_nrpe!check_load

service_description check_mem

check_command check_nrpe!check_mem

service_description check_disk

check_command check_nrpe!check_disk

service_description check_swap

check_command check_nrpe!check_swap

service_description check_iostat

check_command check_nrpe!check_iostat

9、檢查文法:

centos7上簡單實作nagios監控

10、重新開機nagios服務

即可看到新增加的一台linux主機了;

centos7上簡單實作nagios監控

此時完成簡單配置nagios監控遠端linux主機和遠端windows主機的功能,具體更多配置實作,後期再見。

本文轉自 crystaleone 51CTO部落格,原文連結:http://blog.51cto.com/linsj/2068786,如需轉載請自行聯系原作者

繼續閱讀