centos7安裝nagios步驟

 1、Nagios簡介

Nagios logo

  Nagios是一款開源的電腦系統和網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設置,打印機等。在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或短信通知。php

  Nagios原名爲NetSaint,由Ethan Galstad開發並維護至今。NAGIOS是一個縮寫形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻譯爲聖徒,而"Agios"是"saint"的希臘表示方法。Nagios被開發在Linux下使用,但在Unix下也工做得很是好。linux

主要功能ios

  • 網絡服務監控(SMTP、POP三、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
  • 主機資源監控(CPU load、disk usage、system logs),也包括Windows主機(使用NSClient++ plugin)
  • 能夠指定本身編寫的Plugin經過網絡收集數據來監控任何狀況(溫度、警告……)
  • 能夠經過配置Nagios遠程執行插件遠程執行腳本
  • 遠程監控支持SSH或SSL加通道方式進行監控
  • 簡單的plugin設計容許用戶很容易的開發本身須要的檢查服務,支持不少開發語言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)
  • 包含不少圖形化數據Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
  • 可並行服務檢查
  • 可以定義網絡主機的層次,容許逐級檢查,就是從父主機開始向下檢查
  • 當服務或主機出現問題時發出通告,可經過email, pager, sms 或任意用戶自定義的plugin進行通知
  • 可以自定義事件處理機制從新激活出問題的服務或主機
  • 自動日誌循環
  • 支持冗餘監控
  • 包括Web界面能夠查看當前網絡狀態,通知,問題歷史,日誌文件等

2、Nagios工做原理web

  Nagios的功能是監控服務和主機,但自身並無該功能,全部的監控、檢測功能都是經過插件來完成。sql

  Nagios週期性調用插件檢測服務器狀態,並維持一個隊列,全部插件返回狀態信息都進入隊列,Nagios每次從隊首開始讀取信息,並把狀態經過web顯示。shell

  Nagios提供了許多插件,利用這些插件能夠監控服務狀態。安裝完成後,在nagios主目錄下/libexec放有nagios自帶全部插件,如check_disk檢查磁盤空間插件,check_load檢查CPU負載等等。每個插件可運行./check_xxx –h 查看其使用方法和功能。apache

  Nagios可識別4種狀態返回信息,即ruby

  •   0(OK)表示狀態正常/綠色
  •   1(WARNING)表示出現警告/黃色
  •   2(CRITICAL)表示出現很是嚴重的錯誤/紅色
  •   3(UNKNOWN)表示未知錯誤/深黃色

  Nagios根據插件返回值判斷監控對象狀態,並經過web顯示。服務器

四種監控狀態網絡

2

  Nagios 自身沒有報警代碼,甚至無插件,交給用戶或者其餘相關開源項目組去完成。

  Nagios基本上無依賴包,只要求系統是Linux或者其餘Nagios支持的系統。安裝apache可提供web頁面訪問。

  Nagios如何管理遠端服務器對象?

  Nagios 系統提供了一個插件NRPE。經過週期性運行得到遠端服務器狀態信息。它們之間關係以下:

1

Nagios 經過NRPE 來遠端管理服務

  • 1. Nagios 執行check_nrpe 插件,告訴check_nrpe 去檢測哪些服務。
  • 2. 經過SSL,check_nrpe 鏈接遠端機上的NRPE daemon
  • 3. NRPE 運行本地插件檢測本地服務狀態(check_disk,..etc)
  • 4. NRPE 把檢測結果傳給主機端check_nrpe,check_nrpe 再把結果送到Nagios狀態隊列
  • 5. Nagios 依次讀取隊列信息,並顯示

 

準備工做

本文 從官網獲取Nagios源碼包進行編譯,須要編譯環境,同時 Nagios 的Web界面須要有 Web 服務器和 PHP 運行環境。本文 Web 服務器使用 Apache,用戶也能夠自行選擇使用其餘 Web 服務器,如Nginx等。

如下命令均在root下進行:

yum install httpd php yum install gcc glibc glibc-common unzip yum install gd gd-devel

安裝步驟

1 建立系統用戶

建立 nagios 用戶並設置密碼

/usr/sbin/useradd -m nagios passwd nagios

建立 nagcmd 用戶組,將 nagios 和 apache(web 服務器的運行用戶) 用戶添加至該組

/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios /usr/sbin/usermod -a -G nagcmd apache

2 下載 Nagios 及其插件

