nagios監控報警一般搭建過程及常見問題
l Nagios是什麼
l Nagios安裝步驟
l Nagios-plugins插件安裝步驟
l Nagios安裝完成後啓動
l Nagios web訪問
l 常見問題
l 參考資料
Nagios是什麼
上個星期,自己搭建了下nagios服務器,這裏記錄下我自己的方法心得,給新手一個指導。
Nagios是什麼呢?
官網是這樣定義的:
Nagios is a host/service/network monitoring program written in C and released under the GNU General Public License, version 2. CGI programs are included to allow you to view the current status, history, etc via
a web interface if you so desire.
翻譯過來是這樣:
Nagios是一個C編寫的程序,用來監控主機/服務/網絡,並且是GNU 2.0通用公共許可證下發布, CGI程序包括允許您查看當前的狀態,歷史記錄等通過一個Web界面,如果你願意的話。
官網所說的功能:
* Monitoring of network services (via SMTP, POP3, HTTP, PING, etc).
監控網服務
* Monitoring of host resources (processor load, disk usage, etc.).
監控主機資源
* A plugin interface to allow for user-developed service monitoring methods.
提供一個接口,可以用於用戶自定義服務監控
* Ability to define network host hierarchy using "parent" hosts, allowing detection of and distinction between hosts that are down and those that are unreachable.
可以通過定義parent主機層來檢測網絡無法到達的主機是否在線
* Notifications when problems occur and get resolved (via email, pager, or user-defined method).
通知出現的問題故障可以通過郵件或用戶自定義方法
* Ability to define event handlers for proactive problem resolution.
可以定義事件處理程序來主動解決問題
* Automatic log file rotation/archiving.
自動日誌文件循環/歸檔。
* Optional web interface for viewing current network status, notification and problem history, log file, etc.
可選的Web界面來查看當前網絡狀態,通知和問題歷史,日誌文件,等等。
Nagios安裝步驟
下載地址:http://nchc.dl.sourceforge.net/project/nagios/nagios-4.x/nagios-4.1.1/nagios-4.1.1.tar.gz
安裝lamp,安裝方法可以再看我的博客,這裏就不做說明了。
1.安裝依賴包
yum install gcc glibc glibc-common
yum install gd gd-devel unzip
2.添加用戶nagios,並將apache加入nagios組,爲後面通過WEB訪問做準備
useradd -M -s /sbin/nologin nagios && usermod -a -G nagios apache
3.建立安裝目錄/usr/local/nagios.並改變目錄用戶和組權限爲nagios
mkdir /usr/local/nagios && chown -R nagios:nagios /usr/local/nagios
4.編譯nagios
tar -zxvf nagios-4.1.1.tar.gz && cd nagios-4.1.1
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagios --with-httpd-conf=/usr/local/apache2/conf.d
(注意:我的環境apache是源碼安裝在/usr/localapache2目錄,所能用了--with-httpd-conf)
編譯完成時當看到如下幾行文字時,說明編譯成功。
5.編譯安裝nagios
make all && make install && make install-init && make install-config && make install-commandmode
(說明: make install 安裝主要程序,CGI,和HTML文件 。
make install-init 安裝init script 到 /etc/rc.d/init.d 。
make install-config 安裝 *SAMPLE* 事例配置文件到 /usr/local/nagios/etc目錄 。
make install-commandmode 安裝配置一些外部命令 。
make install-exfoliation 安裝 Exfoliation 主題 。
make install-classicui 安裝經典主題 。 )
細心留意我們會發現,其實在第4步編譯完成時,nagios給了我們安裝的提示如圖
6. 配置web訪問
(非必須,沒有apache,nagios照樣工作,配置文件默認會安裝在apache的conf.d目錄 )
make install-webconf
在apache的conf.d目錄下多了一個nagios.conf文件,查看發現 AuthUserFile /usr/local/nagios/etc/htpasswd.users 文件。
以上面發現的文件 創建一個nagios的web訪問是的認賬號 yourname,並設密碼。
htpasswd -c /usr/local/nagios/etc/htpasswd.users yourname
通過上面命令雖然web訪問已經開啓了認證,但nagios配置文件cgi.cfg並不知道,所以增加yourname權限到cgi.cfg 。
sed -i 's/nagiosadmin/nagiosadmin\,yourname/g' /usr/local/nagios/etc/cgi.cfg
(注意:記住這個帳號和你輸入的密碼,web訪問時用於認證)
Nagios-plugins插件安裝步驟
下載地址:http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
插件可以理解爲nagios爲監控某個服務功能,開發的小程序或python、shell腳本(用戶可以自己開發)。
安裝 nagios-plugins比較簡單
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
make && make install
檢查是否安裝成功nagios-plugins插件,只要看/usr/local/nagios/libexec/ 目錄是否有以check開頭的文件。
Nagios安裝完成後啓動:
1. 關閉SELINUX或者增加權限
setenforce 0
或者增加權限:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
2 . 啓動nagios服務。
啓動前先驗證下nagios配置文件的是否正確:/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
沒有錯誤就可以啓動nagios了。
設爲開機啓動方法:chkconfig --add nagios && chkconfig nagios on
立刻啓動方法:service httpd restart
Nagios web訪問:
http訪問:http://nagios服務器ip地址/nagios
這時由於沒有對nagios配置文件做任何修改,只有localhost如下圖
常見問題
源碼安裝apache時,#LoadModule cgid_module modules/mod_cgid.so是註釋掉的沒有啓用。
當nagios通過http訪問時會出現 no running
查看nagios日誌也是正常:
Sep 29 15:00:32 lab05 nagios: Nagios 4.1.1 starting... (PID=2574)
Sep 29 15:00:32 lab05 nagios: Local time is Tue Sep 29 15:00:32 CST 2015
Sep 29 15:00:32 lab05 nagios: LOG VERSION: 2.0
Sep 29 15:00:32 lab05 nagios: qh: Socket '/usr/local/nagios/var/rw/nagios.qh' successfully initialized
Sep 29 15:00:32 lab05 nagios: qh: core query handler registered
Sep 29 15:00:32 lab05 nagios: nerd: Channel hostchecks registered successfully
Sep 29 15:00:32 lab05 nagios: nerd: Channel servicechecks registered successfully
Sep 29 15:00:32 lab05 nagios: nerd: Channel opathchecks registered successfully
Sep 29 15:00:32 lab05 nagios: nerd: Fully initialized and ready to rock!
Sep 29 15:00:32 lab05 nagios: wproc: Successfully registered manager as @wproc with query handler
Sep 29 15:00:32 lab05 nagios: wproc: Registry request: name=Core Worker 2579;pid=2579
Sep 29 15:00:32 lab05 nagios: wproc: Registry request: name=Core Worker 2578;pid=2578
Sep 29 15:00:32 lab05 nagios: wproc: Registry request: name=Core Worker 2577;pid=2577
Sep 29 15:00:32 lab05 nagios: wproc: Registry request: name=Core Worker 2576;pid=2576
Sep 29 15:00:32 lab05 nagios: Successfully launched command file worker with pid 2580
編輯/uar/local/apache2/conf/httpd.conf 去掉 #LoadModule cgid_module modules/mod_cgid.so 的#號
再次重啓apache 再次訪問正常。
本文是 巧妙絕情 一個字一個圖打出來,參考了好多資料,感謝他們的分享,基於open source分享精神,轉載請註明出出。
支持我,請點擊 巧妙絕情 謝謝
參考資料:
Nagios定義和功能:https://www.nagios.org/about
Nagios、nagios-plugins安裝步驟:安裝指南:
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/quickstart-fedora.html
http://nagios.sourceforge.net/docs/nagioscore/4/en/quickstart.html