nagios

                           

                      Nagios


Cacti比較着重於直觀數據的監控,易於生成圖形,用來監控網絡流量、cpu使用率、硬盤使用率,cacti偏重於繪畫圖,在流量與圖形展示較好。

而Nagios則比較注重於主機和服務的監控,並且有很強大的發送報警信息的功能。Nagios偏重與系統服務的正常與否,可以用郵箱,短信,電話等多種方式報警。

在做nagios時有用到Ganglia

Ganglia是一個開源集羣監控項目,用於測量大量的節點,它的核心包括gmond,和gmetad和一個web前端,主要是用來監控系統的性能,如cpu,mem,disk,網絡流量等。然後gmetad週期行的輪詢gmod收集的信息,然後存入 rrdtool數據庫,由RRDTOOL工具處理數據,並生成相應的圖形顯示出來每臺主機的情況.

wKioL1eaCWuxufc8AADAkUvNgKk510.png


實驗機:是兩臺純淨的虛擬機內存2048 cpu4

Server8 nagios服務

server9

[root@server8 nagios]# tar jxfnagios-cn-3.2.3.tar.bz2

[root@server8 nagios-cn-3.2.3]# ./configure

wKioL1eaCaDzenvwAAAKb7nzT2k937.png


[root@server8 nagios-cn-3.2.3]# yum installgcc -y

[root@server8 nagios-cn-3.2.3]# ./configure

[root@server8 nagios-cn-3.2.3]# yum install-y gd-devel

[root@server8 nagios-cn-3.2.3]# ./configure

[root@server8 nagios-cn-3.2.3]# useradd -u900 -M -d /usr/local/nagios nagios

[root@server8 nagios-cn-3.2.3]# make all

[root@server8 nagios-cn-3.2.3]#  make install-init

[root@server8 nagios-cn-3.2.3]#  make install-commandmode

[root@server8 nagios-cn-3.2.3]# makeinstall-config

[root@server8 nagios-cn-3.2.3]# makeinstall-webconf

[root@server8 nagios-cn-3.2.3]# cd/usr/local/nagios/

[root@server8 nagios]# /etc/init.d/nagiosstart

[root@server8 nagios-cn-3.2.3]# cd/etc/httpd/conf.d/

[root@server8 conf.d]# vim nagios.conf

[root@server8 conf.d]# cat/usr/local/nagios/etc/htpasswd.users

nagiosadmin:gCWSDnqEHR45c

[root@server8 conf.d]# htpasswd/usr/local/nagios/etc/htpasswd.users nagiosadmin  修改nagios的密碼

[root@server8 conf.d]# /etc/init.d/httpd restart

[root@server8 conf.d]# /etc/init.d/nagiosrestart

wKiom1eaCdOgBTECAAANWX7rYrM069.png


登陸名是nagiosadmin 密碼我之前設的westos

[root@server8 nagios-plugins-2.1.1]# tarzxf nagios-plugins-2.1.1.tar.gz

[root@server8 nagios-plugins-2.1.1]#./configure

wKioL1eaCfqhyppmAABQ_l_GRF0734.png


編譯完之後mysql openssl後面應該顯示的是yes 如果是no 要yum install

Mysq-devel openssl-devel

[root@server8 nagios-plugins-2.1.1]#make

[root@server8 nagios-plugins-2.1.1]#makeinstall

[root@server8 libexec]#/usr/local/nagios/libexec

[root@server8 libexec]# chownnagios.nagios.* nagios

wKioL1eaCimDis8MAAFhTCu8srg341.png


當出現這種錯誤的時候

wKioL1eaCk3AdULYAABN7ZEKoGM356.png

[root@server8 etc]# pwd

/usr/local/nagios/etc

[root@server8 etc]# vim nagios.cfg

34cfg_file=/usr/local/nagios/etc/objects/hosts.cfg

35cfg_file=/usr/local/nagios/etc/objects/services.cfg

38#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

[root@server8 objects]# pwd

/usr/local/nagios/etc/objects

[root@server8 objects]# cp -p localhost.cfghosts.cfg

[root@server8 objects]# cp -p localhost.cfgservices.cfg

[root@server8 objects]# vim hosts.cfg

 1############################################################################    ###

  2############################################################################    ###

  3 #

  4 #HOST DEFINITION

  5 #

  6############################################################################    ###

  7############################################################################    ###

  8define host{

 9         use                     linux-server

 10        host_name              server8.example.com

 11        alias                   Manager

 12#       parents                 MainSwitch

 13        address                172.25.137.8

 14        icon_image              server.gif

 15        statusmap_image         server.gd2

 16        2d_coords               500,200

 17        3d_coords              500,200,100

 18         }

 

