本章主要用來設置nagios的相關配置文件,從而能實現對linux系統的監控。
在進行監控相關服務的時候,nagios會周期性的調用插件去監測服務器的狀態,nagios自帶的所有插件都放在如下目錄:
在nagios監控本機的時候,直接使用插件進行監測即可;在監控遠程機器的時候,主要通過插件NRPE完成,主要是使用NRPE來完成監控端和被監控端的通信。
1、 配置nagios
在進行監控配置的時候,最好的情況是不使用模板來進行配置,因為在服務器數量過大的情況下,會導致配置太亂,建議使用專門的配置文件來進行配置需要監控的每一台主機。在本例子中,主要需要的配置文件如下所示:
a. 創建hosts.cfg來進行定義主機和主機組
b. 創建services.cfg來進行定義服務
c. 用默認的contacts.cfg來進行定義聯系人和聯系人組
d. 用默認的commands.cfg來進行定義命令
e. 用默認的timeperiods.cfg來進行定義監控時間段
f. 用默認的templates.cfg文件作為資源引用文件
配置文件hosts.cfg用來決定以監控的主機和主機組,如下所示:
在監控主機的配置文件中,主要是定義主機名稱和主機的IP地址,use表示引用,因為在nagios配置的模板中,屬性是可以繼承的,從而大部分的設置可以直接在templates。cfg中進行配置通用的屬性,如果需要自定義的屬性,那么在hosts.cfg中添加單獨的屬性,從而覆蓋掉templates中的屬性。在上圖中,定義了兩個主機,定義了一個主機組,這兩個主機都是遠程的主機。
接下來定義需要監控的服務,配置文件為services.cfg,如下:
在這里僅僅給兩個主機定義了檢查主機是否啟動的服務,在如上的中,use表示應用通用的服務,主機為兩台遠程主機,檢查命令為檢查主機是否存活。
在默認的配置中,nagios的核心文件是沒有包含這兩個配置文件的,從而需要修改nagios的核心文件nagios.cfg,將這倆配置文件添加進去,如下所示:
在需要配置的信息基本配置完畢,在沒有進行配置的那么就是使用nagios默認的配置文件,接下來只要檢查配置文件是否配置正確即可,如下:
如果檢查結果是正確的,那么只要重新啟動nagios即可,如果檢查結果是錯誤的,那么必須檢查配置文件,否則nagios無法啟動,在錯誤信息中,會提示是哪個配置文件,在第幾行出現錯誤,在這里可能出現做大的錯誤是拼寫錯誤,要不然就是在使用use的時候,出現引用錯誤。
重新啟動之后,監控頁面的顯示如下:
可以看到主機已經開始監控了遠程的兩台主機,如果兩台主機是開啟的狀態,那么就會在status中顯示為up,表示主機是正常運行狀態中。
2、 監控遠程linux主機上的本地服務
Nagios只能監控自己的一些本地服務,例如磁盤容量,本地服務等,對於監控遠程的linux主機上的本地服務,必須通過NRPE來進行傳遞消息,通過nagios插件來進行監控,從而在被監控的主機上需要安裝NRPE插件,具體步驟如下:
2.1 在被監控主機上創建用戶

2.2 安裝nagios插件


2.3 安裝NRPE
下載NRPE網址:
http://sourceforge.net/projects/nagios/files/
首先進行編譯:
安裝完成之后,查看文件目錄如下:
接下來安裝xinetd服務:
編輯nrpe腳本:紅色字體為增加部分,增加監控主機的IP地址:
編輯/etc/services文件,增加NRPE服務:
重新啟動,讓nrpe進行工作:
查看NRPE是否正常工作:
查看NRPE監控命令:
3、 監控主機上進行的設置
3.1 安裝nrpe插件




3.2 修改監控命令配置文件
修改commands.cfg,在其中增加對check_nrpe的定義:
這個命令行中的命令書寫格式必須符合check_nrpe的寫法,也是實際運行的插件的程序
3.3 修改監控服務配置文件

從界面上可以看到,界面上的已經開始監控到遠程主機的本地服務。
在本章中,主要實現的是nagios監控遠程linux的主機設置。