溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux下nagios的搭建及相關(guān)配置

發(fā)布時間:2020-07-04 04:14:27 來源:網(wǎng)絡(luò) 閱讀:470 作者:yhLin丶 欄目:移動開發(fā)

一、LAMP環(huán)境部署


1、安裝php


1.安裝yum源

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

2.執(zhí)行yum安裝

yum --enablerepo=remi,remi-php55 install php php-devel php-common php-fpm php-opcache \

php-cli php-pear php-pdo php-mysqlnd php-sqlite php-pecl-memcached php-gd \

php-mbstring php-mcrypt php-xml php-openssl php-intl php-zmq -y 

3.查看版本

php -v

2、安裝mysql(安裝之前先卸載掉系統(tǒng)自帶的版本)

1.安裝oracle官方y(tǒng)um源

rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

2.yum安裝

yum -y install mysql-server mysql

3.查看版本

mysql -V


3、Apache默認系統(tǒng)已經(jīng)安裝,開啟支持php頁面解析即可

1.修改配置文件

vim /etc/httpd/conf/httpd.conf 

DirectoryIndex index.html index.php index.html.var

/etc/init.d/httpd restart

2.編輯測試頁進行測試

cat index.php 

<?php

phpinfo();

?>


二、nagios環(huán)境部署


1、下載源碼包


wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz 


wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz


wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz#_ga=1.84131165.51197378.1492996402

2、安裝依賴環(huán)境


yum install gcc gd gd-devel libpng libpng-devel libjpeg libjpeg-devel zlib zlib-devel openssl-devel -y

3、創(chuàng)建用戶


/usr/sbin/useradd -m -s /sbin/nologin nagios

4、編輯安裝主程序包

1.安裝

tar zxvf nagios-3.2.3.tar.gz

cd nagios-3.2.3

./configure --prefix=/usr/local/nagios

make all

make install //安裝nagios的主程序,CGI和HTML文件

make install-init //生成/etc/rc.d/init.d/nagios啟動腳本

make install-config //安裝示例配置文件,路徑/usr/local/nagios/etc

make install-commandmode //設(shè)定相應(yīng)nagios工作目錄的權(quán)限

make install-webconf //安裝Nagios的WEB配置文件到Apache的conf.d目錄下

2.查看安裝是否成功

ls /usr/local/nagios/

bin  etc  libexec  sbin  share  var

5、安裝插件包

1.安裝

tar zxvf nagios-plugins-2.2.1.tar.gz

cd nagios-plugins-2.2.1/

./configure

make && make install

2.檢查安裝是否成功(如果下面有很多東西,說明成功)

ls /usr/local/nagios/libexec/


6、創(chuàng)建nagios用戶,進行web登錄(用戶必須是nagiosadmin,不然web頁面有的功能不能用)


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

New password: 

Re-type new password: 

Adding password for user nagiosadmin

7、web登錄測試

http://ip/nagios/



8、安裝NRPE(監(jiān)控別的主機需要的插件)

1.安裝

tar zxvf nrpe-2.12.tar.gz

cd nrpe-2.12/

./configure

make all

make install-plugin

make install-daemon

make install-daemon-config

2.啟動nrpe

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

3.檢查是否成功(查看端口并連接自己測試,如果返回版本號說明正常)

netstat -antp |grep nrpe

tcp        0      0 0.0.0.0:5666            0.0.0.0:*               LISTEN      43336/nrpe 

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

NRPE v2.12

4.修改配置文件,讓監(jiān)控主機可以連接(修改客戶機,服務(wù)端連接測試)

vim /usr/local/nagios/etc/nrpe.cfg 

allowed_hosts=127.0.0.1,122.200.94.29

5.重啟nrpe

killall nrpe

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

6.在監(jiān)控端進行測試,是否能成功連接被監(jiān)控端的nrpe

/usr/local/nagios/libexec/check_nrpe -H 122.200.94.43

NRPE v2.12

7.如果返回

Connection refused by host

8.解決:編輯客戶端的ssh文件,允許root可以直接登錄(一般ubuntu系統(tǒng)會出現(xiàn)這個問題,centos默認root可以登錄)

vim /etc/ssh/sshd_config

PermitRootLogin yes

/etc/init.d/ssh restart

注意:


在ubuntu下安裝nrpe之前需要安裝ssl(監(jiān)控端和被監(jiān)控端版本需要保持一致)

apt-get install libssl-dev libssl0.9.8


三:添加監(jiān)控


NRPE實際上是使用check_nrpe來遠程調(diào)用NRPE,然后再由NRPE調(diào)用本地的插件,所以,一部分是在監(jiān)控機配置,用于加載定義NRPE要監(jiān)測的服務(wù),另一部分是在被監(jiān)控機配置,主要定義監(jiān)控的命令,具體操作如下

1.定義NRPE插件需要使用的命令(文件末尾添加如下內(nèi)容)

vim /usr/local/nagios/etc/objects/commands.cfg

define command{

        command_name  check_nrpe

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

        }

2.一般監(jiān)控都定義在servers下面,所以在配置文件中開啟一項參數(shù),將servers下的文件包含進來

vim /usr/local/nagios/etc/nagios.cfg

cfg_dir=/usr/local/nagios/etc/servers

3.添加監(jiān)控主機及監(jiān)控的服務(wù)(servers默認沒有,手動創(chuàng)建)

