您好,登錄后才能下訂單哦!
Nagios監控系統
nagios監控系統
前言:Nagios是一款開源的免費網絡監視工具,可以監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設備,在系統或服務狀態異常時發出郵件或短信報警,第一時間通知網站運維人員。流量監控不是他的強項,流量監控建議使用cacti(可以繪制非常直觀的圖形。
總結一下nagios主要可以監控以下方面:
l 主機是否宕機(通過ping命令,如果ping不通會認為主機屬于宕機狀態,但不影響所監控的其他服務)
l 服務器資源(cpu使用率、硬盤剩余空間等)
l 網絡服務(smtp\pop3\http\)
l 監控網絡設備(路由器、交換機等)
一、需要了解的知識點
1、nagios工作原理
Nagios本身不包括監控主機和服務的功能。所有的監控、監測功能都是通過各種插件來完成的。安裝完nagios之后,在nagios主目錄下的/libexex里面放有nagios自帶的插件,如:check_disk是檢查磁盤空間的插件,check_load是檢查cpu負載的插件,每一個插件可以通過運行./check_xxx -h命令來檢查其使用方法和功能。
2、nagios的四種監控狀態
Nagios可以識別四種狀態返回信息。0(OK)表示狀態正常(綠色顯示),1(WARNING)表示出現警告(×××),2(CRITICAL)表示出現非常嚴重錯誤(紅色),3(UNKNOWN)表示未知錯誤(深×××),nagios根據插件返回來的值來判斷監控對象的狀態,并通過web顯示出來,以供管理員即時發現故障。
3、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依次讀取隊列中的信息,再把結果顯示出來。
二、實驗環境
1、實驗拓撲
2、虛擬機上的實驗環境
三、實驗步驟
1、搭建nagios監控系統
1)關閉防火墻
2)創建nagios用戶和用戶組
3)編譯安裝nagios(需要提前配置yum)
安裝支持包:
配置:
編譯和安裝:
注意:安裝install-webconf是為了生成配置文件,后面在/etc/httpd/conf/httpd.conf最后添加的信息就不用手工打了,可以到/etc/httpd/conf.d/nagios.conf文件中復制。
以上命令的解釋:
make install //安裝主程序,CGI和HTML文件
make install-init //在/etc/rc.d/init.d安裝啟動腳本
make install-commandmode //配置目錄權限
make install-config //安裝示例配置文件
make install-webconf //安裝nagios的web接口,會在/etc/httpd/conf.d目錄中創建nagios.conf文件。
安裝完成之后會在/usr/local/nagios目錄下產生6個目錄,下面分別解釋一下。
bin:nagios執行程序所在的目錄,nagios文件即為主程序。
etc:nagios配置文件目錄,當make install-config完以后etc下面就會出現默認的配置文件。
sbin:nagios CGI文件所在目錄,這里存放的是一些外部命令執行程序。
share:nagios網頁文件目錄,存放一些html文件。
var:nagios日志文件、pid等文件目錄。
Libexec:系統默認插件的存儲位置
4)添加為系統服務器
5)安裝nagios插件(監控功能通過插件完成)
編譯并安裝:
6)安裝nrpe(為了監控遠程服務器)
7)在/etc/httpd/conf/httpd.conf文件最后添加授權,我們可以到/etc/httpd/conf.d/nagios.conf文件中復制,不用手打。
使用:r導入即可(定位到文檔的最后)
導入即可,不用修改,保存退出。
8)執行htpasswd命令添加一個訪問nagios頁面的授權用戶
用戶名和密碼都是nagiosadmin
9)啟動nagios和httpd
10)在瀏覽器上訪問nagios頁面
目前只能是打開網頁,很多的監控選項不能看到,如果需要監控遠程的服務器,還需要做很多配置,下面開始配置。
2、配置nagios監控系統涉及知識點
1)nagios的配置文件:
Nagios.cfg:主配置文件,定義各種配置文件的名稱和位置
Cgi.cfg:控制CGI的配置文件
Resource.cfg:資源文件,定義各種變量,以便于其他文件調用
Objects:其他配置文件存放目錄,此目錄下主要有:
Command.cfg:命令配置文件,定義各種命令格式,以備其他文件調用
contacts.cfg:聯系人和組,發郵件等告警信息時可以調用
localhost.cfg:監控本機的配置文件
timeperiods.cfg:定義監控時間的配置文件,便于其他文件調用
Hostgroups.cfg:定義監控的主機(組),需手動創建。
2)配置文件之間的關系
在nagios的配置過程中涉及的幾個定義有主機、主機組、服務、服務組、聯系人、聯系人組、監控時間和監控命令等。從這些定義可以看出,nagios各個配置文件之間互為關聯、彼此引用的。成功配置出一臺nagios監控系統,必須要弄清楚每個配置文件之間依賴與被依賴的關系,最重要的有四點
n 定義監控那些主機,主機組,服務和服務組
n 定義這個監控要用什么命令實現
n 定義監控的時間段
n 定義主機或服務器出現問題時要通知的聯系人和聯系人祖
3)配置nagios
為了能更清楚的說明問題,同時也為了維護方便,建議將nagios各個定義的對象創建獨立的配置文件。
n 創建conf目錄來定義host主機
n 創建hostgroups.cfg文件來定義主機組
n 用默認的contacts.cfg文件來定義聯系人和聯系人組
n 用默認的commands.cfg文件來定義命令
n 用默認的timeperiods.cfg來定義監控時間段
n 用默認的templetes.cfg文件作為資源引用文件
3、配置nagios
1)修改/usr/local/nagios/etc/nagios.cgf主配置文件
2)修改/usr/local/nagios/etc/objects/commands.cfg
添加如下內容(定義check_nrpe監控命令)
3)修改/usr/local/nagios/etc/objects/contacts.cfg(定義監控服務器聯系人)
4)新建/usr/local/nagios/etc/objects/hostgroups.cfg(定義主機組)
5)在/usr/local/nagios/etc/conf下面新建192.168.1.20.cfg文件(用于監控192.168.1.20的主機存活,負載,進程)(所有內容需要手工輸入)
未完接下圖:
命令解釋:
define host{
use linux-server //定義使用的模板
host_name nagios //被監控主機的名稱,最好別帶空格
alias nagios //別名
address 127.0.0.1 //被監控主機的IP地址
check_command check-host-alive
normal_check_interval 3 //正常檢測間隔時間
retry_check_interval 2 //重試檢測間隔時間
//監控的命令check-host-alive,這個命令來自commands.cfg,用來監控主機是否存活
max_check_attempts 5 //檢查失敗后重試的次數
check_period 24x7 //檢查的時間段24x7,同樣來自timeperiods.cfg中定義
notification_interval 10 //提醒的間隔,每隔10秒提醒一次
notification_period 24x7 //提醒的周期, 24x7,同樣來自timeperiods.cfg中定義
contact_groups admins //聯系人組,上面在contactgroups.cfg中定義的admins
notification_options d,u,r //指定什么情況下提醒
}
當服務出現w-報警(warning),u-未知(unkown),c-嚴重(critical),或者r-從異常情況恢復正常,在這四種情況下通知聯系人
當主機出現d-當機(down),u-返回不可達(unreachable),r-從異常情況恢復正常,在這3種情況下通知聯系人
6)重啟nagios服務
7)發現錯誤,提示沒有添加聯系人組,解決方法:在
/usr/local/nagios/etc/objects/contacts.cfg文件的最后添加代碼,如下圖:
8)重啟nagios服務器成功
9)訪問網頁查看狀態
(注意:關閉selinux或者開例外)
或者:
如果你開啟了selinux 需要配置如下二步:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
點擊上圖中的localhost,可以查看本機的狀態
4、配置被控端192.168.1.20(mysql和web)
1)安裝nagios插件
yum -y install openssl openssl-devel
useradd nagios -s /sbin/nologin
tar zxf nagios-plugins-1.5.tar.gz
cd nagios-plugins-1.5
./configure --prefix=/usr/local/nagios
make && make install
chown -R nagios:nagios /usr/local/nagios
tar zxf nrpe-2.15.tar.gz
cd nrpe-2.15
./configure --prefix=/usr/local/nagios
make all && make install-plugin && make install-daemon
make install-daemon-config
2)安裝完成之后,需要打開vim /usr/local/nagios/etc/nrpe.cfg
添加nagios服務器的地址
3)啟動nrpe
4)在nagios服務器上測試nrpe運行是否正常,出現下面的信息說明正確。
5)在瀏覽器上訪問
5、補充
也可在services.cfg文件中添加192.168.1.20.cgf文件中的參數
#vi /usr/local/nagios/etc/objects/services.cfg
內容如下:
check_local_users!20!50 //監測遠程主機當前的登錄用戶數量,如果大于20用戶則報warning,如果大于50則報critical
check_local_disk!20%!10%!/ //如果可用空間低于20%會報Warning,如果可用空間低于10%則報Critical:
check_local_procs!250!400!RSZDT //監測遠程主機當前的進程總數,如果大于250進程則報warning,如果大于400進程則報critical,S(休眠)、R(運行)、Z(僵死)、D (不可中斷)、T (停止)
check_load -w 5,4,3 -c 10,6,4這個命令的意義如下
當1分鐘多于5個進程等待,5分鐘多于4個,15分鐘多于3個則為warning狀態
當1分鐘多于10個進程等待,5分鐘多于6個,15分鐘多于4個則為critical狀態
服務組并不是必須的,這是配合nagios的監控頁面的顯示
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。