Ubuntu 11.10搭建和配置Nagios
10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有慶元免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
我們都知道Nagios是一個(gè)監(jiān)視系統(tǒng)運(yùn)行狀態(tài)和網(wǎng)絡(luò)信息的監(jiān)視系統(tǒng)。Nagios能監(jiān)視所指定的本地或遠(yuǎn)程主機(jī)以及服務(wù),同時(shí)提供異常通知功能等。Nagios可運(yùn)行在Linux/Unix平臺(tái)之上,同時(shí)提供一個(gè)可選的基于瀏覽器的WEB界面以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài),各種系統(tǒng)問(wèn)題,以及日志等等。
Nagios的主要功能特點(diǎn):
- 監(jiān)視網(wǎng)絡(luò)服務(wù) (SMTP, POP3, HTTP, NNTP, PING等)
- 監(jiān)視主機(jī)資源 (進(jìn)程, 磁盤等)
- 簡(jiǎn)單的插件設(shè)計(jì)可以輕松擴(kuò)展Nagios的監(jiān)視功能
- 服務(wù)等監(jiān)視的并發(fā)處理
- 錯(cuò)誤通知功能 (通過(guò)email, pager, 或其他用戶自定義方法)
- 可指定自定義的事件處理控制器
- 可選的基于瀏覽器的WEB界面以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài),各種系統(tǒng)問(wèn)題,以及日志等等
- 可以通過(guò)手機(jī)查看系統(tǒng)監(jiān)控信息
今天我們就主要介紹如何在Unbuntu下安裝安裝Nagios,具體見(jiàn)下:
安裝ubuntu 11.10 Desktop 32bit
安裝 apache2、php5、openssl、libssl-dev、gcc編譯器與開(kāi)發(fā)庫(kù)、gd開(kāi)發(fā)庫(kù)、php、php-apache、php相關(guān)的插件
可以用apt-get命令來(lái)安裝這些軟件包,鍵入命令:
sudo apt-get install apache2
sudo apt-get install build-essential
sudo apt-get install libgd2-xpm-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5 (這個(gè)可能在安裝php5的時(shí)候就已經(jīng)安裝,如果安裝就 不需要安裝啦)
sudo apt-get install libjpeg8
sudo apt-get install libjpeg8-dev
sudo apt-get install curl
sudo apt-get install libcurl3
sudo apt-get install libpng12-0
sudo apt-get install libpng12-dev
sudo apt-get install freetype2-demos
sudo apt-get install libfreetype6
sudo apt-get install libxml2
sudo apt-get install libxml2-dev
配置apache
如果默認(rèn)沒(méi)有安裝vim編輯器,先安裝vim,因?yàn)槟J(rèn)的vi編輯器在ubuntu里相當(dāng)?shù)膼盒?/p>
sudo apt-get install vim
sudo vim /etc/apache2/apache2.conf
按shift-g,也就是G,到篇尾,添加如下配置
AddType application/x-httpd-php .php .htm .html
AddDefaultCharset UTF-8
DirectoryIndex index.php index.html index.html
啟動(dòng)apache服務(wù)
sudo /etc/init.d/apache2 start
使用chkconfig工具設(shè)為隨機(jī)自啟動(dòng),如果沒(méi)有安裝chkconfig則先安裝chkconfig
sudo apt-get install chkconfig
sudo update-rc.d apache2 defaults
sudo chkconfig apache2 on
測(cè)試php是否解析正常
在shell里切換到/var/www目錄下
cd /var/www
清空里面的文件
rm -rf *
新建測(cè)試頁(yè)面
vim index.php
phpinfo();
?>
退出并保存
打開(kāi)瀏覽器測(cè)試:
http://localhost
是否正常顯示php的信息
安裝Nagios
創(chuàng)建nagios 用戶和 nagios命令組
sudo useradd -s /bin/false nagios
sudo groupadd nagcmd
將 nagios帳號(hào)和www-data用戶加入到 nagcmd組中
sudo usermod -G nagcmd nagios
sudo usermod -G nagcmd www-data
下載 nagios nagios-plugin nrpe
切換目錄到/usr/local/src
cd /usr/local/src
sudo wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.3.1.tar.gz
sudo wget http://nagiosplug.sourceforge.net/snapshot/nagios-plugins-HEAD.tar.gz
sudo wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
解壓 nagios-3.3.1.tar.gz
sudo tar zxvf nagios-3.3.1.tar.gz
進(jìn)入到解壓的目錄
cd nagios
編譯安裝nagios
sudo ./configure --prefix=/usr/local/nagios –with-command-group=nagcmd
結(jié)束之后,執(zhí)行 echo $? 查看返回值,如果是0說(shuō)明沒(méi)有問(wèn)題,可以進(jìn)行下一步,如果是 非0說(shuō)明沒(méi)有成功,需找原因重新執(zhí)行
因?yàn)?.3.1版本在configure完成以configure后執(zhí)行下一步安裝的時(shí)候有點(diǎn)兒?jiǎn)栴},所以 得修改一下 生成的makefile文件
sudo sed -i 's:for file in includes/rss/\*;:for file in includes/rss/\*.\*;:g' ./html/Makefile
sudo sed -i 's:for file in includes/rss/extlib/\*;:for file in includes/rss/extlib/\*.\*;:g' ./html/Makefile
sudo make all
初始化
sudo make install-init
生成配置文件
sudo make install-config
生成命令文件
sudo make install-command
配置web接口
sudo make install-webconf
創(chuàng)建一個(gè)nagiosadmin的用戶用于nagios的web接口
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
回車后會(huì)提示你輸入密碼并確認(rèn)密碼
編譯安裝Nagios插件
再次回到/usr/local/src目錄
cd /usr/local/src
解壓 nagios-plugins-HEAD.tar.gz
sudo tar zxvf nagios-plugins-HEAD.tar.gz
進(jìn)入到解壓后的目錄
cd nagios-plugins-1.4.15-39-gd796c
編譯nagios-plugins
sudo ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
安裝
sudo make
sudo make install
編譯安裝nrpe (非必須步驟)
不應(yīng)用nrpe的nagios工作流程
使用nrpe的nagios工作流程
需要在服務(wù)器端和被監(jiān)控端安裝
回到 /usr/local/src
cd /usr/local/src
解壓 nrpe-2.13.tar.gz
sudo tar zxvf nrpe-2.13.tar.gz
cd nrpe-2.13
編譯 nrpe
sudo ./configure –prefix=/usr/local/nagios –with-ssl-inc=/usr/include –with-ssl-lib=/usr/lib/x86-linux-gnu
安裝 nrpe
sudo make all
sudo make install-plugin
sudo make install-daemon
sudo make install-daemon-config
sudo make install-xinetd
檢查是否安裝 xinetd 服務(wù)(一般沒(méi)有安裝)
sudo dpkg -L xinetd
如果返回 ”未曾安裝軟件包 xinetd“ 的提示,就需要安裝 xinetd服務(wù)
sudo apt-get install xinetd
將xinetd添加到啟動(dòng)級(jí)別中
sudo update-rc.d xinetd defaults
設(shè)為隨機(jī)自啟動(dòng)
sudo chkconfig xinetd on
編輯 /etc/services配置文件,添加nrpe的服務(wù)端口
sudo vim /etc/services
在尾行添加如下配置
nrpe 5666/tcp # NRPE Service Port
如果是被監(jiān)控端,還需要編輯 /etc/xinted.d/nrpe
sudo vim /etc/xinetd.d/nrpe
only_from = 127.0.0.1 10.1.10.23(添加nagios的ip地址)
退出并保存
sudo chkconfig nrpe on
sudo /etc/init.d/xinetd restart
檢查nrpe服務(wù)是否正常
sudo netstat -at | grep nrpe
如果返回“tcp 0 0 *:nrpe *:* LISTEN”,說(shuō)明服務(wù)正常
啟動(dòng)服務(wù)
更改/usr/local/nagios目錄的屬主和屬組
suduo chown -R nagios.nagcmd /usr/local/nagios
將nagios添加到啟動(dòng)級(jí)別中
sudo update-rc.d nagios defaults
設(shè)為隨機(jī)自啟動(dòng)
sudo chkconfig nagios on
啟動(dòng)nagios服務(wù)
sudo /etc/init.d/nagios start
重啟 apache2服務(wù)
sudo /etc/init.d/apache2 restart
登錄 http://localhost/nagios 查看頁(yè)面是否正常
配置nagios 主配置文件
sudo vim /usr/local/nagios/etc/nagios.cfg
添加所添加的配置文件
cfg_file=/usr/local/nagios/etc/objects/dsgrd_servers.cfg
cfg_file=/usr/local/nagios/etc/objects/bys_servers_group.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
dsgrd_servers.cfg是定義主機(jī)的配置文件
bys_servers_group.cfg 是定義主機(jī)組的配置文件
services.cfg 是定義服務(wù)并和主機(jī)組相關(guān)聯(lián)的配置文件
配置通知聯(lián)系人
nagios可以做到故障和故障恢復(fù)通知,這需要配置聯(lián)系人,如果你有139的郵箱,可以免費(fèi)使用139的郵件短信通知,也可以購(gòu)買專業(yè)的sms服務(wù)來(lái)實(shí)現(xiàn)短信通知,這樣通知更及時(shí)
修改聯(lián)系人配置文件
sudo vim /usr/local/nagios/etc/objects/contacts.cfg
修改nagiosadmin的email地址
并按照原來(lái)的添加新的聯(lián)系人
退出并保存
將添加的聯(lián)系人加到聯(lián)系人組
配置主機(jī)配置文件
按照 localhost.cfg配置dsgrd_servers.cfg配置文件
use 是使用在template.cfg文件中的模板,是定義好的,如果其中的內(nèi)容和當(dāng)前的有沖突, 則以當(dāng)前優(yōu)先,如果沒(méi)有,就繼承 use中使用的。
配置主機(jī)組
我們監(jiān)控服務(wù)器是監(jiān)控一組有相同服務(wù)的主機(jī)組,這樣監(jiān)控起來(lái)方便,比如我們監(jiān)控http服務(wù)的web server,我們就把這些服務(wù)器放到一個(gè)主機(jī)組里,然后來(lái)監(jiān)控他們的http服務(wù);如果這些跑著http服務(wù)的server上有運(yùn)行著smtp服務(wù),那么就把這些運(yùn)行smtp服務(wù)的web server和其它的smtp server放到一個(gè)主機(jī)組里去監(jiān)控他們的smtp服務(wù)
sudo vim /usr/local/nagios/etc/objects/bys_server_group.cfg
配置services配置文件
定義好了主機(jī),主機(jī)組,接下來(lái)我們就要定義service,這才是nagios要監(jiān)控的。
要把主機(jī)或主機(jī)組和服務(wù)聯(lián)系起來(lái)
sudo vim /usr/local/nagios/etc/objects/services.msc
use 使用的是template.cfg 文件里定義好的選項(xiàng),直接繼承過(guò)來(lái),如果和當(dāng)前定義的有 沖突則以當(dāng)前優(yōu)先
hostgroup_name是在引用之前定義好的主機(jī)組,如果要引用單個(gè)主機(jī)就使用 host_name
service_description 服務(wù)描述一定要有
check_command 是nagios提供的監(jiān)控命令,是它在實(shí)現(xiàn)監(jiān)控
contact_group 是報(bào)警聯(lián)系人,之前定義好的
重啟Nagios服務(wù)
做完配置后要加載已經(jīng)下當(dāng)前的變更,是指生效;在加載前可以先怕判斷一下配置文件是否有效
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
會(huì)幫助判斷所有的配置文件是否正確,如果有問(wèn)題就會(huì)顯示錯(cuò)誤原因,可以幫助排錯(cuò)。
如果沒(méi)有問(wèn)題,就可以重新加載配置文件了
sudo /etc/init.d/nagios reload
登錄http://localhost/nagios
查看效果以及報(bào)警郵件
因?yàn)閚agios里使用的郵件發(fā)送腳本的位置寫的是 /bin/mail , 而bubuntu11.10 mail腳本的路徑是/usr/bin/mail, 如果不修改的話nagios發(fā)不出報(bào)警郵件來(lái)
有兩種途徑來(lái)修正這個(gè)error:
a. 修改發(fā)送命令里mail的路徑,編輯 /usr/local/nagios/etc/objects/command.cfg
b. 創(chuàng)建一個(gè)軟鏈接 /bin/mail -------> /usr/bin/mail
sudo ln -sv /bin/mail /usr/bin/mail
報(bào)警郵件
故障恢復(fù)郵件
通過(guò)139郵箱的短信通知功能可以將信息發(fā)送到手機(jī)上,節(jié)假日及時(shí)了解服務(wù)器故障狀態(tài)