Nagios 監控系統架設全攻略(一)

最近一段時間在研究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++

  • 監控網絡服務(SMTP、POP三、HTTP、FTP、PING 等);
  • 監控本機及遠程主機資源(CPU 負荷、磁盤利用率、進程 等);
  • 容許用戶編寫本身的插件來監控特定的服務,方便地擴展本身服務的檢測方法,支持多種開發語言(Shell、Perl、Python、PHP 等)
  • 具有定義網絡分層結構的能力,用"parent"主機定義來表達網絡主機間的關係,這種關係可被用來發現和明晰主機宕機或不可達狀態;
  • 當服務或主機問題產生與解決時將告警發送給聯繫人(經過 EMail、短信、用戶定義方式);
  • 能夠支持並實現對主機的冗餘監控;
  • 可用 WEB 界面用於查看當前的網絡狀態、通知和故障歷史、日誌文件等;


Nagios 監控實現原理web

Nagios 軟件需安裝在一臺獨立的服務器上運行,這臺服務器稱爲監控中心,監控中心服務器能夠採用 Linux 或 Unix 操做系統;每一臺被監視的硬件主機或服務都運行一個與監控中心服務器進行通訊的 Nagios 軟件後臺程序,也能夠理解爲 Agent 或插件都可。監控中心服務器讀取配置文件中的指令與遠程的守護程序進行通訊,而且指示遠程的守護程序進行必要的檢查。雖然 Nagios 軟件必須在 Linux 或 Unix 操做系統上運行,可是遠程被監控的機器能夠是任何可以與其進行通訊的主機,根據遠程主機返回的應答,Naigos 將依據配置進行迴應;接着 Nagios 將經過本地的機器進行測試,若是檢測返回值不正確,Nagios 將經過一種或多種方式報警;具體原理以下圖所示:apache

圖 1. Nagios 監控原理圖

Nagios 監控原理圖


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
  • 編譯安裝 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
  • Apache 配置
[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 目錄下能夠看到不少的外部插件執行文件,以下圖:

 

  • Nagios 與 Apache 服務啓動與設定
[root@Learn ~]# /etc/init.d/httpd restart
[root@Learn ~]# /etc/init.d/nagios restart
[root@Learn ~]# chkconfig nagios on
[root@Learn ~]# chkconfig httpd on
  • 禁用 Selinux 和 iptables
[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 登陸界面。

相關文章
相關標籤/搜索