您好,登錄后才能下訂單哦!
nagios和nconf整合與使用
一. nagios和nconf簡介 3
1.nagios簡介 3
2.nconf簡介 3
二. 實驗環境 3
1.安裝mysql 3
2.安裝apache 4
3.安裝php 4
4.配置防火墻和selinux 4
三. Nagios安裝配置 4
1.安裝基礎支持套件 4
2.創建nagios用戶和用戶組 4
3.編譯安裝nagios 4
4.安裝nagios插件 5
5.配置apache 5
6.創建apche目錄驗證文件 6
7.配置nagios 6
8.啟動apache服務 7
9.nagios安裝完成 7
四. nconf安裝配置 7
1. 檢查/etc/php.ini設置 7
2. 下載安裝nconf 7
3. 創建nconf數據庫以用戶 8
4. 修改相關目錄權限 8
5. 設置安全上下文 8
6. 在瀏覽器中訪問 8
7. 安裝完畢,整理nconf目錄 12
8. 訪問nconf: 12
五. nrpe安裝配置 13
1.NRPE 工作原理 13
2. 在監控主機上安裝check_nrpe插件 14
3. 在被監控主機安裝nrpe deamon 14
3.1 新增用戶 14
3.2 安裝nagios插件 14
3.3修改目錄權限 15
3.4 安裝nrpe 15
3.5 測試nrpe是否正常工作 15
六. nconf的簡單使用 16
1.添加監控設備流程 16
1.1 添加監控設備 16
1.2 添加監控服務 17
1.3 生成nagios配置文件 18
1.4 執行腳本使nagios配置生效 19
1.5 成功配置 19
2. 新增服務流程 19
2.1 上傳監控腳本 19
2.2 添加Check命令 19
2.3 添加高級監控服務 20
2.4 使用剛添加的監控服務 22
3. 配置nagios自動部署 23
3.1 修改部署配置文件 23
3.2 修改/etc/sudoers 24
3.3 修改nagios的主配置 24
3.4 修改目錄所有者 24
3.5 自動發布 24
3.6 重載nagios配置 25
3.7 成功進行自動部署 25
一.nagios和nconf簡介
1.nagios簡介
Nagios是一款開源的免費網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設置,打印機等。在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復后發出正常的郵件或短信通知。
Nagios的功能是監控服務和主機,但是他自身并不包括這部分功能,所有的監控、檢測功能都是通過各種插件來完成的。
啟動Nagios后,它會周期性的自動調用插件去檢測服務器狀態,同時Nagios會維持一個隊列,所有插件返回來的狀態信息都進入隊列,Nagios每次都從隊首開始讀取信息,并進行處理后,把狀態結果通過web顯示出來。
Nagios提供了許多插件,利用這些插件可以方便的監控很多服務狀態。安裝完成后,在nagios主目錄下的/libexec里放有nagios自帶的可以使用的所有插件,如,check_disk是檢查磁盤空間的插件,check_load是檢查CPU負載的,等等。每一個插件可以通過運行./check_xxx –h 來查看其使用方法和功能。打開Nagios官方的文檔,會發現Nagios基本上沒有什么依賴包,只要求系統是Linux或者其他Nagios支持的系統。不過如果你沒有安裝apache(http服務),那么你就沒有那么直觀的界面來查看監控信息了,所以apache姑且算是一個前提條件。
2.nconf簡介
NConf是一個用來配置Nagios監控軟件的Web工具。它不同于類似的工具,它能夠提供企業級功能,如模板、依賴、并能夠配置一個大型分布式的Nagios服務器拓撲結構。它可以讓你毫不費力地保持一個分布式的Nagios拓撲。具有一個用戶友好的GUI,其特點是主機和服務的模板,圖形依賴瀏覽器,多個身份驗證模式,一個Nagios配置的提供者,一個CSV文件導入和Perl的數據庫API,其數據架構是可定制和可擴展。
二.實驗環境
LAMP環境部署
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.安裝基礎支持套件
yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
2.創建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
添加以下內容:
AddType application/x-httpd-php .php
為了安全起見,一般情況下要讓nagios 的web 監控頁面必須經過授權才能訪問,這需要增加驗證配置,即在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>
防止nagios頁面亂碼,在httpd.conf中新增如下:
AddDefaultCharset utf-8
同時將以下兩行的注釋去掉:
LoadModule cgid_module modules/mod_cgid.so
LoadModule actions_module modules/mod_actions.so
6.創建apche目錄驗證文件
在上面的配置中,指定了目錄驗證文件htpasswd,下面要創建這個文件(可根據實際情況新增,此處新增luyx這個賬號):
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd luyx
這樣就在/usr/local/nagios/etc 目錄下創建了一個htpasswd 驗證文件,當通過http://192.168.9.188/nagios/ 訪問時就需要輸入用戶名和密碼了。
7.配置nagios
修改/usr/local/nagios/etc/cgi.cfg文件,使得用戶luyx具備相應的權限:
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.啟動apache服務
# /usr/local/apache2/bin/apachectl start
nagios的驗證方法:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios的啟動和停止:
# service nagios start
#service nagios stop
9.nagios安裝完成
到此nagios的安裝基本完成,可以通過web來訪問了。
四.nconf安裝配置
1.檢查/etc/php.ini設置
該配置文件應該設置成如下:
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.創建nconf數據庫以用戶
# 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.修改相關目錄權限
# chown -R nagios:nagios config/ temp/ static_cfg/ output/
5.設置安全上下文
如果selinux打開了,需要設置安全上下文:
# 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來監控linux主機,需要在監控主機中安裝check_nrpe,在被監控主機中安裝nrpe deamon.
1.NRPE 工作原理
NRPE 總共由兩部分組成:
1 check_nrpe 插件,位于監控主機上
2 NRPE daemon,運行在遠程的Linux主機上(通常就是被監控機)
按照上圖,整個的監控過程如下:
當Nagios 需要監控某個遠程Linux 主機的服務或者資源情況時:
1 Nagios 會運行check_nrpe 這個插件,告訴它要檢查什么;
2 check_nrpe 插件會連接到遠程的NRPE daemon,所用的方式是SSL;
3 NRPE daemon 會運行相應的Nagios 插件來執行檢查;
4 NRPE daemon 將檢查的結果返回給check_nrpe 插件,插件將其遞交給nagios做處理。
注意:NRPE daemon 需要Nagios 插件安裝在遠程的Linux主機上,否則,daemon不能做任何的監控。
2.在監控主機上安裝check_nrpe插件
此處以監控機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.在被監控主機安裝nrpe deamon
此處以被監控主機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修改目錄權限
# 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下的一個服務來管理
# make install-xinetd
####在配置文件中新增監控主機的IP地址
# vi /etc/xinetd.d/nrpe
####編輯/etc/services文件,增加nrpe服務
####重啟xinetd服務
#service xinetd restart
3.5 測試nrpe是否正常工作
# /usr/local/nagios/libexec/check_nrpe -H localhost
####返回nrpe的版本,說明nrpe daemon正常。
####注意,若有開啟防火墻,需要放行5666端口。
至此,nagios與nconf的整合完畢。
六.nconf的簡單使用
1.添加監控設備流程
以linux系統192.168.9.190為例:
1.1 添加監控設備
1.2 添加監控服務
1.3 生成nagios配置文件
保存后設備添加完成,點【Generate Nagios config】生成nagios配置文件
1.4 執行腳本使nagios配置生效
如果生成Nagios配置文件沒問題的話,就可以執行以下腳本使nagios配置生效:
# /usr/local/apache2/htdocs/nconf/ADD-ONS/deploy_local.sh
執行后看到以下結果說明正常:
#/usr/local/apache2/htdocs/nconf/ADD-ONS/deploy_local.sh
Running configuration check...done.
Reloading nagios configuration...done
注:可以將此腳本做成計劃任務1分鐘執行一次,這也是nconf官方推薦的,但是這里沒有做成計劃任務,因為個人覺得這沒必要,這個配置不會天天修改,一分鐘執行一次太頻繁了,完全沒這個必要。當然,想增加計劃任務也是可以的,按個人需要,如果你想增加計劃任務的話,執行此命令即可添加:
echo '* * * * * root /usr/local/apache2/htdocs/nconf/ADD-ONS/deploy_local.sh'>> /etc/crontab
1.5 成功配置
至此通過nconf來配置nagios完成,http://IP/nagios 進行查看剛添加的監控設備。
2.新增服務流程
2.1 上傳監控腳本
編寫好相關的監控腳本check_mem.sh,上傳至Nagios的/usr/local/nagios/libexec/ 目錄里,或者利用該目錄內已有的check命令:
####修改權限:
chown nagios.nagios check_mem.sh
chmod 755 check_mem.sh
2.2 添加Check命令
2.3 添加高級監控服務
添加的服務可被多次利用,【Services】是針對單臺設備監控添加的服務
在最尾部,添加參數值:
2.4 使用剛添加的監控服務
3.配置nagios自動部署
3.1 修改部署配置文件
#vim /usr/local/apache2/htdocs/nconf/config/deployment.ini
3.2 修改/etc/sudoers
允許nagios執行sudo:
#將Defaults requretty注釋掉,同時新增nagios這個無密碼的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 自動發布
點擊Deploy,完成自動部署。
3.6 重載nagios配置
重載nagios的配置,使用最新的配置文件:
# service nagios reload
3.7 成功進行自動部署
以下為個人新增的service和host:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。