28 # Define an optional hostgroup for Linuxmachines

 29

 30define hostgroup{

 31        hostgroup_name  linux-servers ;The name of the hostgroup

 32        alias           Linux Servers ;Long name of the group

 33        members         *     ;Comma separated list of hosts that belong to    this group

 34        }

 

 

[root@server8 objects]# vim services.cfg

 

 1 #Define an optional hostgroup for Linux machines

  2define servicegroup{

 3         servicegroup_name 系統負荷檢查

 4         alias 負荷檢查

 5         membersserver8.example.com,進程總數,server8.example.com,登錄用戶數,    server8.example.com,根分區,server8.example.com,交換空間利用率

 6         }

 

###########################這個配置文件的後面不變#####################

[root@server8 objects]#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 檢測配置文件正確於錯誤當出現下圖就說明修改配置文件正確

wKiom1eaCn-zP_m4AAAJFs9CDLI793.png

如果http是警告則給他加一個測試頁就ok

wKioL1eaCp7RaSI7AAAW4hn_iNY186.png


[root@server8 objects]# /etc/init.d/nagiosreload

wKiom1eaCsDSTtmyAADpZdVKyng696.png

遠程連接mysql

 

[root@server9 ~]# yum install mysql-server-y

[root@server9 ~]# /etc/init.d/mysqld start

進入mysql

mysql> create database test;

mysql> grant select on test.* tonagios'@172.25.137.8' identified by 'westos'; 給遠端監控的nagios授權mysql

[root@server8 libexec]# ./check_mysql -H172.25.137.9 -u nagios -p westos  測試

Uptime: 4684  Threads: 2 Questions: 36  Slow queries:0  Opens: 16  Flush tables: 1  Open tables: 9  Queries per second avg:0.7|Connections=14c;;; Open_files=18;;; Open_tables=9;;;Qcache_free_memory=0;;; Qcache_hits=0c;;; Qcache_inserts=0c;;;Qcache_lowmem_prunes=0c;;; Qcache_not_cached=0c;;; Qcache_queries_in_cache=0;;;Queries=36c;;; Questions=36c;;; Table_locks_waited=0c;;; Threads_connected=2;;;Threads_running=1;;; Uptime=4684c;;;

 

[root@server8 objects]# vim commands.cfg

213 # 'check_nt' command definition

214 define command{

215        command_name    check_mysql

216        command_line   $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $    ARG2$

217        }

wKioL1eaCvTDqOw0AAEEpnq8_74402.png


Vim hosts

 20define host{

 21        use                    linux-server

 22        host_name              server9.example.com

 23        alias                   Manager

 24#       parents                 MainSwitch

 25        address                172.25.137.9

 26        icon_image              server.gif

 27        statusmap_image         server.gd2

 28        2d_coords               400,200

 29        3d_coords              400,200,100

 30        }

 wKiom1eaCyDR8mEfAAEIxQ8Qg_w424.png


[root@server8 objects]# vim services.cfg

 

112 define service{

113        use                            local-service

114        host_name                      server9.example.com

115        service_description            mysql

116        check_command                  check_mysql!nagios!westos

117        }

wKiom1eaC1GDePmmAADfMKISqSc919.png

wKioL1eaDGSDoSRWAAChmnaINLw167.png


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

 wKioL1eaDKOCeAq6AAAJc4Sv7CA454.png

沒報錯就正確

[root@server8 objects]# /etc/init.d/nagiosreload

 

在nagios監控平臺就看到了遠程監控的server9

wKioL1eaDMvC5SYIAAA-Ms0iJ2Y501.png


 

wKioL1eaDOvC_74kAAGKkPl2ZxY220.png

遠程檢測磁盤信息:server9

tar zxf nrpe-2.15.tar.gz  

tar zxf nagios-plugins-2.1.1.tar.gz

cd nagios-plugins-2.1.1

./configure --with-nagios-user=nagios--with-nagios-group=nagios 在編譯的時候可能要下gcc

再次編譯如果出現以下就說明要下載openssl-devel mysql-devel

wKioL1eaDSGT4LfgAAGYfLqNsXs759.png


useradd -u 900 -M -d /usr/local/nagiosnagios

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

 make

 makeinstall

編譯完後在 /usr/local/nagios/生成

wKioL1eaDUGCIACLAABEgjMs5AM964.png


 cdnrpe-2.15

 ./configure --with-nrpe-user=nagios--with-nrpe-group=nagios

 makeall

 yuminstall -y xinetd

 makeinstall-plugin

 makeinstall-daemon

 makeinstall-daemon-config

 mkaeinstall-xinetd

 vim /us/local/nagios/eets

221command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /

vim /etc/xinetd.d/nrpe

15        only_from       = 172.25.137.8

