歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

教你在Ubuntu 11.10中搭建和配置Nagios

我們都知道Nagios是一個監視系統運行狀態和網絡信息的監視系統。Nagios能監視所指定的本地或遠程主機以及服務,同時提供異常通知功能等。Nagios可運行在Linux/Unix平台之上,同時提供一個可選的基於浏覽器的WEB界面以方便系統管理人員查看網絡狀態,各種系統問題,以及日志等等。

Nagios的主要功能特點:

- 監視網絡服務 (SMTP, POP3, HTTP, NNTP, PING等)

- 監視主機資源 (進程, 磁盤等)

- 簡單的插件設計可以輕松擴展Nagios的監視功能

- 服務等監視的並發處理

- 錯誤通知功能 (通過email, pager, 或其他用戶自定義方法)

- 可指定自定義的事件處理控制器

- 可選的基於浏覽器的WEB界面以方便系統管理人員查看網絡狀態,各種系統問題,以及日志等等

- 可以通過手機查看系統監控信息

今天我們就主要介紹如何在Unbuntu下安裝安裝Nagios,具體見下:

安裝ubuntu 11.10 Desktop 32bit

安裝 apache2、php5、openssl、libssl-dev、gcc編譯器與開發庫、gd開發庫、php、php-apache、php相關的插件

可以用apt-get命令來安裝這些軟件包,鍵入命令:

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 (這個可能在安裝php5的時候就已經安裝,如果安裝就 不需要安裝啦)

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

如果默認沒有安裝vim編輯器,先安裝vim,因為默認的vi編輯器在ubuntu裡相當的惡心

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

啟動apache服務

sudo /etc/init.d/apache2 start

使用chkconfig工具設為隨機自啟動,如果沒有安裝chkconfig則先安裝chkconfig

sudo apt-get install chkconfig

sudo update-rc.d apache2 defaults

sudo chkconfig apache2 on

測試php是否解析正常

在shell裡切換到/var/www目錄下

cd /var/www

清空裡面的文件

rm -rf *

新建測試頁面

vim index.php

<?php

phpinfo();

?>

退出並保存

打開浏覽器測試:

http://localhost

是否正常顯示php的信息

安裝Nagios

創建nagios 用戶和 nagios命令組

sudo useradd -s /bin/false nagios

sudo groupadd nagcmd

將 nagios帳號和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

進入到解壓的目錄

cd nagios

編譯安裝nagios

sudo ./configure --prefix=/usr/local/nagios –with-command-group=nagcmd

結束之後,執行 echo $? 查看返回值,如果是0說明沒有問題,可以進行下一步,如果是 非0說明沒有成功,需找原因重新執行

因為3.3.1版本在configure完成以configure後執行下一步安裝的時候有點兒問題,所以 得修改一下 生成的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

創建一個nagiosadmin的用戶用於nagios的web接口

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

回車後會提示你輸入密碼並確認密碼

編譯安裝Nagios插件

再次回到/usr/local/src目錄

cd /usr/local/src

解壓 nagios-plugins-HEAD.tar.gz

sudo tar zxvf nagios-plugins-HEAD.tar.gz

進入到解壓後的目錄

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 (非必須步驟)

不應用nrpe的nagios工作流程

使用nrpe的nagios工作流程

需要在服務器端和被監控端安裝

回到 /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 服務(一般沒有安裝)

sudo dpkg -L xinetd

 

如果返回 ”未曾安裝軟件包 xinetd“ 的提示,就需要安裝 xinetd服務

sudo apt-get install xinetd

將xinetd添加到啟動級別中

sudo update-rc.d xinetd defaults

設為隨機自啟動

sudo chkconfig xinetd on

編輯 /etc/services配置文件,添加nrpe的服務端口

sudo vim /etc/services

在尾行添加如下配置

nrpe 5666/tcp # NRPE Service Port

如果是被監控端,還需要編輯 /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服務是否正常

sudo netstat -at | grep nrpe

如果返回“tcp 0 0 *:nrpe *:* LISTEN”,說明服務正常

啟動服務

更改/usr/local/nagios目錄的屬主和屬組

suduo chown -R nagios.nagcmd /usr/local/nagios

將nagios添加到啟動級別中

sudo update-rc.d nagios defaults

設為隨機自啟動

sudo chkconfig nagios on

啟動nagios服務

sudo /etc/init.d/nagios start

重啟 apache2服務

sudo /etc/init.d/apache2 restart

登錄 http://localhost/nagios 查看頁面是否正常

配置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是定義主機的配置文件

bys_servers_group.cfg 是定義主機組的配置文件

services.cfg 是定義服務並和主機組相關聯的配置文件

配置通知聯系人

nagios可以做到故障和故障恢復通知,這需要配置聯系人,如果你有139的郵箱,可以免費使用139的郵件短信通知,也可以購買專業的sms服務來實現短信通知,這樣通知更及時

修改聯系人配置文件

sudo vim /usr/local/nagios/etc/objects/contacts.cfg

修改nagiosadmin的email地址

並按照原來的添加新的聯系人

退出並保存

將添加的聯系人加到聯系人組

配置主機配置文件

按照 localhost.cfg配置dsgrd_servers.cfg配置文件

use 是使用在template.cfg文件中的模板,是定義好的,如果其中的內容和當前的有沖突, 則以當前優先,如果沒有,就繼承 use中使用的。

配置主機組

我們監控服務器是監控一組有相同服務的主機組,這樣監控起來方便,比如我們監控http服務的web server,我們就把這些服務器放到一個主機組裡,然後來監控他們的http服務;如果這些跑著http服務的server上有運行著smtp服務,那麼就把這些運行smtp服務的web server和其它的smtp server放到一個主機組裡去監控他們的smtp服務

sudo vim /usr/local/nagios/etc/objects/bys_server_group.cfg

配置services配置文件

定義好了主機,主機組,接下來我們就要定義service,這才是nagios要監控的。

要把主機或主機組和服務聯系起來

sudo vim /usr/local/nagios/etc/objects/services.msc

use 使用的是template.cfg 文件裡定義好的選項,直接繼承過來,如果和當前定義的有 沖突則以當前優先

hostgroup_name是在引用之前定義好的主機組,如果要引用單個主機就使用 host_name

service_description 服務描述一定要有

check_command 是nagios提供的監控命令,是它在實現監控

contact_group 是報警聯系人,之前定義好的

重啟Nagios服務

做完配置後要加載已經下當前的變更,是指生效;在加載前可以先怕判斷一下配置文件是否有效

sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

會幫助判斷所有的配置文件是否正確,如果有問題就會顯示錯誤原因,可以幫助排錯。

如果沒有問題,就可以重新加載配置文件了

sudo /etc/init.d/nagios reload

登錄http://localhost/nagios

查看效果以及報警郵件

因為nagios裡使用的郵件發送腳本的位置寫的是 /bin/mail , 而bubuntu11.10 mail腳本的路徑是/usr/bin/mail, 如果不修改的話nagios發不出報警郵件來

有兩種途徑來修正這個error:

a. 修改發送命令裡mail的路徑,編輯 /usr/local/nagios/etc/objects/command.cfg

b. 創建一個軟鏈接 /bin/mail -------> /usr/bin/mail

sudo ln -sv /bin/mail /usr/bin/mail

報警郵件

故障恢復郵件

通過139郵箱的短信通知功能可以將信息發送到手機上,節假日及時了解服務器故障狀態

本文出自 “高文龍” 博客,請務必保留此出處http://gaowenlong.blog.51cto.com/451336/1323268

Copyright © Linux教程網 All Rights Reserved