最近一段時間在研究Nagios監控系統,而後網上搜索查看不少的資料,借鑑與各位大蝦的經驗,整理記錄一下本身安裝記錄。php
Nagios 全名爲(Nagios Ain’t Goona Insist on Saintood),最初項目名字是 NetSaint。它是一款免費的開源 IT 基礎設施監控系統,其功能強大,靈活性強,能有效監控 Windows 、Linux、VMware 和 Unix 主機狀態,交換機、路由器等網絡設置等。一旦主機或服務狀態出現異常時,會發出郵件或短信報警第一時間通知 IT 運營人員,在狀態恢復後發出正常的郵件或短信通知。Nagios 結構簡單,可維護性強,愈來愈受中小企業青睞,以及運維和管理人員的使用。同時提供一個可選的基於瀏覽器的 Web 界面,方便管理人員查看系統的運行狀態,網絡狀態、服務狀態、日誌信息,以及其餘異常現象.
html
Nagios 結構說明linux
Nagios 結構上來講, 可分爲核心和插件兩個部分。Nagios 的核心部分只提供了不多的監控功能,所以要搭建一個完善的 IT 監控管理系統,用戶還須要在 Nagios 服務器安裝相應的插件,插件能夠從 Nagios 官方網站下載 http://www.nagios.org/,也能夠根據實際要求本身編寫所需的插件。
ios
Nagios 可實現的功能特性c++
Nagios 監控實現原理web
Nagios 軟件需安裝在一臺獨立的服務器上運行,這臺服務器稱爲監控中心,監控中心服務器能夠採用 Linux 或 Unix 操做系統;每一臺被監視的硬件主機或服務都運行一個與監控中心服務器進行通訊的 Nagios 軟件後臺程序,也能夠理解爲 Agent 或插件都可。監控中心服務器讀取配置文件中的指令與遠程的守護程序進行通訊,而且指示遠程的守護程序進行必要的檢查。雖然 Nagios 軟件必須在 Linux 或 Unix 操做系統上運行,可是遠程被監控的機器能夠是任何可以與其進行通訊的主機,根據遠程主機返回的應答,Naigos 將依據配置進行迴應;接着 Nagios 將經過本地的機器進行測試,若是檢測返回值不正確,Nagios 將經過一種或多種方式報警;具體原理以下圖所示:apache
Nagios 安裝vim
# wget ftp://rpmfind.net/linux/dag/redhat/el7/en/x86_64/dag/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt # rpm -Uvh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
#yum install gd libjpeg-devel gd-devel perl* openssl-devel gcc gcc-c++ httpd php
[root@Learn ~]# groupadd -g 6000 nagios [root@Learn ~]# groupadd -g 6001 nagcmd [root@Learn ~]# useradd -u 6000 -g nagios -G nagcmd -d /home/nagios nagios
[root@Learn opt]# mkdir /usr/local/nagios [root@Learn opt]# tar zxvf nagios-4.0.8.tar.gz [root@Learn opt]# cd nagios-4.0.8 [root@Learn nagios-4.0.8]# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagcmd
[root@Learn nagios-4.0.8]# make all [root@Learn nagios-4.0.8]# make install [root@Learn nagios-4.0.8]# make install-init [root@Learn nagios-4.0.8]# make install-commandmode [root@Learn nagios-4.0.8]# make install-config [root@Learn nagios-4.0.8]# make install-webconf
[root@Learn nagios-4.0.8]# vim /etc/httpd/conf/httpd.conf
DirectoryIndex index.html index.html.var
改成:
DirectoryIndex index.html index.php
再添加一行:
AddType application/x-httpd-php .php
以上兩處主要用於增長 php 格式的支持。瀏覽器
同時爲了安全,須要通過受權才能訪問 Nagios 的 Web 監控界面,因此須要在配置文件/etc/httpd/conf/httpd.conf 或 /etc/httpd/conf.d/nagios.conf 增長訪問控制配置,若定義在 httpd.conf 文件中,將下圖的語句加入到 httpd.conf 文件最後面便可.安全
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.user //用於此目錄訪問身份驗證的文件 Require valid-user </Directory> Alias /nagios /usr/local/nagios/share <Directory "/usr/local/nagios/share"> Options None AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.user //用於此目錄訪問身份驗證的文件 Require valid-user </Directory>
[root@Learn nagios-4.0.8]# htpasswd -c /usr/local/nagios/etc/htpasswd.user nagiosadmin //Enter以後,輸入設置一個密碼
[root@Learn ~]# chown nagios.nagcmd /usr/local/nagios/etc/htpasswd.user [root@Learn ~]# usermod -a -G nagios,nagcmd apache [root@Learn ~]# /etc/init.d/httpd restart
安裝 Nagios 插件
Naigos 提供的各類監控功能基本上是經過插件來完成的,而 Nagios 的核心指提供了不多的功能,所以安裝插件是很是有必要的。Nagios 官網提供了不少不一樣版塊的插件應用,同時插件版本與 Nagios 版本也沒有什麼關聯,若是支持漢化功能,則須要找到與之匹配的漢化軟件包,不然會致使部分功能不能完成運行,這裏保持默認英文,以下面的安裝細節:
[root@Learn opt]# tar zxvf nagios-plugins-2.0.3.tar.gz [root@Learn opt]# cd nagios-plugins-2.0.3 [root@Learn nagios-plugins-2.0.3]# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagcmd [root@Learn nagios-plugins-2.0.3]# make all [root@Learn nagios-plugins-2.0.3]# make install
[root@Learn nagios-plugins-2.0.3]# chmod 755 /usr/local/nagios
這樣 Nagios 的插件就安裝完成了,經過查看 Nagios 主程序目錄,/usr/local/nagios/linexec 目錄下能夠看到不少的外部插件執行文件,以下圖:
[root@Learn ~]# /etc/init.d/httpd restart [root@Learn ~]# /etc/init.d/nagios restart [root@Learn ~]# chkconfig nagios on [root@Learn ~]# chkconfig httpd on
[root@Learn ~]# setenforce 0 //臨時關閉 //或者修改/etc/selinux/config文件,將 SELINUX=enforcing 改成 SELINUX=disabled 重啓機器OK
[root@Learn ~]# /etc/init.d/iptables stop //關閉iptables 或 [root@Learn ~]# service iptables stop [root@Learn ~]# chkconfig iptables off //永久關閉,重啓生效.
Nagios 監控平臺訪問
經過瀏覽器,在地址欄輸入: http://IPAddress/nagios, 輸入用戶名及密碼便可訪問 Naigos 登陸界面。