vim /etc/services

22 nrpe            5666/tcp

/etc/init.d/xinetd start

scp check_nrpe172.25.137.8:/usr/local/nagios/libexec/

Server8# ./check_nrpe -H 172.25.137.9 -c check_disk

wKioL1eaDWWSESrWAABGox-ip8o882.png


[root@server8 objects]# vim/usr/local/nagios/etc/objects/services.cfg

119 ###########check_nrpe

120 define service{

121        use                            local-service         ; Name ofservice template to use

122        host_name                      server9.example.com

123        service_description             根分區

124        check_command                  check_nrpe!check_disk

125        }

126

127

128 define service{

129        use                            local-service         ; Name of service template to use

130        host_name                     server9.example.com

131        service_description             登錄用戶數

132        check_command                  check_nrpe!check_users

133        }

 

[root@server8 objects]# vim/usr/local/nagios/etc/objects/commands.cfg

219 # 'check_nrpe' command definition

220 define command{

221        command_name    check_nrpe

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

223        }

 

[root@server8 objects]# /etc/init.d/nagiosreload

wKiom1eaDY_wS4M7AAHSYSIQyjw729.png


[root@server8 nagios]# yum install -yrpm-build

wKiom1eaDbbjNnqDAAEPJ9b1irM849.png

[root@server8 nagios]# yum installlibart_lgpl-devel gcc-c++ python-devel libconfuse-devel pcre-devel autoconflibtool expat-devel rrdtool-devel apr-devel -y

[root@server8 nagios]# yum installlibconfuse-* rrdtool-devel-1.3.8-6.el6.x86_64.rpm -y

[root@server8 nagios]# rpmbuild -tbganglia-3.4.0.tar.gz

[root@server8 ~]# cd rpmbuild/ RPMS/x86_64/

[root@server8 x86_64]# yum installganglia-gmetad-3.4.0-1.x86_64.rpm libganglia-3.4.0-1.x86_64.rpm -y

 

[root@server9 ~]# yum installganglia-gmond-3.4.0-1.x86_64.rpm lib* -y 如果用rpm安裝有依賴性解決不了的話就用yum安裝

[root@server9 ~]# rpm -ivhganglia-gmond-modules-python-3.4.0-1.x86_64.rpm

[root@server8 x86_64]# cd /etc/ganglia/

[root@server8 ganglia]# vim gmetad.conf

44 data_source "my cluster1"localhost 172.25.137.9

[root@server8 ganglia]# vim gmond.conf

 24  name = "my cluster1"

[root@server8 ganglia]# /etc/init.d/gmondstart

[root@server8 ganglia]# /etc/init.d/gmetadstart

[root@server9 ganglia]# vim gmond.conf

24  name = "my cluster1"

[root@server9 ganglia]# /etc/init.d/gmondstart

[root@server8 server9.example.com]#rpmbuild-tb ganglia-web-3.4.2-1.x86_64

[root@server8 nagios]# cd/root/rpmbuild/RPMS/

[root@server8 noarch]# rpm -ivh ganglia-web-3.4.2-1.noarch.rpm

error: Failed dependencies:

    php-gdis needed by ganglia-web-3.4.2-1.noarch

[root@server8 noarch]# yum intsall php-gd-y

[root@server8 noarch]# rpm -ivhganglia-web-3.4.2-1.noarch.rpm

[root@server8 my cluster1]# du -shserver8.example.com/

[root@server8 nagios]# tar zxfganglia-3.4.0.tar.gz

[root@server8 nagios]# cd ganglia-3.4.0/contrib/

[root@server8 contrib]# cp check_ganglia.py/usr/local/nagios/libexec/

[root@server8 libexec]# chown nagios.nagioscheck_ganglia.py

[root@server9 ganglia]# vim /etc/ganglia/gmond.conf 

wKioL1eaDd-huorJAAAMoQurOu0074.png

wKiom1eaDzriZIKPAAAhJm4zPo8564.png

[root@server8 objects]# vim hosts.cfg  因爲是對server9加服務所以就不用在加主機了

wKioL1eaELaSmrFaAACIzpzo_i0419.png


[root@server8 objects]# vim services.cfg 這個v主機組一定是在上面,不要寫在下面了

wKioL1eaENzRWaY-AADHS0cBoH4299.png


[root@server8 objects]# vim commands.cfg

wKioL1eaESWzw1IfAABEBP8RFgk486.png

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

[root@server8 objects]# /etc/init.d/nagiosreload

wKiom1eaEVLjuuasAAGQsxr0Qzo492.png

還可以做報警比如郵件,微信短信等

郵件報警,如果虛擬機能和外網連通,然後在自己的反垃圾的白名單設置裏添加nagios@主機名。


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