下載nagios的相關安裝包
將下載的包放到該目錄下
cd /usr/local/src
wget http://downloads.sourceforge.net/project/nagios/nagios-3.x/nagios-3.5.0/nagios-3.5.0.tar.gz
wget http://nagios-plugins.org/download/nagios-plugins-1.4.16.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
監控端的安裝
- 創建Nagios用戶及組
建立Nagios賬號
/usr/sbin/useradd -m -s /sbin/nologin nagios 創建一個名爲nagcmd的用戶組,用於從web接口執行外部命令。將Nagios用戶和Nginx用戶加入組中。
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd nobody
PS:我這裏Nginx所屬組是nobody。不知道的可以查看配置文件/usr/local/nginx/conf/nginx.conf第一行的user。也可以使用命令ps axu|grep nginx查看進程。
編譯安裝Nagios
tar zxvf nagios-3.5.0.tar.gz
cd nagios
./configure --prefix=/usr/local/install/nagios --with-group=nagios --with-user=nagios --with-command-group=nagcmd --with-gd-lib=/usr/lib --with-gd-inc=/usr/include
make all
make install
make install-init
make install-config
make install-commandmode
PS:
make install 用於安裝主要的程序、CGI及HTML文件
make install-init 用於生成init啓動腳本
make install-config 用於安裝示例配置文件
make install-commandmode 用於設置相應的目錄權限
修改/usr/local/install/nagios/etc/objects/contacts.cfg
更改nagiosadmin 的聯繫人定義信息中的 Email 信息爲你的 Email 以接收報警內容。
PS:
bin–Nagios執行程序所在目錄,其中的nagios文件即爲主程序。
etc–Nagios配置文件位置
sbin–Nagioscgi文件所在目錄,也就是執行外部命令所需文件所在的目錄
Share–Nagios網頁文件所在的目錄
var–Nagios日誌文件、spid 等文件所在的目錄
var/archives–日誌歸檔目錄
var/rw–用來存放外部命令文件
- 編譯並安裝Nagios插件
由於Nagios主程序只是提供一個運行框架,其具體監控是靠運行在其下的插件完成的,所以Nagios插件是必須安裝的。
cd /usr/local/src
tar zxvf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --prefix=/usr/local/install/nagios --with-nagios-user=nagios --with-nagios-group=nagcmd
make &&make install
這裏make &&make install可能會出這種錯誤
按提示說的找到刪除stdio.in.h文件,可以使用find命令查找。然後刪除提示說的 _GL_WARN_ON_USE (gets, “gets is a security hole - use fgets instead”)這一行。可使用命令sed -i ‘/gets is a security/d‘ gl/stdio.in.h刪除
驗證Nagios插件是否正確安裝
ls /usr/local/install/nagios/libexec #顯示安裝的插件文件
配置Apache配置文件:/usr/local/apache2.4/conf/httpd.conf
將user和group改爲nagios
增加代碼段:
ScriptAlias /nagios/cgi-bin "/usr/local/install/nagios/sbin"
<Directory "/usr/local/install/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
# Require valid-user
</Directory>
Alias /nagios "/usr/local/install/nagios/share"
<Directory "/usr/local/install/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
# Require valid-user
</Directory>
檢查nagios配置文件有沒有問題
/usr/local/install/nagios/bin/nagios -v /usr/local/install/nagios/etc/nagios.cfg
重啓Apache和nagios
/usr/local/apache2.4/bin/apachectl restart
service nagios start
打開頁面遇到的問題:、
1. 頁面出現亂碼
在Apache的配置文件中httpd.conf,把這兩個註釋去掉