免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

nagios的詳細配置和報警

 注:本文有感謝程建提供

目前創新互聯建站已為上千余家的企業提供了網站建設、域名、網站空間網站運營、企業網站設計、順河網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

一、需求

   nagios 更新速度是很快的,本公司采用最新的穩定版本nagios-4.0.8,插件采用是的nagios-plugins-2.0.3,新版本經過使用和測試,發現速度和報警的速度比以前快了許多,

并且占用操作系統資源不多問題及時,界面干凈,如下圖:

nagios的詳細配置和報警

  由于網上下載包不穩定,所以我整理后放到網盤中,所有的下載包全在360網盤地址中如下:

http://yunpan.cn/cHjtN2f9Kz3FM  訪問密碼 f9af

二、PHP環境的搭建

   本公司采用lamp的環境來做為nagios的基礎環境,當然MySQL是可以不用裝的只要PHP環境就行了。

1、apr的安裝

  APR(Apache portable Run-time libraries,Apache可移植運行庫)的目的如其名稱一樣,主要為上層的應用程序提供一個可以跨越多操作系統平臺使用的底層支持接口庫。
在早期的Apache版本中,應用程序本身必須能夠處理各種具體操作系統平臺的細節,并針對不同的平臺調用不同的處理函數。隨著Apache的進一步開發,Apache組織決定將這些通用的函數獨立出來并發展成為一個新的項目。這樣,APR的開發就從Apache中獨立出來,Apache僅僅是使用APR而已。

    一般情況下,APR開發包很容易理解為僅僅是一個開發包,不過事實上并不是。目前,完整的APR實際上包含了三個開發包:apr、apr-util以及apr-iconv,每一個開發包分別獨立開發,并擁有自己的版本。

 現在新版本的http中apr集成到了一個httpd-2.4.9-deps.tar 類似于這樣的包中,解壓后的結果如下:

nagios的詳細配置和報警

 集成后安裝和管理方便多了,不用再擔心apache版本和apr的對應該關系了。

安裝如下:

./configure--prefix=/mnt/cellar/httpd/apr     //這個目錄一定要規劃好,方便管理
make
make install

2、.apr-utils安裝

  ./configure --prefix=/mnt/cellar/httpd/apr-util --with-apr=/mnt/cellar/httpd/apr
   // 這里要指定apr的安裝目錄才行
 make
  makeinstall

 apr和api-utils 安裝好后,目錄如下:

nagios的詳細配置和報警

3、PCRE的安裝

./configure  --prefix=/mnt/cellar/httpd/pcre
make
make install

如果報以下錯誤:

configure: error: You need a C++ compiler for C++ support

則需要安裝yum install -y gcc gcc-c++

4、apache的安裝

apache的版本是2.4.9

./configure--prefix=/mnt/cellar/httpd/apache --with-apr=/mnt/cellar/httpd/apr--with-apr-util=/mnt/cellar/httpd/apr-util/bin/apu-1-config--with-pcre=/mnt/cellar/httpd/pcre/ --enable-so --enable-rewrite
// 要指定前面安裝的幾個目錄 (apr,apr-utils,pcre)

make
make install

apache 的啟動如下

[root@kaifabin]# ./apachectl start

nagios的詳細配置和報警

說明apache 運行正常

由于是源碼包安裝apache 所以啟動和關閉apache比較麻煩,所以寫了一個apache的啟動腳本如下:

#!/bin/bash
#Startup script for the Apache2.0.X Web Server
# chkconfig:- 85 15
# Sourcefunction library.
./etc/rc.d/init.d/functions
if [ -f/etc/sysconfig/httpd ]; then
./etc/sysconfig/httpd
fi
INITLOG_ARGS=""
apachectl=/mnt/cellar/httpd/apache/bin/apachectl
httpd=${HTTPD-/mnt/cellar/httpd/apache/bin/httpd}
prog=httpd
RETVAL=0
start(){
echo -n$"Starting $prog: "
daemon$httpd $OPTIONS
RETVAL=$?
echo
[$RETVAL = 0 ] && touch /var/lock/subsys/httpd
return$RETVAL
}
stop() {
echo -n$"Stopping $prog: "
killproc$httpd
RETVAL=$?
echo
[$RETVAL = 0 ] && rm -f /var/lock/subsys/httpd /var/run/httpd.pid
}
reload(){
echo -n$"Reloading $prog: "
killproc$httpd -HUP
RETVAL=$?
echo
}
case"$1" in
start)
start
 ;;