cd servers

cat 200.cfg

#監(jiān)控的主機

define host{

use linux-server   //調(diào)用的/usr/local/nagios/etc/objects/templates.cfg中已經(jīng)定義好的模塊(可以根據(jù)需求自己定義)

host_name 122.200.94.200 

alias 122.200.94.200

address 122.200.94.200

}

#監(jiān)控ping

define service{

       use                     local-service

       host_name               122.200.94.200

       service_description     Ping   //web頁面展示的名稱

       check_command           check_nrpe!check_ping//使用check_nrpe模塊遠程調(diào)用被監(jiān)控主機中定義好的命令,然后再調(diào)用本地的check_ping插件進行監(jiān)控

}

#負載情況

define service{

use local-service

host_name 122.200.94.200

service_description Load

check_command check_nrpe!check_load

}

#所有進程

define service{

use local-service

host_name 122.200.94.200

service_description Processes

check_command check_nrpe!check_total_procs

}

#當(dāng)前登錄的用戶

define service{

use local-service

host_name 122.200.94.200

service_description Users

check_command check_nrpe!check_users

}

#僵死的進程

define service{

use local-service

host_name 122.200.94.200

service_description Zombie procs

check_command check_nrpe!check_zombie_procs

}

#swap使用

define service{

use local-service

host_name 122.200.94.200

service_description Swap

check_command check_nrpe!check_swap

}

#Apache服務(wù)

define service{

use local-service

host_name 122.200.94.200

service_description HTTP

check_command check_nrpe!check_http

}

#mysql服務(wù)

define service{

        use                     local-service

        host_name               122.200.94.200

        service_description     Mysql

        check_command           check_mysql!122.200.94.200!3306!root!passw0rd //check_mysql模塊,IP,端口,被監(jiān)控端授權(quán)用戶,授權(quán)密碼

}

#用以上方法監(jiān)控mysql,需要更改另外一個文件,定義mysql監(jiān)控命令,客戶端需要授權(quán)用戶

vim /usr/local/nagios/etc/objects/commands.cfg(文件末尾添加一下內(nèi)容)

define command{

        command_name check_mysql

        command_line $USER1$/check_mysql -H $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$

        } 

4.客戶端修改(被監(jiān)控端,監(jiān)控端監(jiān)控的各項服務(wù),都需要再此文件中指定具體命令,否則無法執(zhí)行)

vim /usr/local/nagios/etc/nrpe.cfg

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

command[check_http]=/usr/local/nagios/libexec/check_http -I 127.0.0.1

command[check_ping]=/usr/local/nagios/libexec/check_ping -H 127.0.0.1 -w 3000.0,80% -c 5000.0,100%、

#服務(wù)端監(jiān)控客戶端的這些服務(wù),都需要在客戶端的nrpe.cfg文件中添加這些命令,daemon只運行nrpe.cfg中所定義的命令


四、郵件報警


因為系統(tǒng)自帶的sendmail發(fā)送郵件延遲很大,所以使用sendEmail進行發(fā)送郵件


1.下載

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

tar zxvf sendEmail-v1.56.tar.gz

cd sendEmail-v1.56

cp sendEmail /usr/bin/

chmod +x /usr/bin/sendEmail

2.在本地進行發(fā)送測試

sendEmail -f hulin_yu@sina.com -t hulin_yu@126.com -s smtp.sina.com -u 'This is title' -m 'This is body' -xu 'hulin_yu@sina.com' -xp '123456'

Apr 27 16:02:17 nagios sendEmail[2413]: Email was sent successfully!

3.修改配置文件

vim /usr/local/nagios/etc/objects/commands.cfg

#將發(fā)送郵件部分更改為如下(這樣修改用Foxmail接受郵件不會出現(xiàn)亂碼問題,否則會有亂碼)

define command{

       command_name    notify-host-by-email

       command_line    /usr/bin/printf "%b" "----- 監(jiān)控通知 -----<br><br>告警類型: $NOTIFICATIONTYPE$<br>主機狀態(tài): $HOSTSTATE$<br>告警地址: $HOSTADDRESS$<br>告警時間: `date +%F_%H:%M:%S`<br>詳細信息: <br>$HOSTOUTPUT$" | /usr/bin/sendEmail -f hulin_yu@sina.com -t $CONTACTEMAIL$ -s smtp.sina.com -u  "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -xu hulin_yu@sina.com -xp yhl940519! -o message-content-type=html -o message-charset=utf8

       }


define command{

       command_name    notify-service-by-email

       command_line    /usr/bin/printf "%b" "----- 監(jiān)控通知 -----<br><br>告警類型: $NOTIFICATIONTYPE$<br>告警服務(wù): $SERVICEDESC$<br>告警地址: $HOSTADDRESS$<br>服務(wù)狀態(tài): $SERVICESTATE$<br>告警時間: `date +%F_%H:%M:%S`<br>詳情信息:<br>$SERVICEOUTPUT$<br>" | /usr/bin/sendEmail -f hulin_yu@sina.com -t $CONTACTEMAIL$ -u  "Nagios Warning" -s smtp.sina.com -xu hulin_yu@sina.com -xp yhl940519! -o message-content-type=html -o message-charset=utf8

       }

此時,基本的配置都已完成。


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI