nagios的安裝配置
一、安裝前的準備工作
1.1 解決安裝nagios的依賴關係
# yum groupinstall -y "Development Tools" 安裝開發包
# yum -y install httpd gd gd-devel php mysql-devel 安裝nagios需要的環境,但不是必須的。
1.2 添加nagios運行所需要的用戶和組
#groupadd nagcmd
#useradd –G nagcmd nagios
#passwd nagios
#usermod –G nagcmd apache 把apache加入到nagcmd組
1.3 配置apache與php結合
# vim /etc/httpd/conf/httpd.conf
DirectoryIndex index.html index.html.var index.php 這一行添加index.php
# vim /var/www/html/index.php 編輯測試頁面
<?php
phpinfo();
?>
啓動httpd
# service httpd start
在瀏覽器輸入你的IP出現下面圖片,則說明apache和php結合成功
二、編譯安裝nagios
所有需要的軟件包都放在 /usr/local/src下
#cd /usr/local/src
# tar zxf nagios-3.3.1.tar.gz
# cd nagios-3.3.1
# ./configure --with-command-group=nagcmd
# make all
# make install
# make install-init
/usr/bin/install -c -m 755 -d -o root -g root /etc/rc.d/init.d
/usr/bin/install -c -m 755 -o root -g root daemon-init /etc/rc.d/init.d/nagios
*** Init script installed ***安裝啓動腳本 可以用service 控制nagios服務
# make install-commandmode 安裝外部命令
# make install-config 生成配置文件 /usr/local/nagios/etc
Nagios的默認安裝路徑是 /var/local/nagios/*
bin etc include libexec sbin share var
/bin : nagios的主程序 執行程序 /etc :nagios 的配置文件
/include : 頭文件的所在目錄 /libexec : 安裝插件產生的命令
/sbin: cgi 文件所在目錄 /share 網頁文件所在目錄
/var 日誌文件 鎖文件等目錄
爲email指定您想用來接收nagios警告信息的郵件地址,默認是本機的nagios用戶:
# vi /usr/local/nagios/etc/objects/contacts.cfg
email nagios@localhost #這個是默認設置 根據自己的情況修改
在httpd的配置文件目錄(conf.d)中創建Nagios的Web程序配置文件:
# make install-webconf
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf
*** Nagios/Apache conf file installed ***
創建一個登錄nagios web程序的用戶,這個用戶帳號在以後通過web登錄nagios認證時所用:
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
以上過程配置結束以後需要重啓httpd:
# service httpd restart
三、編譯安裝nagios-plugins
Nagis的所有工作都是通過插件完成的,因此,在啓動nagios前先安裝插件
# tar zxf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins-1.4.15
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install
四、配置並啓動nagios
(1)把nagios添加爲系統服務並將之加入到自動啓動服務隊列:
# chkconfig --add nagios
# chkconfig nagios on
(2)檢查其主配置文件的語法是否正確
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
出現這樣的信息 說明配置文件沒有錯誤 可以啓動
如果有錯誤,可以根據上面的提示修改,哪裏出錯誤了提示很詳細的。很容易就可以找出錯誤。
我們也可以爲上面的檢測命令添加別名,這樣會很方便
#alias check=’ /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg’
(3)如果上面的語法檢查沒有問題,接下來就可以正式啓動nagios服務了:
# service nagios start
(4)配置selinux
如果您的系統開啓了selinux服務,則默認爲拒絕nagios web cgi程序的運行。您可以通過下面的命令來檢查您的系統是否開啓了selinux:
#getenforce
#setenforce 0 關閉selinux
# /etc/rc.d/init.d/iptables stop 關閉iptables
(5)通過Web界面查看nagios
輸入用戶名密碼
這就是nagios的主頁面 很醜陋的 默認已經監控本機,並監控本機的負載均衡,當前用戶等8個服務。
五、NDOUtils的安裝與設置
Ndoutils 主要用來將nagios的配置信息和event產生的數據存入數據庫以方便實現數據的快速檢索和處理。因此要先安裝mysql,mysql-server,php-mysql
# yum -y install php-mysql mysql mysql-server
(1)編譯安裝
# tar zxf ndoutils-1.4b9.tar.gz
# cd ndoutils-1.4b9
#./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include --with-mysql-lib=/usr/ lib
#make
# cp ./src/ndomod-3x.o /usr/local/nagios/bin
# cp ./src/ndo2db-3x /usr/local/nagios/bin
# cp ./src/log2ndo /usr/local/nagios/bin
# cp ./src/file2sock /usr/local/nagios/bin
# chown nagios:nagios /usr/local/nagios/bin/*
# cp ./config/ndo* /usr/local/nagios/etc/ 複製配置文件
# chown nagios:nagios /usr/local/nagios/etc/*
(2).爲NDOUtils創建數據庫
1.3.1 # service mysqld start 第一次啓動mysql,要進行初始化
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK
。。。。。。。。。。。 中間部分省略
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ] 啓動成功
1.3.2 授權用戶
# mysql 進入mysql
mysql> create database ndodb; 創建nagios需要的數據庫
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON ndodb.* TO ndouser@localhost IDENTIFIED BY '123456'; 給ndouser 用戶授權 密碼爲“123456”
mysql> flush privileges;
mysql> \q
1.3.3 生成ndoutils所需要的數據庫
# cd db
# ./installdb -undouser -p123456 -hlocalhost -d ndodb
數據庫初始化成功,也可以連到mysql數據庫裏面,此時ndodb庫中已經有59張表。
(3).編輯配置文件
# mv /usr/local/nagios/etc/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
# vi /usr/local/nagios/etc/ndo2db.cfg
socket_type=tcp //**line 33
db_servertype=mysql //**line 78
db_host=localhost //**line 86 鏈接的數據庫 這裏是本機
db_port=3306 //**line 95 鏈接端口
db_name=ndodb 數據庫的名字
db_prefix=nagios_ //**line 111
db_user=ndouser //** line 121 用戶名(就是數據庫那邊授權的用戶 )
db_pass=123456 //**line 122 密碼
# mv /usr/local/nagios/etc/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
#vim/usr/local/nagios/etc/ndomod.cfg
output_type=tcpsocket //** line 26
output=127.0.0.1 //**line 39
# vi /usr/local/nagios/etc/nagios.cfg
# 複製下面內容粘貼到#broker_module=...下面。
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
此外,請確保您的/usr/local/nagios/etc/nagios.cfg中有如下行出現,否則,請自行添加:
event_broker_options=-1 //爲Nagios開啓event broker
(4)啓動ndo2db
# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
# echo '/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg' >> /etc/rc.local 開機自動啓動
(5)重啓動nagios
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 檢查配置文件
# service nagios restart
六、檢測安裝結果
#tail -20 /usr/local/nagios/var/nagios.log
確保日誌中出現此三行 ,第一行是和mysql的數據連接正常,第二行是ndomod模塊加載成功,
第三行是nagios程序啓動正常PID是31836
到此,nagios基本安裝成功。