欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

nagios+cacti整合

系統(tǒng):CentOS -6.5-x86_64

成都創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站設(shè)計、網(wǎng)站制作,集網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文平臺等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計,讓網(wǎng)站在運行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。

軟件環(huán)境:apr-1.5.0.tar.gz apr-util-1.5.3.tar.gz httpd-2.4.7.tar.gz pcre-8.33.tar.gz MySQL-5.6.10.tar.gz mhash-0.9.9.9.tar.gz libmcrypt-2.5.6.tar.gz zlib-1.2.5.1.tar.gz libpng-1.2.47.tar.xz jpeg-6b.tar.gz freetype-2.3.11.tar.bz2 gd-2.1.0.tar.gz php-5.5.13.tar.gz nagios-3.4.3.tar.gz  nagios-plugins-1.4.16.gz  nrpe-2.14.tar.gz sendEmail-v1.56.tar.gz rrdtool* net-snmp* cacti-0.8.8b.tar.gz cacti-spine-0.8.8b.tar.gz settings-v0.7-1.tgz monitor-v1.3-1.tgz thold-v0.5.0.tgz ntop-4.0.1.tar.gz ntop-v0.2-1.tgz npc-2.0.4.tar.gz json-1.2.1.tgz ndoutils-1.5.2.tar.gz GeoIP.tar.gz

Yum安裝的軟件

perl-GD perl-DBI perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils  perl-Socket6 perl-IO-Socket-INET6 net-snmp-devel dmidecode net-snmp-perl  perl-Crypt-DES fping perl-Config-IniFiles graphviz

監(jiān)控主機ip:192.168.1.124

被監(jiān)控機ip:192.168.1.43 192.168.1.212

一、搭建lamp環(huán)境

1.安裝apache。

安裝前準(zhǔn)備:[root@localhost ~]# yum install -y gcc gcc-c++ gcc-devel cmake

安裝apr

[root@localhost soft]# tar xvf apr-1.5.0.tar.gz

[root@localhost soft]# cd apr-1.5.0

[root@localhost apr-1.5.0]# ./configure --prefix=/usr/local/apr

[root@localhost apr-1.5.0]# make &&make install

安裝apr-util

[root@localhost soft]# tar xvf apr-util-1.5.3.tar.gz

[root@localhost soft]# cd apr-util-1.5.3

[root@localhost apr-util-1.5.3]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[root@localhost apr-util-1.5.3]# make &&make install

安裝pcre

[root@localhost soft]# tar xvf pcre-8.33.tar.gz

[root@localhost soft]# cd pcre-8.33

[root@localhost pcre-8.33]# ./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

[root@localhost pcre-8.33]# make && make install

安裝apache

[root@localhost soft]# tar xvf httpd-2.4.7.tar.gz

[root@localhost httpd-2.4.7]# ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-so --enable-rewrite

[root@localhost httpd-2.4.7]# make && make install

啟動apache

[root@localhost bin]# cd /usr/local/httpd/bin/

[root@localhost bin]# ./apachectl start

查看端口監(jiān)聽

[root@localhost bin]# netstat -antl|grep 80

2.安裝mysql

解壓,編譯安裝mysql

[root@localhost soft]# tar xf mysql-5.6.10.tar.gz

[root@localhost soft]# cd mysql-5.6.10

[root@localhost mysql-5.6.10]# cmake  -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql  -DMYSQL_DATADIR:PATH=/database -DWITH_DEBUG:BOOL=on -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_INNOBASE_STORAGE_ENGINE:BOOL=on -DWITH_PARTITION_STORAGE_ENGINE:BOOL=on

出錯1:

 

[root@localhost mysql-5.6.10]# yum  install -y  ncurses-devel

[root@localhost mysql-5.6.10]# rm CMakeCache.txt

然后重新編譯

[root@localhost mysql-5.6.10]# make && make install

新建mysql用戶及相關(guān)目錄,并更改屬組和屬主創(chuàng)建

[root@localhost mysql-5.6.10]# mkdir /database

[root@localhost mysql-5.6.10]# mkdir /usr/local/mysql/var/log -p

[root@localhost mysql-5.6.10]# mkdir /usr/local/mysql/var/run

[root@localhost mysql-5.6.10]# mkdir /usr/local/mysql/etc

[root@localhost mysql-5.6.10]# mkdir /usr/local/mysql/binlog

[root@localhost mysql-5.6.10]# useradd mysql

[root@localhost mysql-5.6.10]# chown -R mysql:mysql /database /usr/local/mysql/

修改配置文件

[root@localhost mysql-5.6.10]# cp support-files/my-default.cnf /usr/local/mysql/etc/my.cnf

[root@localhost mysql-5.6.10]# vim /usr/local/mysql/etc/my.cnf

添加如下內(nèi)容:

[mysqld]

basedir=/usr/local/mysql

datadir=/database

socket=/usr/local/mysql/var/run/mysql.sock

pid-file=/usr/local/mysql/var/run/mysql.pid

log-bin=/usr/local/mysql/binlog/mysqlbin-log

port=3306

user=mysql

[mysqld_safe]

log-error=/usr/local/mysql/var/log/mysql.log

[mysql]

socket=/usr/local/mysql/var/run/mysql.sock

初始化mysql數(shù)據(jù)庫

[root@localhost mysql-5.6.10]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/database --user=mysql

