開源監控——nagios

開源監控-ngios

Nagios是一款開源的免費網絡監視工具,能有效監控WindowsLinuxUnix主機狀態,交換機路由器等網絡設置,打印機等。在系統或服務狀態異常時發出郵件或短信報警第一間通知網站運維人員,在狀態恢復後發出

正常的郵件或短信通知。



實驗拓撲


164730925.png

主機ngios安裝過程

準備環境

掛載光驅 配置yum

[root@chh1 ~]# mount /dev/cdrom /mnt/cdrom

[root@chh1 ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo

164731167.png

yum安裝軟件包

[root@chh1 ~]# yum install httpd php php-gd php-mbstring mysql-devel

[root@chh1 ~]# service httpd start

[root@chh1 ~]# chkconfig httpd on

安裝NMS監管服務器所需要的軟件包

164732721.png

下面開始安裝這些軟件包

拆解 ngios的數據包

[root@chh1 ~]# tar -zxvf nagios-3\[1\].2.1.tar.gz -C /usr/local/src/

創建一個組 nagcmd

groupadd nagcmd

創建一個賬號 nagios

useradd -m nagios

加入組

usermod -a -G nagcmd nagios

將apache 賬號也添加竟來

usermod -a -G nagcmd apache

來到源碼目錄,開始配置nagios-3\[1\].2.1

[root@chh1 nagios-3.2.1]# ./configure --with-command-group=nagcmd --prefix=/usr/local/nagios --sysconfdir=/etc/nagios --enable-event-broker

[root@chh1 nagios-3.2.1]# make all

[root@chh1 nagios-3.2.1]# make install

[root@chh1 nagios-3.2.1]# make install-init

[root@chh1 nagios-3.2.1]# make install-commandmode

[root@chh1 nagios-3.2.1]# make install-config

[root@chh1 nagios-3.2.1]# make install-webconf

創建一個登陸nagios web程序的用戶 這個賬號在以後通過web登陸nagios認證時使用

[root@chh1 conf.d]# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin

New password:

Re-type new password:

Adding password for user nagiosadmin 密碼:123

添加nagios進行chkconfig管理

[root@chh1 conf.d]# chkconfig --add nagios

[root@chh1 conf.d]# chkconfig --list |grep nagios

nagios 0:off1:off2:off3:on4:on5:on6:off

安裝插件

拆解插件包

[root@chh1 ~]# tar -zxvf nagios-plugins-1.4.15.tar.gz -C /usr/local/src/

來進行插件的配置

[root@chh1 nagios-plugins-1.4.15]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

安裝

[root@chh1 nagios-plugins-1.4.15]# make && make install

對nagios的配置文件進行語法的檢測

[root@chh1 libexec]# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg

檢測結果是這樣就說明沒有問題

164732808.png

啓動nagios

[root@chh1 libexec]# service nagios start

Starting nagios: done.

[root@chh1 libexec]# chkconfig nagios on

重啓apache加載文件

[root@chh1 libexec]# service httpd restart

Stopping httpd: [ OK ]

Starting httpd: [ OK ]

下面我們訪問一下試試

164733822.png

164733344.png

164735974.png

164736806.png

164739825.png

在圖上的各種服務都是在/etc/nagios/objects/commands.cfg中定義的,我們可以打開看看

下面給大家來看個小例子

打開/etc/nagios/objects/commands.cfg中命令的定義

我們找到check_ping

164740884.png

那麼上圖中的那一行命令到底是什麼意思呢?下面我給大家好好解釋一下

首先看一下$USER1$:

164741749.png

從上圖我們可以看出在/etc/nagios/resource.cfg我們會找到$USER1$,其實就是調用了我們的插件庫目錄而已。

在來到我們的插件庫看看/usr/local/nagios/ libexec,看看到底有沒有check_ping

164742601.png

結果我們可以找到check_ping,但是這個該怎麼用呢,小編我也很鬱悶,那我們再來看一下/etc/nagios/objects/commands.cfg中對check_ping的定義

command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5

那我們再來看看check_ping的用法吧

[root@chh1 libexec]# ./check_ping -h |less

164744458.png

這下大家應該清楚那一行命令的意思了吧

下面來來個例子ping一下我們的主機試試吧。

164744213.png

關於更多的插件的使用,大家可以使用幫助來查看,我就不一個個解釋了。

接着我們來看一下主機文件在/etc/nagios/objects/localhost.cfg

164745127.png

164745269.png

164745258.png

164746759.png

在控制檯上的服務都是在這裏面定義的服務。在上面我看到了報警,但是報警需要聯繫人,下面我們就來看一下聯繫人文件/etc/nagios/objects/contacts.cfg

164747289.png

164747274.png

爲了測試發送郵件,小編多登陸了幾個用戶。看看郵件日誌

164751325.png

到我的163郵箱看看

164753649.png

相信看了這幾個文件大家對nagios就有了一個比較清晰的瞭解吧。


下面我們開始監控一臺windows主機試試。

164754251.png

監控windows主機我們還可以採用NRPE,SNMP

首先我們需要在windows主機上安裝NSCLient++

164755824.png

164756202.png

164758983.png

164759735.png

打開模塊,引用他們

164801752.png

164803257.png

然後保存,重啓我們的服務。

修改/etc/nagios/objects/windows.cfg

[root@chh1 objects]# vim windows.cfg

164803920.png

修改nagios的配置文件讓它監控windows

[root@chh1 nagios]# pwd

/etc/nagios

[root@chh1 nagios]# vim nagios.cfg

164804728.png

檢查語法參數。重啓nagios

[root@chh1 nagios]# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg

[root@chh1 nagios]# service nagios restart

打開頁面看看,已經監控到了。

164806864.png

下面我們再來看看監控linux主機試試。這次我們採用NRPE,但是我們的nagios是沒有這個插件。所以我們需要自己安裝。。。

我們需要監控mysqlApache。所以我們就安裝一下他們

[root@chh1 ~]# yum install mysql-devel mysql mysql-server httpd

啓動一下httpmysql

164919617.png

mysql添加密碼

[root@chh1 ~]# chkconfig mysqld on

[root@chh1 ~]# mysqladmin -u root -p password '123'

下面開始在我們的linux客戶端上安裝插件

先創建賬號 nagios

[root@chh1 ~]# useradd nagios

拆解插件包

[root@chh1 ~]# tar -zxvf nagios-plugins-1.4.15.tar.gz -C /usr/local/src/

來到拆解目錄配置文件

[root@chh1 nagios-plugins-1.4.15]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

[root@chh1 nagios-plugins-1.4.15]# make && make install

在客戶端上安裝nrpe

[root@chh1 ~]# tar -zxvf nrpe-2.12.tar.gz -C /usr/local/src/

[root@chh1 nrpe-2.12]# ./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

# make install-daemon

# make install-daemon-config

編輯客戶端 nrpe配置文件

[root@chh1 nrpe-2.12]# vim /usr/local/nagios/etc/nrpe.cfg

164920184.png

164920269.png

啓動nrpe

[root@chh1 nrpe-2.12]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios

[root@chh1 nrpe-2.12]# echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >>/etc/rc.d/rc.local

[root@chh1 nrpe-2.12]#

1. ngios服務器上安裝插件。

[root@chh1 ~]# tar -zxvf nrpe-2.12.tar.gz -C /usr/local/src/

對拆解文件進行配置

./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

2. commands.cfg 定義外部構件nrpe

[root@chh1 nrpe-2.12]# vim /etc/nagios/objects/contacts.cfg

增加

define command{

command_name check_nrpe

command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

}

164921204.png

3.創建監控linux主機的文件。

/usr/local/nagios/etc/objects 創建 mylinux.cfg

164922788.png

164924913.png

編輯客戶端文件添加我們監控中沒有命令

[root@chh1 ~]# vim /usr/local/nagios/etc/nrpe.cfg

164926636.png

重啓

[root@chh1 ~]# pkill -9 nrpe

[root@chh1 ~]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

4.爲了監控linux系統 修改 nagios.cfg

[root@chh1 objects]# vim /etc/nagios/nagios.cfg

164927935.png

做一下語法檢測

[root@chh1 objects]# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg

重啓ngios服務。

164927283.png

下面開始添加我們監控web的命令。

在客戶端上

[root@chh1 ~]# cd /usr/local/nagios/etc/

[root@chh1 etc]# vim nrpe.cfg

164928228.png

然後要重啓nrpe

164929860.png

來到服務器上

修改mylinux

[root@chh1 ~]# vim /etc/nagios/objects/mylinux.cfg

164931640.png

重啓一下

164931657.png

那我們來到打開nagios看看(windows主機沒有啓動)

164934191.png


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