能夠前往 https://www.nagios.org 獲取最新的軟件包,這裏以 Nagios 核心 4.2.1,以及插件 2.1.2 爲例:

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.1.tar.gz wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

3 Nagios 核心的編譯與安裝

解壓源碼包

tar -zxvf nagios-4.2.1.tar.gz cd nagios-4.2.1 

編譯配置信息(如下命令切換到目錄.../nagios-4.2.1下執行)

./configure --with-command-group=nagcmd

編譯

make all

安裝 Nagios,並初始化腳本及基礎配置文件

make install make install-init make install-config make install-commandmode

此時先不用啓動 Nagios,安裝步驟還沒有完成

4 自定義配置信息

配置文件在目錄 /usr/local/nagios/etc 下,經過這些基礎配置信息能夠直接啓動 Nagios,如今惟一須要更改的是聯繫人信息,能夠編輯 /usr/local/nagios/etc/objects/contacts.cfg ,將聯繫人郵件地址換成你本身的。

vi /usr/local/nagios/etc/objects/contacts.cfg

5 配置 web 服務器

建立 Apache 的配置文件,配置文件在目錄 /etc/httpd/conf.d/

make install-webconf

爲 Nagios 的 Web 界面建立 nagiosadmin 用戶,並設置密碼。

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

啓動 Apache

systemctl start httpd

6 編譯並安裝 Nagios 插件包

Nagios 實際的監控腳本都是經過插件實現的,本文中的插件包是官方提供插件包(大約50個用於監控的插件),更多的插件能夠去社區下載(https://exchange.nagios.org/),固然也能夠本身編寫插件。

解壓插件包

tar -zxvf nagios-plugins-2.1.2.tar.gz cd nagios-plugins-2.1.2 

編譯並安裝(如下命令切換到nagios-plugins-2.1.2目錄下執行)

./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install

7 啓動 Nagios 核心

將 Nagios 核心加入自動啓動列表

chkconfig --add nagios chkconfig nagios on

檢查 Nagios 基礎配置文件(在以後修改過配置文件後,均可以用下邊的方式進行檢查)

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

切換目錄到安裝路徑(這裏是/usr/local/nagios),看是否存在etc、bin、sbin、share、var 這五個目錄,若是存在則能夠代表程序被正確的安裝到系統了。Nagios 各個目錄用途說明以下:

 

bin Nagios 可執行程序所在目錄
etc Nagios 配置文件所在目錄
sbin Nagios CGI 文件所在目錄,也就是執行外部命令所需文件所在的目錄
share Nagios網頁文件所在的目錄
libexec Nagios 外部插件所在目錄
var Nagios 日誌文件、lock 等文件所在的目錄
var/archives Nagios 日誌自動歸檔目錄
var/rw 用來存放外部命令文件的目錄

 

若是沒有錯誤,就能夠直接啓動 Nagios

systemctl start nagios

查看nagios是否啓動

systemctl status nagios

 

8 SELinux 設置

首先查詢SElinux狀態:

sestatus

A.若是此時狀態是enforcing,會致使訪問 Nagios CGIs 時出現 Internal Server Error 的錯誤。

爲避免這個錯誤能夠:

a)在SELinux配置文件/etc/selinux/config中disabled SELinux,重啓系統;

b)臨時將其設置爲 Permissive 模式,但僅本次開機有效,下次啓動依然是enforce:

setenforce 0

 

B.若是不想關閉 SELinux 或者將其設置爲 Permissive ,即在 enforcing/targeted 模式下可使用以下命令進行設置

chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ chcon -R -t httpd_sys_content_t /usr/local/nagios/share/


9 登陸 Web 界面查看

訪問 http://localhost/nagios,經過 nagiosadmin 用戶及剛纔設置的密碼登陸。

點擊左側目錄中的 Service,能夠查看當前監控的服務。

這裏寫圖片描述

10 其餘配置

至此,Nagios 的基礎安裝就結束了。這裏還要補充說明的一下,服務器的防火牆須要容許 apache 80 端口的訪問,能夠經過以下命令設置防火牆,容許 80 端口的訪問。

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

 

若是不能訪問網頁nagios,採起直接關閉防火牆:

systemctl status firewalld.service     

systemctl stop firewalld.service

 

注意此時還沒法發送郵件

參考http://blog.csdn.net/firstar521/article/details/52848393

相關文章
相關標籤/搜索