添加mysql自啟動

[root@localhost mysql-5.6.10]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql5.6d

[root@localhost mysql-5.6.10]# chkconfig --add mysql5.6d

[root@localhost mysql-5.6.10]# chkconfig mysql5.6d on

[root@localhost mysql-5.6.10]# service mysql5.6d start

Starting MySQL...                                          [  OK  ]

[root@localhost mysql-5.6

修改root密碼:

[root@localhost soft]# /usr/local/mysql/bin/mysql –uroot

mysql> use mysql

mysql> update user set password=password('123654') where user='root';

[root@localhost soft]# /usr/local/mysql/bin/mysql -uroot -p123654

3.安裝php

安裝mhash

[root@localhost soft]# tar jxvf mhash-0.9.9.9.tar.bz2

[root@localhost soft]# cd mhash-0.9.9.9

[root@localhost mhash-0.9.9.9]# ./configure

[root@localhost mhash-0.9.9.9]# make &&make install

安裝libmcrypt

[root@localhost soft]# tar xf libmcrypt-2.5.6.tar.gz

[root@localhost soft]# cd libmcrypt-2.5.6

# ./configure

#make

#make install

安裝zlib,裝兩次,一次指定路徑,一次不指定,64位系統(tǒng)安裝庫編譯的時候要在前面加上CFLAGS="-O3 -fPIC"

[root@localhost soft]# tar xf zlib-1.2.5.1.tar.gz

[root@localhost soft]# cd zlib-1.2.5.1

[root@localhost zlib-1.2.5.1]# CFLAGS="-O3 -fPIC"./configure

[root@localhost zlib-1.2.5.1]# make && make install

[root@localhost zlib-1.2.5.1]#CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/zlib

[root@localhost zlib-1.2.5.1]# make && make install

 

安裝libpng

[root@localhost soft]# tar xf libpng-1.2.47.tar.xz

[root@localhost soft]# cd libpng-1.2.47

[root@localhost libpng-1.2.47]# CFLAGS="-O3 -fPIC"./configure --prefix=/usr/local/libpng

安裝jpeg

[root@localhost soft]# tar xf jpeg-6b.tar.gz

[root@localhost soft]# cd jpeg/src/

[root@localhost src]# cp /usr/share/libtool/config/config.guess config.guess

cp: overwrite `config.guess'? y

[root@localhost src]# cp /usr/share/libtool/config/config.sub config.sub

cp: overwrite `config.sub'? y

[root@localhost src]# CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static

[root@localhost src]# make && make install

錯誤2:

 

[root@localhost src]# mkdir -p /usr/local/jpeg/bin

[root@localhost src]# mkdir -p /usr/local/jpeg/lib

[root@localhost src]# mkdir -p /usr/local/jpeg/include

[root@localhost src]# mkdir -p /usr/local/jpeg/man

[root@localhost src]# mkdir -p /usr/local/jpeg/man/man1

安裝freetype

[root@localhost soft]# tar jxvf freetype-2.3.11.tar.bz2

[root@localhost soft]# cd freetype-2.3.11

[root@localhost freetype-2.3.11]# ./configure --prefix=/usr/local/freetype --enable-shared

[root@localhost freetype-2.3.11]# make && make install

安裝gd

[root@localhost soft]# tar xf gd-2.0.35.tar.gz

[root@localhost soft]# cd gd/2.0.35/    

[root@localhost 2.0.35]# ./configure --prefix=/usr/local/gd  --with-jpeg=/usrl/local/jpeg --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype

[root@localhost 2.0.35]# make && make install

出現(xiàn)錯誤3:

 

[root@localhost 2.0.35]# sed -i 's#png.h#/usr/local/libpng/include/png.h#' gd_png.c

安裝php

[root@localhost ~]# yum install libxml2* -y

[root@localhost soft]# tar xf php-5.5.13.tar.gz

[root@localhost soft]# cd php-5.5.13

[root@localhost php-5.5.13]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-apxs2=/usr/local/httpd/bin/apxs --with-libxml-dir=/usr/include/libxml2 --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-gd=/usr/local/gd --with-zlib-dir=/usr/local/zlib --with-mysqli=mysqlnd --with-mcrypt=/usr/local/lib/libmcrypt  --enable-soap --enable-mbstring=all --enable-sockets --enable-bcmath

錯誤4:

 

版本太低,換了最高版本的libgd-2.1.0.tar.gz

#cd /soft/gd/2.0.35

[root@localhost 2.0.35]#make clean

[root@localhost 2.0.35]#rm –rf /usr/local/gd

下載libgd-2.1.0.tar.gz

#tar xf libgd-2.1.0.tar.gz

# cd libgd-2.1.0

[root@localhost libgd-2.1.0]# ./configure --prefix=/usr/local/gd  --with-jpeg=/usrl/local/jpeg --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype

[root@localhost libgd-2.1.0]# make && make install

再重新編譯php,已經(jīng)沒錯誤了

[root@localhost php-5.5.13]# make

錯誤5:

 

[root@localhost php-5.5.13]# yum install libXpm-devel –y

[root@localhost php-5.5.13]# make

[root@localhost php-5.5.13]# make test

[root@localhost php-5.5.13]# make install

安裝pdo_mysql模塊

[root@localhost php-5.5.13]# cd ext/pdo_mysql/

[root@localhost pdo_mysql]# /usr/local/php/bin/phpize

[root@localhost pdo_mysql]# mkdir ext/pdo/tests -p

[root@localhost pdo_mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config  --with-pdo-mysql=/usr/local/mysql

[root@localhost pdo_mysql]# make

[root@localhost pdo_mysql]# make test

[root@localhost pdo_mysql]# make install

[root@localhost php-5.5.13]# cp php.ini-development /usr/local/php/etc/php.ini

[root@localhost pdo_mysql]# echo 'extension_dir=”/usr/local/php/lib/php/extensions/no-debug-zts-20121212/”' >>/usr/local/php/etc/php.ini

[root@localhost pdo_mysql]# echo 'extension=”pdo_mysql.so”' >>/usr/local/php/etc/php.ini

查看模塊是否被加載

[root@localhost php-5.5.13]# /usr/local/php/bin/php  -m |grep pdo_mysql

pdo_mysql

讓apache支持php

[root@localhost php-5.5.13]# vim /usr/local/httpd/conf/httpd.conf

增加

AddType application/x-httpd-php .php

找到這一段,加入index.php

<IfModule dir_module>

    DirectoryIndex index.html index.php

</IfModule>

重啟apache

在htdocs下面寫一個test.php做測試看是否支持php

[root@localhost bin]# vim ../htdocs/test.php

<?php

Phpinfo();

?>

測試php能否連接數(shù)據(jù)庫

[root@localhost bin]# vim ../htdocs/con.php

<?php

$link = mysqli_connect('127.0.0.1','root','123654');

if(!$link) echo "FAILD!";

else echo "OK!";

?>

二、監(jiān)控機安裝nagios和nagios-plugins以及nrpe

#yum install perl-GD perl-DBI perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils  perl-Socket6 perl-IO-Socket-INET6 net-snmp-devel dmidecode net-snmp-perl  perl-Crypt-DES fping perl-Config-IniFiles graphviz –y

Nagios監(jiān)控原理:

Nagios 通過NRPE 來遠端管理服務(wù)

1. Nagios 執(zhí)行安裝在它里面的check_nrpe 插件,并告訴check_nrpe 去檢測哪些服務(wù)。

2. 通過SSL,check_nrpe 連接遠端機子上的NRPE daemon

3. NRPE 運行本地的各種插件去檢測本地的服務(wù)和狀態(tài)(check_disk,..etc)

4. 最后,NRPE 把檢測的結(jié)果傳給主機端的check_nrpe,check_nrpe 再把結(jié)果送到Nagios狀態(tài)隊列中。

5. Nagios 依次讀取隊列中的信息,再把結(jié)果顯示出來。

參考:http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html

創(chuàng)建nagios用戶

[root@localhost ~]# useradd -s /sbin/nologin nagios

[root@localhost ~]# mkdir -p /usr/local/nagios

[root@localhost ~]# chown -R nagios:nagios /usr/local/nagios

解壓,編譯安裝

[root@localhost soft]# tar xvf nagios-3.4.3.tar.gz

[root@localhost soft]# cd nagios

[root@localhost nagios]# ./configure --prefix=/usr/local/nagios --with-gd-lib=/usr/local/gd/lib  --with-gd-inc=/usr/local/gd/include

[root@localhost nagios]# make all

[root@localhost nagios]# make install

[root@localhost nagios]#make install-init

[root@localhost nagios]#make install-commandmode

[root@localhost nagios]#make install-config

編譯安裝nagios插件

[root@localhost soft]# tar xvf nagios-plugins-1.4.16.gz

[root@localhost soft]# cd nagios-plugins-1.4.16

[root@localhost nagios-plugins-1.4.16]# ./configure --prefix=/usr/local/nagios/

[root@localhost nagios-plugins-1.4.16]# make && make install

編譯安裝nrpe

[root@localhost soft]# tar xf nrpe-2.14.tar.gz

[root@localhost soft]# cd nrpe-2.14

[root@localhost nrpe-2.14]# ./configure

[root@localhost nrpe-2.14]# make all

[root@localhost nrpe-2.14]# make install-plugin

配置apache和nagios

[root@localhost nrpe-2.14]# vim /usr/local/httpd/conf/httpd.conf添加

#setting for nagios
 ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
 <Directory "/usr/local/nagios/sbin">
 AuthType Basic
 Options ExecCGI
 AllowOverride None
 Order allow,deny
 Allow from all
 AuthName "Nagios Access"
 AuthUserFile /usr/local/nagios/etc/htpasswd
 Require valid-user
 </Directory>

 Alias /nagios /usr/local/nagios/share
 <Directory "/usr/local/nagios/share">
 AuthType Basic
 Options None
 AllowOverride None
 Order allow,deny
 Allow from all
 AuthName "nagios Access"
 AuthUserFile /usr/local/nagios/etc/htpasswd
 Require valid-user
 </Directory>

保存,創(chuàng)建admin用戶,用于登陸nagios,此文檔中設(shè)置的密碼是123654

[root@localhost nrpe-2.14]# /usr/local/httpd/bin/htpasswd -c /usr/local/nagios/etc/htpasswd admin

New password:

Re-type new password:

Adding password for user admin

修改cgi配置文件

修改nagios的cgi配置文件,給admin用戶權(quán)限

[root@localhost nrpe-2.14]# sed -i 's/nagiosadmin/admin/g' /usr/local/nagios/etc/cgi.cfg  ---》這是我直接改用戶的方法。也可以使用下面這種方法:

[root@localhost nrpe-2.14]# vim /usr/local/nagios/etc/cgi.cfg

authorized_for_system_information=admin
 authorized_for_configuration_information=admin
 authorized_for_system_commands=admin
 authorized_for_all_services=admin
 authorized_for_all_hosts=admin
 authorized_for_all_service_commands=admin
 authorized_for_all_host_commands=admin

確保以上參數(shù)值為:admin

重啟apache

[root@localhost nrpe-2.14]# cd /usr/local/httpd/bin/

[root@localhost bin]# ./apachectl restart

訪問nagios:http://192.168.1.124/nagios,輸入剛才設(shè)置的用戶名:admin密碼:123654,出現(xiàn)nagios的主頁面。

到這里會出現(xiàn)在ie瀏覽器點擊service或者hosts會出現(xiàn)亂碼,原因是Apache沒開啟cgi模塊。修改apache配置文件

[root@localhost bin]# vim ../conf/httpd.conf  將以下兩句注釋去掉,重啟apache

LoadModule cgid_module modules/mod_cgid.so

LoadModule actions_module modules/mod_actions.so

 

三、linux被監(jiān)控機安裝nagios插件、nrpe

被監(jiān)控主機需要安裝nagios插件,以及nrpe

裝nagios插件

[root@localhost nagiossoft]# useradd -s /sbin/nologin nagios

[root@localhost nagiossoft]# mkdir /usr/local/nagios

[root@localhost nagiossoft]# tar xf nagios-plugins-1.4.16.gz

[root@localhost nagiossoft]# cd nagios-plugins-1.4.16

[root@localhost nagios-plugins-1.4.16]# ./configure  --prefix=/usr/local/nagios/

[root@localhost nagios-plugins-1.4.16]#make && make install

安裝nrpe

[root@localhost nrpe-2.14]# ./configure

[root@localhost nrpe-2.14]# make all

[root@localhost nrpe-2.14]# make instlal-plugin

[root@localhost nrpe-2.14]# make install-daemon

[root@localhost nrpe-2.14]#  make install-daemon-config

[root@localhost nrpe-2.14]# chown  -R  nagios.nagios  /usr/local/nagios

[root@localhost nrpe-2.14]# vim /usr/local/nagios/etc/nrpe.cfg

找到這句加上監(jiān)控機的ip

allowed_hosts=127.0.0.1,192.168.1.124

啟動nrpe

[root@localhost nrpe-2.14]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d

查看監(jiān)聽端口:

[root@localhost nrpe-2.14]# netstat -antl|grep 5666

tcp        0      0 0.0.0.0:5666                0.0.0.0:*

確保防火墻跟selinux都是關(guān)閉的

檢測自己的nrpe是否成功

 [root@localhost nrpe-2.14]# /usr/local/nagios/libexec/check_nrpe -H localhost

NRPE v2.15

到監(jiān)控機去檢測npre能否正常通信:

[root@localhost ~]# /usr/local/nagios/libexec/check_nrpe -H 192.168.1.43

NRPE v2.14

③配置snmp

com2sec notConfigUser  192.168.1.124(監(jiān)控主機的ip)       public

view all    included  .1                               80

access  notConfigGroup ""      any       noauth    exact  all none none

重啟snmp服務(wù)

[root@localhost nrpe-2.14]# service snmpd restart

四、配置nagios

先看看etc下面有哪些文件

 

其中nagios.cfg是主配置文件,這下面有個objects的目錄,這個目錄下面的配置文件是定義監(jiān)控的

 

其中templates.cfg里面有很多模板,我們在自定義監(jiān)控的時候可以引用此文件中的模板。現(xiàn)在我們來定義監(jiān)控。

在objects的目錄下我們可以看到localhost.cfg這個配置文件,打開可以看到里面已經(jīng)定義了對本機的監(jiān)控,所以不用對本機做定義,打開nagios網(wǎng)頁http://192.168.1.124/nagios然后點擊services可以看到如下圖的監(jiān)控信息。

 

在監(jiān)控主機定義監(jiān)控

[root@localhost objects]# cd /usr/local/nagios/etc/objects/,創(chuàng)建hosts.cfg自定義監(jiān)控配置文件此文件用來定義被監(jiān)控主機的名字和ip

[root@localhost objects]# vim hosts.cfg

define host{

            use linux-server

            host_name  linux-43

            alias      test

            address  192.168.1.43

           }

解釋這段的意思

use linux-server   這句是引用template里面的linux-server,指被監(jiān)控的是linux主機

host_name linux-43   這句是給被監(jiān)控主機的機器名,隨便取

alias  test                  被監(jiān)控主機別名,也隨便取

address  192.168.1.43 被監(jiān)控主機的ip

定義了主機之后,現(xiàn)在來定義主機組,在當(dāng)前路徑下又新建hostgroups.cfg

[root@localhost objects]# vim hostgroups.cfg

define hostgroup{

        hostgroup_name          zj-servers

        alias                   zj-servers

        members                 linux-43

}

解釋這段的意思

hostgooup_name zj-server  意思是主機組的名字

alias                     zj-server      意思是主機組的別名

members              linux-43      意思是這組的成員,多個成員用逗號隔開,這些成員必須是在hosts.cfg定義的。

接下來定義服務(wù),在當(dāng)前路徑新建services.cfg

[root@localhost objects]# vim services.cfg

define service{

        use                     local-service

        host_name               linux-43

        service_description     check-host-alive

        check_command           check-host-alive

}

 

解釋這段的意思:

use          local-service    這句也是引用template.cfg中的local-service意思是監(jiān)控的服務(wù)

host_name           linux-43       這句的意思是監(jiān)控的是linux-43這個主機的服務(wù)

service_description                  check-host-alive  這句的意思服務(wù)的描述,即檢查主機的存活

check_command              check-host-alive  這句的意思是使用什么命令去檢查,這里是使用check-host-alive,這個命令必須在commands.cfg有定義,打開comands.cfg可以看到定義此命令的這一段。

 

修改nagios主配置文件

[root@localhost objects]# vim ../nagios.cfg

增加三行,剛才自定義的文件,都要在主配置文件指定他們的路徑

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

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

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

重啟nagios,到網(wǎng)頁上去看http://192.168.1.124/nagios

先檢測配置文件有無錯誤

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

重啟

[root@localhost objects]# service nagios restart

打開網(wǎng)站,點擊hosts可以看到linux-43,剛才我們自定義的主機已經(jīng)監(jiān)控起來了

 

我們可以對同一個主機監(jiān)控多個服務(wù),下面來利用nrpe插件對遠程主機監(jiān)控

check_nrpe的用法:

check_nrpe –H 被監(jiān)控的主機 -c 要執(zhí)行的監(jiān)控命令

注意:-c 后面接的監(jiān)控命令必須是nrpe.cfg 文件中定義的。也就是NRPE daemon只運行nrpe.cfg中所定義的命令。而且在nrpe.cfg定義的命令在這個路徑(/usr/local/nagios/libexec/)下面必須有這個命令才能定義。這個nrpe.cfg是在被監(jiān)控機定義,從nagios的監(jiān)控原理可以知道,是在被監(jiān)控端執(zhí)行檢測命令,得到結(jié)果再發(fā)送給監(jiān)控主機的nrpe插件。

舉例,現(xiàn)在我們要監(jiān)控遠程主機的負(fù)載,是用check_load這個命令去檢測的。所以首先查看被監(jiān)控機(192.168.1.43)的nrpe.cfg文件是否有定義這個命令,有則不定義。

查看修改nrpe.cfg

 

從上圖中,可看到check_load已經(jīng)被定義了,再看看在監(jiān)控主機這邊是怎么遠程使用這個命令的。

修改dont_blame_nrpe=0為dont_blame_nrpe=1,意思是允許帶參數(shù),然后重啟nrpe。

先找出nrpe進程,然后kill掉,然后再啟動。

[root@localhost ~]# ps -ef |grep nrpe

nagios   19527     1  0 13:26 ?        00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d

[root@localhost ~]# kill -9 19527

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

Check_nrpe的解釋

在使用check_nrpe之前首先要檢查commands.cfg文件有沒有定義這個命令,沒有則需要自定義。經(jīng)查找是沒有定義check_nrpe的,所以在此我們要先定義check_nrpe,如下圖定義。

 

-c 后面帶的$ARG1$ 參數(shù)是傳給nrpe daemon 執(zhí)行的檢測命令,之前說過了它必須是nrpe.cfg 中所定義的那些命令中的其中一條。在services.cfg 中使用check_nrpe 的時候要用 “!” 帶上這個參數(shù)。

現(xiàn)在我們可以在services.cfg去定義這個命令去檢查了。

[root@localhost objects]# vim services.cfg

增加這一段

define service{

        use                     local-service

        host_name               linux-43

        service_description     current load

        check_command           check_nrpe!check_load

}

最后一行check_nrpe就是commands.cfg里定義的命令,!check_load是用!把check_load這個參數(shù)帶到被監(jiān)控機上去執(zhí)行。

修改了配置文件之后,檢查配置文件,并重啟,從網(wǎng)頁上看是否檢查到此信息。

 

已經(jīng)添加了,但是還未開始檢測狀態(tài),要等一會。

 

看到ok說明監(jiān)控好了。

五、添加windows監(jiān)控

在Nagios的libexec下有check_nt這個插件,它就是用來檢查windows機器的服務(wù)的。其功能類似于check_nrpe。不過還需要搭配另外一個軟件NSClient++,它則類似于NRPE。

NSClient與nrpe最大的區(qū)別:

·         被監(jiān)控機上安裝有nrpe,并且還有插件,最終的監(jiān)控是由這些插件來進行的。當(dāng)監(jiān)控主機將監(jiān)控請求發(fā)給nrpe后,nrpe調(diào)用插件來完成監(jiān)控。

·         NSClient++則不同,被監(jiān)控機上只安裝NSClient,沒有任何的插件。當(dāng)監(jiān)控主機將監(jiān)控請求發(fā)給NSClient++后,NSClient直接完成監(jiān)控,所有的監(jiān)控是由NSClient完成的。

 

下載NSClient++-0.2.7.zip

下載地址:http://www.nsclient.org/nscp/downloads

解壓,打開cmd,進入解壓后的目錄

 

安裝nsclient并安裝系統(tǒng)托盤

 

打開服務(wù)

 

找到nsclientpp,雙擊,然后彈出的窗口,點擊登錄,大上允許服務(wù)與桌面的勾,然后點確定。

 

 

修改NSClient++-0.2.7下的NSC.ini文件。

將 [modules]部分的所有模塊前面的注釋都去掉,除了CheckWMI.dll 和 RemoteConfiguration.dll 這兩個。

 

在[Settings]部分設(shè)置'password'選項來設(shè)置密碼,作用是在nagios連接過來時要求提供密碼。這一步是可選的,我這里設(shè)置為'123654'。

將[Settings]部分'allowed_hosts'選項的注釋去掉,并且加上運行nagios的監(jiān)控主機的IP。各IP之間以逗號相隔。這個地方是支持子網(wǎng)的,如果寫成192.168.1.0/24則表示該子網(wǎng)內(nèi)的所有機器都可以訪問。如果這個地方是空白則表示所有的主機都可以連接上來。

 

將[NSClient]的'port'選項的注釋去掉,這是nsclient的默認(rèn)端口

 

啟動nsclient服務(wù),并查看監(jiān)聽端口

 

監(jiān)控主機開啟對windows的監(jiān)控

修改nagios的主配置文件

[root@localhost objects]# vim ../nagios.cfg

#cfg_file=/usr/local/nagios/etc/objects/windows.cfg找到這行,去掉注釋。

修改commands.cfg,找到check_nt那一段,nagios使用check_nt這個去檢查windows服務(wù)的。將check_nt這一段修改

define command{

     command_name    check_nt

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

        }

修改widows.cfg,找到host這段,將ip修改為要監(jiān)控的windows主機的ip

define host{

     use             windows-server  ; Inherit default values from a template

        host_name       winserver       ; The name we're giving to this host

        alias           My Windows Server       ; A longer name associated with the host

        address         192.168.1.212   ; IP address of the host

        }

重啟nagios,去網(wǎng)頁上查看windows有沒有被監(jiān)控。

錯誤六:

 

出現(xiàn)這個錯誤是由于操作系統(tǒng)語言的問題

修改counters.defs文件

Description = "chinese"—》這句是修改為chinese

在最后面增加下面一段

[0x0804]

Description = "Chinese"

NT4_SystemTotalProcessorTime = "\System\% Total Processor Time"

NT4_SystemSystemUpTime = "\System\System Up Time"

NT4_MemoryCommitLimit = "\Memory\Commit Limit"

NT4_MemoryCommitByte = "\Memory\Committed Bytes"

 

W2K_SystemTotalProcessorTime = "\Processor(_total)\% Processor Time"

W2K_SystemSystemUpTime = "\System\System Up Time"

W2K_MemoryCommitLimit = "\Memory\Commit Limit"

W2K_MemoryCommitByte = "\Memory\Committed Bytes"

然后重啟nsclient

六、nagios添加郵件報警

安裝sendEmail

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz  下載sendEmail

[root@localhost soft]# tar xf sendEmail-v1.56.tar.gz

[root@localhost soft]# cd sendEmail-v1.56

[root@localhost sendEmail-v1.56]# ls

CHANGELOG  README  README-BR.txt  sendEmail  sendEmail.pl  TODO

[root@localhost sendEmail-v1.56]# cp sendEmail /usr/local/bin/

此命令的解釋:

-f 表示發(fā)送者的郵箱
-t 表示接收者的郵箱
(接收郵件和發(fā)送郵件,盡量不要用同一個郵箱帳號,容易出錯)
-s 表示SMTP服務(wù)器的域名或者ip
-u 表示郵件的主題
-xu 表示SMTP驗證的用戶名
-xp 表示SMTP驗證的密碼(注意,這個密碼貌似有限制,例如我用d!5neyland就不能被正確識別)
-m 表示郵件的內(nèi)容

用法:
/usr/local/bin/sendEmail -f  發(fā)件人郵件  -t  收件人郵件  -s smtp.163.com -u "郵件主題" -xu 用戶名 -xp 密碼 -m 郵件內(nèi)容

首先在命令行測試一下:

[root@localhost sendEmail-v1.56]# /usr/local/bin/sendEmail -f 13873356730@163.com  -t 603461655@qq.com  13873356730@163.com -s smtp.163.com -u "hello" -xu 13873356730@163.com  -xp password -m test

看到下面這行信息,說明郵件發(fā)送成功。

Aug 06 16:28:05 localhost sendEmail[24227]: Email was sent successfully!

①    對nagios添加郵件報警了。

修改配置文件contacts.cfg,修改郵箱,此處為接受報警郵件的郵箱

[root@localhost objects]# vim contacts.cfg

define contact{

        contact_name                    nagiosadmin             ; Short name of user

        use                             generic-contact         ; Inherit default values from generic-contact template (defined above)

        alias                           Nagios Admin            ; Full name of user

 

        email                           603461655@qq.com        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

        }

修改commands.cfg 定義發(fā)送郵件命令

[root@localhost objects]# vim commands.cfg

define command{

        command_name    notify-host-by-email        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/local/bin/sendEmail  -f 13873356730@163.com -t $CONTACTEMAIL$ -s smtp.163.com -u "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu 13873356730@163.com -xp password

        }

define command{

        command_name    notify-service-by-email

        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" |  /usr/local/bin/sendEmail  -f 13873356730@163.com -t $CONTACTEMAIL$ -s smtp.163.com -u "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu 13873356730@163.com -xp password

        }

七、安裝cacti

安裝依賴軟件及創(chuàng)建數(shù)據(jù)庫

[root@localhost soft]# yum install rrdtool* -y

[root@localhost soft]# mysql -uroot -p123654

mysql> create database cacti;

mysql> grant all privileges on cacti.* to "cactier"@'localhost' identified by '123654';

mysql> flush privileges;

修改snmp配置文件

#       sec.name  source          community

     com2sec notConfigUser  default       public

     #       name           incl/excl     subtree         mask(optional)

     view    systemview    included   .1.3.6.1.2.1.1

     view    systemview    included   .1.3.6.1.2.1.25.1.1

     #       group          context sec.model sec.level prefix read   write  notif

     access  notConfigGroup ""      any       noauth    exact  all  none  none

     ##           incl/excl subtree                          mask

     view all    included  .1                               80

開始安裝cacti

[root@localhost soft]# tar xf cacti-0.8.8b.tar.gz

[root@localhost soft]# cd cacti-0.8.8b

[root@localhost soft]# mv cacti-0.8.8b /usr/local/httpd/htdocs/cacti

[root@localhost soft]# cd /usr/local/httpd/htdocs/cacti/

[root@localhost cacti]# mysql -ucactier  -p123654 cacti <cacti.sql

[root@localhost cacti]# useradd cactier

[root@localhost cacti]# chown -R cactier  rra log

修改config.php

[root@localhost cacti]# vim include/config.php

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cactier";

$database_password = "123654";

$database_port = "3306";

$database_ssl = false;

寫計劃任務(wù)進行輪詢

[root@localhost cacti]# crontab –e

*/5  * * * *  /usr/local/php/bin/php  /usr/local/httpd/htdocs/cacti/poller.php  &>/dev/null

在網(wǎng)頁上訪問cacti:http://192.168.1.124/cacti

 

出現(xiàn)這個錯誤是默認(rèn)用了unix-socket去連接。我們把config.php中的host改為127.0.0.1

 

之后下一步,就到修改密碼了

 

設(shè)置好密碼123654然后就能進入cacti了

安裝spine

[root@localhost soft]# tar xf cacti-spine-0.8.8b.tar.gz

[root@localhost soft]# cd cacti-spine-0.8.8b

[root@localhost cacti-spine-0.8.8b]# ./configure --prefix=/usr/local/spine --with-mysql=/usr/local/mysql/

[root@localhost cacti-spine-0.8.8b]# make && make install

[root@localhost cacti-spine-0.8.8b]# mv /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf

[root@localhost cacti-spine-0.8.8b]# vim /usr/local/spine/etc/spine.conf

DB_Host         localhost

DB_Database     cacti

DB_User         cactier

DB_Pass         123654

DB_Port         3306

DB_PreG         0

更改輪詢器為spine

Setting->poller->poller type 選擇 spine ,記得save哦

 

安裝ntop

[root@localhost soft]# tar xf ntop-4.0.1.tar.gz

[root@localhost soft]# cd ntop-4.0.1

[root@localhost ntop-4.0.1]# ./autogen.sh

錯誤七:

 

[root@localhost ntop-4.0.1]# yum install libpcap libpcap-devel –y

[root@localhost ntop-4.0.1]# ./autogen.sh

[root@localhost ntop-4.0.1]# ./configure --prefix=/usr/local/ntop

 

[root@localhost soft]# tar xf GeoIP.tar.gz

[root@localhost soft]# cd GeoIP-1.4.8/

[root@localhost GeoIP-1.4.8]# ./configure

[root@localhost GeoIP-1.4.8]# make && make install

進入到ntop的解壓路徑,重新編譯再安裝

[root@localhost ntop-4.0.1]# make&&make install

給ntop設(shè)置密碼:

[root@localhost ntop-4.0.1]# /usr/local/ntop/bin/ntop –A

[root@localhost ntop-4.0.1]# useradd ntop

[root@localhost ntop-4.0.1]# chown -R ntop:ntop /usr/local/ntop/share/ntop/

[root@localhost ntop-4.0.1]# chown -R ntop:ntop /usr/local/ntop/var/ntop/

[root@localhost ntop-4.0.1]# /usr/local/ntop/bin/ntop -u ntop -c –d –》啟動ntop

 

寫入開機自啟動

[root@localhost ntop-4.0.1]# echo "/usr/local/ntop/bin/top  -u ntop  -c -d" >>/etc/rc.local

安裝ntop插件ntop-v0.2-1.tgz 

[root@localhost soft]# tar zxvf ntop-v0.2-1.tgz -C /usr/local/httpd/htdocs/cacti/plugins

[root@localhost soft]# vim /usr/local/httpd/htdocs/cacti/include/config.php

$plugins[] = "ntop";

然后登陸cacti網(wǎng)站:console –》plugin managemaent 點擊藍色的箭頭,激活ntop

 

然后點擊User management—》admin—》把view ntop勾上,save,然后點擊ntop可以看到如下圖

 

安裝setting、monitor,thold等插件

[root@localhost soft]# tar xf settings-v0.7-1.tgz  -C /usr/local/httpd/htdocs/cacti/plugins

[root@localhost soft]# vim /usr/local/httpd/htdocs/cacti/include/config.php

$plugins[] = "settings";

在cacti網(wǎng)站上激活settings

Console---》plugin managementà點點點就激活了,激活后如下圖

 

其他插件如settings一樣的方法。

[root@localhost soft]# tar xf monitor-v1.3-1.tgz -C /usr/local/httpd/htdocs/cacti/plugins

[root@localhost soft]# vim /usr/local/httpd/htdocs/cacti/include/config.php

$plugins[] = "monitor";

[root@localhost soft]# tar xf thold-v0.5.0.tgz -C /usr/local/httpd/htdocs/cacti/plugins

[root@localhost soft]# vim /usr/local/httpd/htdocs/cacti/include/config.php

$plugins[] = "thold";

八、Cacti和nagios整合

①安裝ndoutils

[root@localhost soft]# tar zxvf ndoutils-1.5.2.tar.gz

[root@localhost soft]# cd ndoutils-1.5.2

[root@localhost ndoutils-1.5.2]# ./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql --with-mysql-inc=/usr/local/mysql/include/ --with-mysql-lib=/usr/local/mysql/lib/

[root@localhost ndoutils-1.5.2]# make && make install

[root@localhost ndoutils-1.5.2]# cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /usr/local/nagios/bin

[root@localhost ndoutils-1.5.2]# cd db/

[root@localhost db]# mkdir /var/lib/mysql

[root@localhost db]# ln -s /usr/local/mysql/var/run/mysql.sock  /var/lib/mysql/mysql.sock

[root@localhost db]# ./installdb -ucactier -p123654 -hlocalhost –dcacti

[root@localhost db]# cd ..

[root@localhost ndoutils-1.5.2]# cp -v config/{ndo2db.cfg-sample,ndomod.cfg-sample} /usr/local/nagios/etc/ [root@localhost ndoutils-1.5.2]# mv /usr/local/nagios/etc/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg

[root@localhost ndoutils-1.5.2]# mv /usr/local/nagios/etc/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg

[root@localhost ndoutils-1.5.2]# chown -R nagios.nagios /usr/local/nagios/etc/ndo*

[root@localhost ndoutils-1.5.2]# chown -R nagios.nagios /usr/local/nagios/bin/*

[root@localhost ndoutils-1.5.2]# vim /usr/local/nagios/etc/nagios.cfg

添加

broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg –》這兩行必須是放在同一行,中間空格隔開,否則報錯

然后確保event_broker_options=-1的參數(shù)值是-1,這個值默認(rèn)就是-1。

安裝ndo2db前要先安裝mysql-devel

Yum install –y mysql-devel

[root@localhost ndoutils-1.5.2]# vim /usr/local/nagios/etc/ndo2db.cfg

socket_type=unix---》修改為socket_type=tcp

db_servertype=mysql 

     db_host=localhost 

     db_port=3306 

     db_name=cacti 

     db_prefix=nagios_ 

     db_user=cactier

     db_pass=123654

[root@localhost ndoutils-1.5.2]# vim /usr/local/nagios/etc/ndomod.cfg

output_type=tcpsocket 

output=127.0.0.1

[root@localhost ndoutils-1.5.2]# cp daemon-init /etc/init.d/ndo2db

[root@localhost ndoutils-1.5.2]# vim /etc/init.d/ndo2db

Ndo2dbBin=/usr/local/nagios/bin/ndo2db-3x

[root@localhost ndoutils-1.5.2]# chmod +x /etc/init.d/ndo2db

[root@localhost ndoutils-1.5.2]# service ndo2db start

安裝npc插件

[root@localhost soft]# tar xf npc-2.0.4.tar.gz -C /usr/local/httpd/htdocs/cacti/plugins

[root@localhost soft]# vim /usr/local/httpd/htdocs/cacti/include/config.php

$plugins[] = "npc";

安裝npc支持json

[root@localhost soft]# cd php-5.5.3/ext/json

 [root@localhost json]# /usr/local/php/bin/phpize

[root@localhost json]# ./configure --with-php-config=/usr/local/php/bin/php-config

[root@localhost json]# make

[root@localhost json]# make test

[root@localhost json]# make install

[root@localhost json]# vim /usr/local/php/etc/php.ini添加

extension="json.so"

[root@localhost json]# /usr/local/php/bin/php –m查看json是否加載

修改ndo2db.cfg

[root@localhost json]# vim /usr/local/nagios/etc/ndo2db.cfg

db_prefix=npc_

 

先激活npc插件,再修改cacti npc插件

Console-->settings-->npc  修改如下圖

 

 

修改數(shù)據(jù)庫表結(jié)構(gòu):

[root@localhost ndoutils-1.5.2]# mysql -ucactier -p123654

Msyql>use  cacti

ALTER TABLE `npc_hostchecks` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;

ALTER TABLE `npc_hoststatus` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;

ALTER TABLE `npc_servicestatus` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;

ALTER TABLE `npc_statehistory` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;

ALTER TABLE `npc_eventhandlers` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;

ALTER TABLE `npc_systemcommands` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;

ALTER TABLE `npc_notifications` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;

Mysql>exit

重啟ndo2db和nagios

#service  ndo2db  restart

#/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

 

 

分享題目:nagios+cacti整合
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article48/ppcsep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管做網(wǎng)站網(wǎng)站設(shè)計品牌網(wǎng)站建設(shè)網(wǎng)站維護網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站