現場(環境):CentOS 7.4 套件Nagios
Step 1. 安裝相關使用、編譯套件等前置作業
# yum install wget httpd php glibc glibc-common gd gd-devel make net-snmp unzip openssl-devel gcc
新增Nagios使用帳號
#useradd nagios -p nagios
#usermod -a -G nagios apache
Step 2. 下載Nagios主程式
連結到官網,找Nagios主程式
點選Download
拉到頁尾。可以下載。
可以填寫資料註冊,要點選下方skip to download也可以。
目前提供的有兩個版本。
最新版是nagios-4.3.4 (2017) / 前一版是nagios-4.2.4(2016)
雖然最新版已經推出快一年,但習慣上還是會先抓前一版。
避免有BUG發生。
有了連結後。我們就可以抓取Nagios Core回來安裝
Step 3. nagios 4.2.4 安裝
解壓縮
#tar -zxvf nagios-4.2.4.tar.gz
#cd nagios-4.2.4
開始進行編譯&安裝
#./configure
#make all
#make install
#make install-init
#make install-config
#make install-commandmode
#make install-webconf
基本上後面的make指令幾乎都是修改設定值。
另外在參考網址內有提到3D MAP的功能被拿掉(statuswrl CGI)
也能夠重新下載Cortona3D跟修正設定檔的方式拉回來。
這邊就先不說明。
Step 4. 安裝Nagios Plugin
主要的Script&監控伺服器的規則都寫在這邊。
建議要安裝。不然你監控起來會很麻煩。
Nagios Plugin 前置套件
#yum install epel-release
#yum install perl-Net-SNMP
#yum install openssl-devel radiusclient-ng-devel libdbi libdbi-devel samba-devel libsmbclient-devel samba-client net-snmp-devel net-snmp-utils gnutls-devel openldap-devel postgresql-devel
接著一樣連上官網下載Nagios-plugins
如果擔心版本太新。也可以直接抓舊的版本
wget https://nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz
解壓縮
#tar -zxvf nagios-plugins-2.1.4.tar.gz
#cd nagios-plugins-2.1.4
編譯&安裝
#./configure
#make && make install
安裝完成的檔案會存放在 /usr/local/nagios/libexec
Step 5. 設定登入Nagios WEB端帳號
建立 htpasswd.users檔案,變創建登入帳號
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios
修改帳號登入的設定檔
# vim /usr/local/nagios/etc/cgi.cfg
預設是nagiosadmin,這邊修改成我們上面更改的nagios
這邊設定檔內有nagiosadmin的地方都要修改
(這邊是先舉出哪種的要修改,實際上要修改的地方蠻多的)
重啟伺服器Nagios & httpd伺服器。
# systemctl restart nagios
# systemctl restart httpd
之後就可以透過瀏覽器連線上去。
http://[Nagios IP]/nagios
輸入剛剛透過htpasswd建立的帳號密碼。就可以登入了。
看到Host的地方,
如果剛剛cgi.cfg內設定檔沒有把所有nagiosadmin都改成nagios帳號。
就會出現下面沒有權限看資料的狀況。
這個時候就直接把檔案內關於nagiosadmin帳號的值都直接替換吧
#sed -i “s/nagiosadmin/nagios/” /usr/local/nagios/etc/cgi.cfg
#systemctl restart nagios
如果帳號都有修改好。表示權限都會是正常的。
會像下圖一樣正常出現畫面。
接著是設定的部份
我們先在要監控的主機上安裝NRPE (TCP-5666 Port)
這個套件很好用,可以讓我們透過遠端叫被監控端執行指令回收資訊。
當然用的好。也可以用於遠端重啟服務上面。
被監控端以CentOS 7做範例
先下載NRPE套件
網址: https://github.com/NagiosEnterprises/nrpe
# git clone https://github.com/NagiosEnterprises/nrpe.git
# cd nrpe/
編譯並安裝
#./configure
輸入make可以看到。可以安裝什麼東西
#make all
進行安裝
# make install-groups-users
# make install
# make install-plugin
這個動作是把plugin內相關指令帶到/usr/local/nagios/libexec
# make install-daemon
#make install-config
將相關設定範本設定安裝到/usr/local/nagios/etc
#make install-inetd
檢視你的inetd類型。並將他安裝於適當位置
#make install-init
確認適合的init類型,並安裝啟動腳本
接著可以透過systemctl啟動nrpe服務。
#systemctl start nrpe
確認一下服務是否有啟動 (TCP -5666)
檢查一下現在nrpe是不是有正確運作
#/usr/local/nagios/libexec/check_nrpe -H localhost
要確認別台主機的狀況只要將-H 後面的IP 更換就好。
關於Server & Client的串接。下一篇再繼續說。
因為安裝NRPE通常是要讓Server端做連結。
所以我們要開放外部連線
原本只開放 127.0.0.1 (localhost) 。我們加上Nagios Server & IP
設定完後重啟nrpe服務
#systemctl restrat nrpe
到這邊基本設定完成,後續如果有要有特殊查詢指令
例如讓服務重啟、要主機運行什麼監測,
都要加在/usr/local/nagios/libexec/ 這個路徑下。
這邊先準備安裝Web端管理介面(NConf)。
參考網址內有詳細的作法,
也有提到這個必須安全的網路環境中開啟比較好。
#yum install mariadb-server perl-DBI perl-DBD-MySQL php-mysql -y
#systemctl enable mariadb
#systemctl start mariadb
設定資料庫連線
#mysql_secure_installation
用Linux 指令餵mysql指令到資料庫中。
(也可以登進資料庫做啦 ,-e後面帶的就是資料庫語法)
# mysql -u root -p -e "create database Nconf;"
# mysql -u root -p -e "grant all privileges on NConf.* to nconf@localhost identified by "nconf";"
# mysql -u root -p -e “flush privileges;”
更新權限
資料庫這邊才安裝的原因,是因為Nagios預設是將檔案儲存在裝置中,
而不是存在資料庫中,若是要儲存再資料庫中需要靠其他方法設定(NDoUtils)。
設定PHP.ini
# vim /etc/php.ini
將 Off 更改為 On
接著再添加兩行
=!==
short_open_tag = On (修改)
register_globals = Off (新增)
magic_quotes_gpc = Off (新增)
==!=
下載NConf安裝包
下載網址:https://sourceforge.net/projects/nconf/files/nconf/1.3.0-0/
# tar -zxvf nconf-1.3.0-0.tgz
# mv nconf /usr/local/nagios/share/
# chown apache:apache -R /usr/local/nagios/share/nconf
下面兩個是SElinux的相關設定。可依需求設定
# chcon -t usr_t -R /usr/local/nagios/share/nconf
# chcon -t httpd_sys_rw_content_t /usr/local/nagios/share/nconf/config
接著重啟Apache 服務就可以開始WEB端安裝
#systemctl restart httpd
接著透過瀏覽器連接到安裝頁面
http://[Nagios IP位址]/nagios/nconf/INSTALL.php
依照Step 進行相關操作
確認版本是否支援
資料庫連線
依照剛剛在Mariadb那邊建立的資料做填寫。
按下Next後會確認。都OK就可以下一步
這邊要確認各安裝路徑
這邊要依安裝檔狀況調整
是否要驗證登入
Summary
這邊確認都沒有問題就可以按下Finish
再來因為我們的安裝&更新的檔案都還在Web目錄下。
所以現在要續將他移除掉,不然就出現這個Error畫面。
# cd /usr/local/nagios/share/nconf/
# rm -rf INSTALL INSTALL.php UPDATE UPDATE.php
然後重整瀏覽器頁面
就可以看到登入頁面,預設帳號為admin,密碼則是剛剛輸入的。
接著就可以用WBE進行設定
關於安裝部份的操作先介紹到這邊。
<本篇完>
參考網址:
http://bigpxuan.blogspot.tw/2016/12/centos-7-nagios-4.html