您好,登錄后才能下訂單哦!
nagios和nconf整合與使用
一. nagios和nconf簡介 3
1.nagios簡介 3
2.nconf簡介 3
二. 實(shí)驗(yàn)環(huán)境 3
1.安裝mysql 3
2.安裝apache 4
3.安裝php 4
4.配置防火墻和selinux 4
三. Nagios安裝配置 4
1.安裝基礎(chǔ)支持套件 4
2.創(chuàng)建nagios用戶和用戶組 4
3.編譯安裝nagios 4
4.安裝nagios插件 5
5.配置apache 5
6.創(chuàng)建apche目錄驗(yàn)證文件 6
7.配置nagios 6
8.啟動(dòng)apache服務(wù) 7
9.nagios安裝完成 7
四. nconf安裝配置 7
1. 檢查/etc/php.ini設(shè)置 7
2. 下載安裝nconf 7
3. 創(chuàng)建nconf數(shù)據(jù)庫以用戶 8
4. 修改相關(guān)目錄權(quán)限 8
5. 設(shè)置安全上下文 8
6. 在瀏覽器中訪問 8
7. 安裝完畢,整理nconf目錄 12
8. 訪問nconf: 12
五. nrpe安裝配置 13
1.NRPE 工作原理 13
2. 在監(jiān)控主機(jī)上安裝check_nrpe插件 14
3. 在被監(jiān)控主機(jī)安裝nrpe deamon 14
3.1 新增用戶 14
3.2 安裝nagios插件 14
3.3修改目錄權(quán)限 15
3.4 安裝nrpe 15
3.5 測試nrpe是否正常工作 15
六. nconf的簡單使用 16
1.添加監(jiān)控設(shè)備流程 16
1.1 添加監(jiān)控設(shè)備 16
1.2 添加監(jiān)控服務(wù) 17
1.3 生成nagios配置文件 18
1.4 執(zhí)行腳本使nagios配置生效 19
1.5 成功配置 19
2. 新增服務(wù)流程 19
2.1 上傳監(jiān)控腳本 19
2.2 添加Check命令 19
2.3 添加高級監(jiān)控服務(wù) 20
2.4 使用剛添加的監(jiān)控服務(wù) 22
3. 配置nagios自動(dòng)部署 23
3.1 修改部署配置文件 23
3.2 修改/etc/sudoers 24
3.3 修改nagios的主配置 24
3.4 修改目錄所有者 24
3.5 自動(dòng)發(fā)布 24
3.6 重載nagios配置 25
3.7 成功進(jìn)行自動(dòng)部署 25
一.nagios和nconf簡介
1.nagios簡介
Nagios是一款開源的免費(fèi)網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等。在系統(tǒng)或服務(wù)狀態(tài)異常時(shí)發(fā)出郵件或短信報(bào)警第一時(shí)間通知網(wǎng)站運(yùn)維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知。
Nagios的功能是監(jiān)控服務(wù)和主機(jī),但是他自身并不包括這部分功能,所有的監(jiān)控、檢測功能都是通過各種插件來完成的。
啟動(dòng)Nagios后,它會(huì)周期性的自動(dòng)調(diào)用插件去檢測服務(wù)器狀態(tài),同時(shí)Nagios會(huì)維持一個(gè)隊(duì)列,所有插件返回來的狀態(tài)信息都進(jìn)入隊(duì)列,Nagios每次都從隊(duì)首開始讀取信息,并進(jìn)行處理后,把狀態(tài)結(jié)果通過web顯示出來。
Nagios提供了許多插件,利用這些插件可以方便的監(jiān)控很多服務(wù)狀態(tài)。安裝完成后,在nagios主目錄下的/libexec里放有nagios自帶的可以使用的所有插件,如,check_disk是檢查磁盤空間的插件,check_load是檢查CPU負(fù)載的,等等。每一個(gè)插件可以通過運(yùn)行./check_xxx –h 來查看其使用方法和功能。打開Nagios官方的文檔,會(huì)發(fā)現(xiàn)Nagios基本上沒有什么依賴包,只要求系統(tǒng)是Linux或者其他Nagios支持的系統(tǒng)。不過如果你沒有安裝apache(http服務(wù)),那么你就沒有那么直觀的界面來查看監(jiān)控信息了,所以apache姑且算是一個(gè)前提條件。
2.nconf簡介
NConf是一個(gè)用來配置Nagios監(jiān)控軟件的Web工具。它不同于類似的工具,它能夠提供企業(yè)級功能,如模板、依賴、并能夠配置一個(gè)大型分布式的Nagios服務(wù)器拓?fù)浣Y(jié)構(gòu)。它可以讓你毫不費(fèi)力地保持一個(gè)分布式的Nagios拓?fù)?。具有一個(gè)用戶友好的GUI,其特點(diǎn)是主機(jī)和服務(wù)的模板,圖形依賴瀏覽器,多個(gè)身份驗(yàn)證模式,一個(gè)Nagios配置的提供者,一個(gè)CSV文件導(dǎo)入和Perl的數(shù)據(jù)庫API,其數(shù)據(jù)架構(gòu)是可定制和可擴(kuò)展。
二.實(shí)驗(yàn)環(huán)境
LAMP環(huán)境部署
1.安裝mysql
# yum install mysql perl mysql-server perl-DBI perl-DBD-MySQL
2.安裝apache
# wget http://archive.apache.org/dist/httpd/httpd-2.4.6.tar.bz2
# tar -xvf httpd-2.4.6.tar.bz2
# cd httpd
# ./configure --prefix=/usr/local/apache2
# make&&make install
3.安裝php
# wget http://cn2.php.net/distributions/php-5.5.3.tar.bz2
# tar -xvf php-5.5.3.tar.bz2
# cd php-5.5.3
#./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache2/bin/apxs --with-mysql
# make&&make install
4.配置防火墻和selinux
# iptables -F
# iptables -X
# iptables -Z
# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD ACCEPT
# setenforce 0
三.Nagios安裝配置
1.安裝基礎(chǔ)支持套件
yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
2.創(chuàng)建nagios用戶和用戶組
# useradd -s /sbin/nologin nagios
# mkdir /usr/local/nagios
# chown -R nagios:nagios /usr/local/nagios
3.編譯安裝nagios
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.5.1.tar.gz
# tar -zxvf nagios-3.5.1.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios
# make all
# make install
# make instal-init
# make install-commandmode
# make install-config
# chkconfig --add nagios
# chkconfig --level 35 nagios on
# chkconfig --list nagios
4.安裝nagios插件
#wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
# tar --zxvf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/nagios
# make&&make install
5.配置apache
修改/usr/local/apache2/conf/httpd.conf文件:
將User和Group修改如下:
User nagios
Group nagios
將DirectoryIndex修改如下:
DirectoryIndex index.html index.php
添加以下內(nèi)容:
AddType application/x-httpd-php .php
為了安全起見,一般情況下要讓nagios 的web 監(jiān)控頁面必須經(jīng)過授權(quán)才能訪問,這需要增加驗(yàn)證配置,即在httpd.conf 文件新增以下內(nèi)容:
#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>
防止nagios頁面亂碼,在httpd.conf中新增如下:
AddDefaultCharset utf-8
同時(shí)將以下兩行的注釋去掉:
LoadModule cgid_module modules/mod_cgid.so
LoadModule actions_module modules/mod_actions.so
6.創(chuàng)建apche目錄驗(yàn)證文件
在上面的配置中,指定了目錄驗(yàn)證文件htpasswd,下面要?jiǎng)?chuàng)建這個(gè)文件(可根據(jù)實(shí)際情況新增,此處新增luyx這個(gè)賬號):
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd luyx
這樣就在/usr/local/nagios/etc 目錄下創(chuàng)建了一個(gè)htpasswd 驗(yàn)證文件,當(dāng)通過http://192.168.9.188/nagios/ 訪問時(shí)就需要輸入用戶名和密碼了。
7.配置nagios
修改/usr/local/nagios/etc/cgi.cfg文件,使得用戶luyx具備相應(yīng)的權(quán)限:
authorized_for_system_information=nagiosadmin,luyx
authorized_for_configuration_information=nagiosadmin,luyx
authorized_for_system_commands=nagiosadmin,luyx
authorized_for_all_services=nagiosadmin,luyx
authorized_for_all_hosts=nagiosadmin,luyx
#authorized_for_all_service_commands=nagiosadmin,luyx
#authorized_for_all_host_commands=nagiosadmin,luyx
8.啟動(dòng)apache服務(wù)
# /usr/local/apache2/bin/apachectl start
nagios的驗(yàn)證方法:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios的啟動(dòng)和停止:
# service nagios start
#service nagios stop
9.nagios安裝完成
到此nagios的安裝基本完成,可以通過web來訪問了。
四.nconf安裝配置
1.檢查/etc/php.ini設(shè)置
該配置文件應(yīng)該設(shè)置成如下:
short_open_tag = On
register_globals = Off
magic_quotes_gpc = Off
2.下載安裝nconf
# wget http://file2.51cto.com/?mod=getCode&n=a1c4OzkJqDodjYyJUtT8qoXUQHDVx4Xn8la69BE+vme4/TcJWiteKExcBLbdVe/yfK0UaAaL1NDGHFyrL1Wm6wi2rxpOv95TdFEHryQQsp64mpf7+SU+Onn9mXx0ENS1d/1GBCjpotG0pag+a+QAA9+VABK6cEkv17n9SCKJiC6w2A
# tar -xvf nconf-1.3.0.0.tgz -C /usr/local/apache2/htdocs/
3.創(chuàng)建nconf數(shù)據(jù)庫以用戶
# mysql -u root -p (root初始密碼為空,可自行更改)
mysql> create database nconf;
mysql> grant all privileges on nconf.* to nconf@localhost identified by '1q2w3e';
mysql> flush privileges;
# cd /usr/local/apache2/nconf
# mysql -u nconf -p nconf < INSTALL/create_database.sql
4.修改相關(guān)目錄權(quán)限
# chown -R nagios:nagios config/ temp/ static_cfg/ output/
5.設(shè)置安全上下文
如果selinux打開了,需要設(shè)置安全上下文:
# chcon -R -t httpd_sys_content_t /usr/local/apache2/nconf/
# chcon -t httpd_sys_script_exec_t /usr/local/apache2/nconf/bin/nagios
6.在瀏覽器中訪問
在瀏覽器中輸入http://ip/nconf/,此例中地址為http://192.168.9.188/nconf/ 安裝畫面如下:
7.安裝完畢,整理nconf目錄
# cd /usr/local/apache2/htdocs/nconf
# rm -rf INSTALL* UPDATE*
# cp /usr/local/nagios/bin/nagios bin/nagios
# chown -R nagios:nagios bin
8.訪問nconf:
此例為http://192.168.9.188/nconf/頁面:
登錄后界面如下,表示安裝成功:
五.nrpe安裝配置
要利用nagios來監(jiān)控linux主機(jī),需要在監(jiān)控主機(jī)中安裝check_nrpe,在被監(jiān)控主機(jī)中安裝nrpe deamon.
1.NRPE 工作原理
NRPE 總共由兩部分組成:
1 check_nrpe 插件,位于監(jiān)控主機(jī)上
2 NRPE daemon,運(yùn)行在遠(yuǎn)程的Linux主機(jī)上(通常就是被監(jiān)控機(jī))
按照上圖,整個(gè)的監(jiān)控過程如下:
當(dāng)Nagios 需要監(jiān)控某個(gè)遠(yuǎn)程Linux 主機(jī)的服務(wù)或者資源情況時(shí):
1 Nagios 會(huì)運(yùn)行check_nrpe 這個(gè)插件,告訴它要檢查什么;
2 check_nrpe 插件會(huì)連接到遠(yuǎn)程的NRPE daemon,所用的方式是SSL;
3 NRPE daemon 會(huì)運(yùn)行相應(yīng)的Nagios 插件來執(zhí)行檢查;
4 NRPE daemon 將檢查的結(jié)果返回給check_nrpe 插件,插件將其遞交給nagios做處理。
注意:NRPE daemon 需要Nagios 插件安裝在遠(yuǎn)程的Linux主機(jī)上,否則,daemon不能做任何的監(jiān)控。
2.在監(jiān)控主機(jī)上安裝check_nrpe插件
此處以監(jiān)控機(jī)192.168.8.188為例:
# wget http://download-vdisk.sina.com.cn/40070246/208595c175d726e8e377d565b21897f4de1648cc?ssig=xYr6eu70pI&Expires=1378279074&KID=sae,l30zoo1wmz&fn=nrpe-2.12.tar.gz
# tar -xvf nrpe-2.12.tar.gz
# cd nrpe-2.12
# ./configure
# make install
# make-plugin
在commands.cfg中增加對check_nrpe的定義:
# vi /usr/local/nagios/etc/objects/commands.cfg
3.在被監(jiān)控主機(jī)安裝nrpe deamon
此處以被監(jiān)控主機(jī)192.168.9.190為例:
3.1 新增用戶
# useradd nagios
# passwd nagios
3.2 安裝nagios插件
# tar -xvf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/nagios
# make&&make install
3.3修改目錄權(quán)限
# chown nagios.nagios /usr/local/nagios
# chown -R nagios.nagios /usr/local/nagios/libexec
3.4 安裝nrpe
# Tar -xvf nrpe-2.12.tar.gz
# cd nrpe-2.12
# ./configure
# make all
# make install-plugin
# make install-daemon
# make install-daemon-config
####將nrpe作為xinetd下的一個(gè)服務(wù)來管理
# make install-xinetd
####在配置文件中新增監(jiān)控主機(jī)的IP地址
# vi /etc/xinetd.d/nrpe
####編輯/etc/services文件,增加nrpe服務(wù)
####重啟xinetd服務(wù)
#service xinetd restart
3.5 測試nrpe是否正常工作
# /usr/local/nagios/libexec/check_nrpe -H localhost
####返回nrpe的版本,說明nrpe daemon正常。
####注意,若有開啟防火墻,需要放行5666端口。
至此,nagios與nconf的整合完畢。
六.nconf的簡單使用
1.添加監(jiān)控設(shè)備流程
以linux系統(tǒng)192.168.9.190為例:
1.1 添加監(jiān)控設(shè)備
1.2 添加監(jiān)控服務(wù)
1.3 生成nagios配置文件
保存后設(shè)備添加完成,點(diǎn)【Generate Nagios config】生成nagios配置文件
1.4 執(zhí)行腳本使nagios配置生效
如果生成Nagios配置文件沒問題的話,就可以執(zhí)行以下腳本使nagios配置生效:
# /usr/local/apache2/htdocs/nconf/ADD-ONS/deploy_local.sh
執(zhí)行后看到以下結(jié)果說明正常:
#/usr/local/apache2/htdocs/nconf/ADD-ONS/deploy_local.sh
Running configuration check...done.
Reloading nagios configuration...done
注:可以將此腳本做成計(jì)劃任務(wù)1分鐘執(zhí)行一次,這也是nconf官方推薦的,但是這里沒有做成計(jì)劃任務(wù),因?yàn)閭€(gè)人覺得這沒必要,這個(gè)配置不會(huì)天天修改,一分鐘執(zhí)行一次太頻繁了,完全沒這個(gè)必要。當(dāng)然,想增加計(jì)劃任務(wù)也是可以的,按個(gè)人需要,如果你想增加計(jì)劃任務(wù)的話,執(zhí)行此命令即可添加:
echo '* * * * * root /usr/local/apache2/htdocs/nconf/ADD-ONS/deploy_local.sh'>> /etc/crontab
1.5 成功配置
至此通過nconf來配置nagios完成,http://IP/nagios 進(jìn)行查看剛添加的監(jiān)控設(shè)備。
2.新增服務(wù)流程
2.1 上傳監(jiān)控腳本
編寫好相關(guān)的監(jiān)控腳本check_mem.sh,上傳至Nagios的/usr/local/nagios/libexec/ 目錄里,或者利用該目錄內(nèi)已有的check命令:
####修改權(quán)限:
chown nagios.nagios check_mem.sh
chmod 755 check_mem.sh
2.2 添加Check命令
2.3 添加高級監(jiān)控服務(wù)
添加的服務(wù)可被多次利用,【Services】是針對單臺(tái)設(shè)備監(jiān)控添加的服務(wù)
在最尾部,添加參數(shù)值:
2.4 使用剛添加的監(jiān)控服務(wù)
3.配置nagios自動(dòng)部署
3.1 修改部署配置文件
#vim /usr/local/apache2/htdocs/nconf/config/deployment.ini
3.2 修改/etc/sudoers
允許nagios執(zhí)行sudo:
#將Defaults requretty注釋掉,同時(shí)新增nagios這個(gè)無密碼的sudoers
3.3 修改nagios的主配置
# 將其中cfg_file=*******字段全部注釋 ,并加入
cfg_dir=/usr/local/nagios/etc/Default_collector
cfg_dir=/usr/local/nagios/etc/global
3.4 修改目錄所有者
chown nagios:nagios /usr/locasl/nagios/etc/Default_collector/
chown nagios:nagios /usr/locasl/nagios/etc/global/
3.5 自動(dòng)發(fā)布
點(diǎn)擊Deploy,完成自動(dòng)部署。
3.6 重載nagios配置
重載nagios的配置,使用最新的配置文件:
# service nagios reload
3.7 成功進(jìn)行自動(dòng)部署
以下為個(gè)人新增的service和host:
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。