stop)
stop
 ;;
status)
status$httpd
RETVAL=$?
 ;;
restart)
stop
start
 ;;
condrestart)
if [ -f/var/run/httpd.pid ] ; then
stop
start
fi
 ;;
reload)
reload
 ;;
graceful|help|configtest|fullstatus)
$apachectl$@
RETVAL=$?
 ;;
*)
echo$"Usage: $prog
{start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
exit 1
esac
exit$RETVAL

以上腳本如果需要,只需要修改紅色的部份即可(apache的安裝目錄)

5、PHP安裝

 5.1 PHP版本是php-5.6.4

./configure  --prefix=/mnt/cellar/httpd/php--with-libdir=/usr/lib64 --with-config-file-path=/mnt/cellar/httpd/php/etc --with-config-file-scan-dir=/mnt/cellar/httpd/php/etc/php.d --with-apxs2=/mnt/cellar/httpd/apache/bin/apxs
make
make install

PHP安裝的時候make的時候會報錯 undefinedreference to `libiconv'

解決方法如下:

Makefile大概 77行左右的地方:
EXTRA_LIBS =….. -lcrypt
在最後加上 -liconv,例如:
EXTRA_LIBS =….. -lcrypt -liconv

驗證有效!

 5.2 PHP 環境配置如下:

   把php.ini 拷貝一份到下面的目錄

nagios的詳細配置和報警

然后在apache的httpd.conf中添加

AddType application/x-httpd-php .php

然后重啟apache 再訪問如下:

nagios的詳細配置和報警

至此基礎環境配置完成

如果不知道configure時候的參數可以用以下命令來查看:

查看nginx編譯參數:/usr/local/nginx/sbin/nginx-V
查看apache編譯參數:cat/usr/local/apache2/build/config.nice
查看mysql編譯參數:cat /usr/local/mysql/bin/mysqlbug |grep CONFIGURE_LINE
查看php編譯參數:/usr/local/php/bin/php -i | grepconfigure

三、nagios的安裝

1、創建用戶

 useradd  -M  -s/sbin/nologin nagios   // 不允許登陸,不要家目錄

2、nagios 主程序的安裝

 cd nagios-4.0.8

./configure   --prefix=/mnt/cellar/nagios   --with-command-group=nagios  --with-nagios-group=nagios
makeall 
makeinstall
makeinstall-init  // 生成init啟動腳本
makeinstall-config  // 生成一些模塊配置文件
makeinstall-commandmode  // 設置相應的權限
makeinstall-webconf

  安裝完成

cp -R contrib/eventhandlers/   /mnt/cellar/nagios/libexec/
chown-R nagios.nagios eventhandlers/  //拷貝事件處理到nagios的安裝目錄下的libexec目錄下  這一步很重要,牽扯到以后會不會郵件和短信報警的狀態轉變和發送。

3、啟動nagios

./nagios -v/mnt/cellar/nagios/etc/nagios.cfg  如下圖,先驗證配置文件的正確性

nagios的詳細配置和報警

下面啟動,如下圖,啟動正確

nagios的詳細配置和報警

4、apache相關的配置

./htpasswd  -c /mnt/cellar/nagios/etc/htpasswd    letang // 添加web登陸用戶letang

在apache的httpd.conf的最后面添加如下:

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

然后找到 

      user apache

      group apache

      修改為

   user nagios

   group nagios

最后重啟apache 登陸驗證如下:

nagios的詳細配置和報警

5、錯誤排除

 輸入用戶名和密碼之后點擊services出現下面的亂碼情況如下:

nagios的詳細配置和報警

出現上面的原因是apache沒有開啟cgi腳本的緣故
進入apache的主配置文件httpd.conf

#LoadModule cgid_module modules/mod_cgid.so
#LoadModule actions_module modules/mod_actions.so

將上面2行的#去掉,重啟apache就OK了,然后關掉瀏覽器重新登陸如下:

nagios的詳細配置和報警

好像還是什么也沒有?并且有錯誤提示

 

這是認證的問題,修改如下

 

use_authentication=1改為 use_authentication=0 然后重啟nagios即可

 

nagios的詳細配置和報警

然后看到如下說明有監控項目了但有紅色提示:

 

nagios的詳細配置和報警

nagios的詳細配置和報警

再看上面的錯,很明顯,提示找到命令,這是因為沒有安裝插件的原因。

 

6、nagios 插件的安裝

 

 nagios 之所以強大,就是因為功能強大的插件而已

 

tar
-zxvf nagios-plugins-2.0.3.tar.gz
cd
nagios-plugins-2.
cd
nagios-plugins-2.0.3
./configure  --prefix=/mnt/cellar/nagios/  --with-nagios-user=nagios
--with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagios
make

安裝完成后這個/mnt/cellar/nagios/libexec 下會有許多如下的命令

 

nagios的詳細配置和報警

然后重啟一下nagios 然再觀察如下:

 

nagios的詳細配置和報警

當然這是本機localhost 的監控

 

7. windows 機器的監控

 

windows 機器的監控依靠的是

 

nagios的詳細配置和報警

如果是通過snmp來監控的則不需要

 

本公司采用是的第一種通過安裝插件來監控

 

安裝如下:

 

nagios的詳細配置和報警

nagios的詳細配置和報警

nagios的詳細配置和報警

nagios的詳細配置和報警

nagios的詳細配置和報警

這里allowed host 是客戶端的IP是服務器nagios的IP 密碼要為空,不然很麻煩,橢圓里面就這樣選擇就行了

 

nagios的詳細配置和報警

nagios的詳細配置和報警

已經啟動起來了。

 

然后在nagios端定義要監控的項目

 

localhost.cfg是監控nagios本身的。為了方便管理,我們建了幾個目錄

 

database,fdfs,linux,widows 之類的目錄

 

nagios的詳細配置和報警

如下圖所示是windows 目錄下的監控項目

 

起名規則如下:用途+ip地址

 

nagios的詳細配置和報警

下面以一臺windows 機器app_server_10.129.102.53.cfg為類

 

#define hostgroup{                                                                                                
#       
hostgroup_name 
windows-servers                                             
#       
alias           Windows
Servers                                                   
#       
}
 
 
 
define host{
       use             windows-server
       host_name       app-server
       alias          
testapp-server 
       address         10.129.102.53
 }
 
 
########## nsclient++ version
define service{
       use                    
generic-service
       host_name               app-server
       service_description     NSClient++
version
       check_command          
check_nt!CLIENTVERSION
       }
######### uptime
define service{
       use                    
generic-service
       host_name               app-server
       service_description     uptime
       check_command          
check_nt!UPTIME
       }
 
 
######### ping
 
define service{
       use                    
generic-service
       host_name               app-server
       service_description     ping
       check_command          
check_ping!100.0,20%!500.0,60%
       }
 
#########IIS
define service{
       use                     generic-service
       host_name               app-server
       service_description     IIS
       check_command          
check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
       }
 
########## cpu load
 
define service{
       use                     generic-service
       host_name               app-server
       service_description     cpu_load
       check_command          
check_nt!CPULOAD!-l 5,80,90
       }
########## memory
 
 
define service{
       use                    
generic-service
       host_name               app-server
       service_description     memory
       check_command          
check_nt!MEMUSE!-w 80 -c 90
       }
########## C:\ space
 
define service{                                                                 
                                 
       use                    
generic-service                                                              
       host_name              
app-server                                                                    
 
       service_description    
C:\space                                                                 
       check_command          
check_nt!USEDDISKSPACE!-l c -w 80 -c 90  
}
 
########## D:\ space
 
define service{
       use                     generic-service
       host_name               app-server
       service_description     D:\space
       check_command          
check_nt!USEDDISKSPACE!-l d -w 80 -c 90  
}
 
##########
 
 
define service{
       use                    
generic-service
       host_name               app-server
       service_description    
Explorer.exe
       check_command          
check_nt!PROCSTATE!-d SHOWALL -l explorer.exe
       }

定義好之后,在nagios.cfg中定義要監控主機的文件位置如下第二張圖所示。

 

nagios的詳細配置和報警

nagios的詳細配置和報警

然后重啟nagios,再觀察如下:

 

windows 機器已經正常。

 

nagios的詳細配置和報警

8、監控linux 機器

      在客戶機上操作

 

      同樣添加用戶如下:

 

useradd -M -s /sbin/nologin nagios

安裝nagios-plugins 插件

 

cd nagios-plugins-2.0.3

/configure --prefix=/mnt/cellar/nagios-plus --with-nagios-user=nagios--with-nagios-group=nagios
make all
make install

安裝nrpe 服務

cd nrpe-2.15

 

./configure--prefix=/mnt/cellar/nrpe --with-nrpe-user=nagios --with-nrpe-group=nagios  --with-nagios-user=nagios --with-nagios-group=nagios
# make all
# make install-plugin
# make install-daemon
# make install-daemon-config

安裝成功后,目錄如下:

nagios的詳細配置和報警

然后進入到etc下面修改nrpe.cfg配置文件

nagios的詳細配置和報警

log_facility=daemon
pid_file=/var/run/nrpe.pid
server_port=5666      //端口號
nrpe_user=nagios      //用戶,就是剛才創建的
nrpe_group=nagios     // 組
allowed_hosts=127.0.0.1,192.168.1.127 // 后面要加上nagios的IP
 
dont_blame_nrpe=0
allow_bash_command_substitution=0
debug=0
command_timeout=60
connection_timeout=300
command[check_users]=/mnt/cellar/nagios-plus/libexec/check_users -w 5-c 10

//這里要注意路徑,這個路徑是nagios-plus安裝后生成的libexec下面的文件,當然也可以copy到你想要的目錄下面,-w和-c表示WARNING, CRITICAL,即報警狀態,具體的理論可以到官網上面查看

ommand[check_load]=/mnt/cellar/nagios-plus/libexec/check_load -w15,10,5 -c 30,25,20

command[check_hda1]=/mnt/cellar/nrpe/libexec/check_disk -w 20% -c 10%-p /dev/hda1

command[check_zombie_procs]=/mnt/cellar/nrpe/libexec/check_procs -w 5-c 10 -s Z

command[check_total_procs]=/mnt/cellar/nrpe/libexec/check_procs -w 150-c 200

客戶端當然也要開啟動nrpe服務器才行,當然為了方便,這邊還是寫了一個啟動腳本,放到/etc/init.d下即可,別忘記給執行權限就行(chmod+x nrpe), 也可以通過xinit 來啟動nrpe 當然我認為獨立啟動更方便管理

 

#!/bin/bash
# chkconfig: 2345 88 12
# description: NRPE DAEMON
NRPE=/mnt/cellar/nrpe/bin/nrpe
NRPECONF=/mnt/cellar/nrpe/etc/nrpe.cfg
case "$1" in
        start)
                echo -n"Staring NRPE daemon...."
                $NRPE -c$NRPECONF -d
                echo "done.."
                ;;
        stop)
                echo -n"Stopping NRPE daemon...."
                pkill -u nagiosnrpe
                echo"done.."
                ;;
        restart)
                $0  stop
                sleep 1
                $0 start
                ;;
        *)
                echo "Usage:$0 start|stop|restart"
        esac
exit 0

最后就是如果防火墻開了的別忘記放行5666端口了。

 

客戶端配置好后,還要在服務端配置相關的文件才行

下面是在nagios的配置

 

由于是通過nrpe來監控linux客戶端的,所以在nagios上原則上也是要安裝nrpe的,但經驗證,不用安裝,只要從客戶機上面的

nagios的詳細配置和報警

如上圖,把check_nrpe拷貝到nagios的下面路徑即可。

nagios的詳細配置和報警

nagios的主要的配置文件全在下面的目錄下:

nagios的詳細配置和報警

由于nrpe只是一個插件,nagios識別不了這個命令,所以要在commands.cfg中定義一下這個命令,編輯command.cfg 在最下面添加如下,這也就是為何要拷貝check_nrpe命令到nagios端的原因

############
# 'check_nrpe ' command definition
define command{
       command_name check_nrpe
       command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
       }

然后在下面路徑定義要監控的項目,linux這個目錄是要自己創建的

nagios的詳細配置和報警

 

具體的配置如下:更具體可以的看網盤中的配置文件。

##########define hostname and ipaddress
define host{
       use                    linux-server           
       host_name              linux1-server
       alias                    linux1-server
       address                192.168.1.109
       }
 
 
########## ping
define service{
       use                    generic-service
       host_name              linux1-server
       service_description        ping
       check_command          check_ping!100.0,20%!500.0,60%
 
}
 
########## check_users
 
define service{
       use                    generic-service
       host_name               linux1-server
       service_description     login_user
       check_command          check_nrpe!check_users
 
}
 
########## check_cpu_load
 
define service{
       use                    generic-service
       host_name              linux1-server
       service_description     CPU_load
       check_command          check_nrpe!check_load
}

最后當然還是要配置nagios.cfg文件,要讓nagios知道到哪個路徑下去找要監控的項目

nagios的詳細配置和報警

最后重啟一下nagios服務即可,如果配置有錯,是不能啟動成功的

當然可以在nagios上先驗證一下如下:

nagios的詳細配置和報警

如果能返回結果,說明配置成功

過幾分鐘可以看到結果:

nagios的詳細配置和報警

至此windows和linux的監控基本的就這樣了,復雜的一些的,要通過腳本來監控了,具體的可以看網盤

9. 短信報警和郵件報警

   這個功能最nagios最強大的功能,報警功能速度之快

當然為了系統安全,建議安裝sendmail服務

yum -yinstall sendmail

nagios的詳細配置和報警

然后編輯/etc/mail.rc在最后面加入

set from=cheng7223@163.comsmtp=smtp.163.com
 
setsmtp-auth-user=cheng7223@163.com smtp-auth-password=*******
 
set smtp-auth=login

這里是定義用哪個郵箱來發送報警郵件

最后定義收件人,也就接收人

編輯

nagios的詳細配置和報警

definecontact{
        contact_name                    nagiosadmin             ; Short name of user
        use                            generic-contact         ; Inheritdefault values from generic-contact template (defined above)
        alias                           Nagios Admin            ; Full name of user
 
        email                           chengjian@114995.com    ; <<***** CHANGE THIS TO YOUR EMAILADDRESS ******
        }

如上紅色的就是接收人的郵箱,如果是多個人,要用逗號隔開才行

配置完以后,一定要重啟sendmail和nagios服務器

下面把客戶機的nrpe服務給停掉來驗證郵件的功能

nagios的詳細配置和報警

已經顯示紅色,說明有問題了,再查看郵箱,速度挺快的

nagios的詳細配置和報警

這是有問題的報警。再驗證一下,恢復后的報警

nagios的詳細配置和報警

至此已經OK。至于通過圖像顯示的功能,這里不做介紹,因為zabbix 在圖像顯示這一塊已經足夠。

新聞標題:nagios的詳細配置和報警
本文鏈接:http://m.newbst.com/article32/pjccpc.html

成都網站建設公司_創新互聯,為您提供網站內鏈、用戶體驗、網站營銷、動態網站網站收錄、網站制作

廣告

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

成都做網站