freebsd 上的nagios配置
freebsd 上的nagios配置的過程還是比較簡單的,來和我學習下!
相信大多數(shù)運維人員知道。服務器出了問題后很久才知道,是非常不好的事的,有什么辦法能夠監(jiān)控到服務器問題,并及時通知你呢
下面介紹一款大家耳熟能詳?shù)能浖agios。
Nagios是運行在unix/linux平臺的監(jiān)控運行程序和應用程序的一款開源軟件。可以監(jiān)控你所指定的服務,并在你的指定時間內(nèi)通知你
先介紹點nagios的特點吧
Nagios主要由兩個部分構(gòu)成的,nagios的主程序和nagios的插件。Nagios的主程序只要是一個平臺,本身沒有什么監(jiān)控的功能,監(jiān)控功能是由nagios插件來完成的。
要監(jiān)測其他服務器的信息需要安裝nrpe這個代理程序,他的工作流程是,他們之間的數(shù)據(jù)傳輸是通過ssl通道的
下面介紹下它的主要的功能
監(jiān)控網(wǎng)絡服務——http,pop3,smtp,ping等
監(jiān)控主機資源——負載,磁盤情況(這個需要安裝nrpe)
以郵件或者短信的形式告知你服務器問題,當然還有web界面
需要的包nagios-vesion(主程序),nagios-plugins-vesion(插件),nrpe-vesion(代理檢測程序),這些包你可以上官網(wǎng)上或者這個網(wǎng)上找,我的意見是不要去下載一寫個人上傳的資源
Nagios是要安裝在有php環(huán)境下的,因為nagios是基于php開發(fā)的
#p#
下面開始安裝
1.安裝主程序之前,首先你要先建立nagios用戶
# groupadd nagios
# useradd -g nagios nagios
# mkdir /usr/local/nagios
# chown -R nagios.nagios (我用的組也是nagios把web服務器的用戶加進去,你也可以指定成web服務器的組,因為要寫東西進去)
cd /nagios-vesion/
./configure –prefix=/usr/local/nagios with-command-group=nagios –with-nagios-user=nagios
make all
make install ##安裝主程序,CGI和HTML文件
make install-init ##生成init啟動腳本
make install-config ##生成一些模板配置文件
make install-commandmode ##設置相應的權(quán)限
make install-webconf ##生成Apache配置文件nagios.conf
驗證是否安裝成功在nagios下有以下目錄的。var/archives
/var/rw
var
share
sbin
etc
bin
2.安裝成功的話就安裝nagios插件吧
cd nagios-plugins-vesion
./configure –prefix=/usr/local/nagios/
make
make install
查看naigios下是不是多了個libexec文件夾?下面有些插件check_*
如果沒有的話需要用下面的命令把插件復制過來
修改apache的配置,使自己能通過web平臺查看服務器狀態(tài),可以加點驗證用戶的
vi /usr/local/apache2/conf/httpd.conf
ScriptAlias /nagios/cgi-bin /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
Require valid-user
Alias /nagios /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
Require valid-user
/usr/local/nagios/etc/htpasswd這個文件是驗證用戶的文件隨便用什么名字
用/usr/local/sbin/htpasswd生成
/usr/local/sbin/htpasswd –c /usr/local/nagios/etc/htpasswd user ##user是用戶名然后輸入密碼。-c參數(shù)是第一次加用戶的時候使用的。意思是創(chuàng)建
好了,現(xiàn)在一些基本的東西都已經(jīng)安裝完畢了
#p#
可以測試下了輸入http://127.0.0.1/nagios,輸入用戶密碼就可以了。可以看到一些基本的頁面。
接下來要配置一些泥要監(jiān)控的東西了,首先介紹下各個配置文件的作用。
你的配置文件都是在etc/nagios.cfg上定義的
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/contactgroups.cfg
這個可能和linux的配置文檔的定義有稍許不同,但這個沒什么關(guān)系的
commands.cfg是定義你以后要用到的命令的文件
contacts.cfg是定義聯(lián)系人的文件,里面的名字可以隨便取,但郵箱或者手機號要寫正確
timeperiods.cfg是定義時間段的,不過它里面定義的大都符合要求的
templates.cfg這個是定義一些服務或者主機的模板文件,如果寫不出可以參考這里
services.cfg 定義你要監(jiān)控的服務,在主機上定義了主機名,然后再服務上應用你在hostscfg上定義的主機名
hosts.cfg定義你要監(jiān)控的主機
contactgroups.cfg聯(lián)系人組,可以定義多個聯(lián)系人在一起,方便管理
這些配置文件熟悉之后就配置幾個全局的配置文件吧
nagios.cfg文件中
command_check_interval 說實話我看了很多資料,這個到底是什么意思還不太清楚,可能和services.cfg上的normal_check_interval有點關(guān)系,現(xiàn)在我的理解是command_check_interval是全局定義的檢查時間,services.cfg上的是定義單個的,兩者沖突已具體的為準
cgi.cfg
use_authentication=1 我看過很過資料,有些有錯誤的時候都賴在用戶認證上,我覺得這個一定要配置為需要用戶認證,不然的話難道你搭建個nagios給別人看?
authorized_for_all_services=user
authorized_for_all_hosts=user
authorized_for_system_commands=user
這些用戶就是你之前在htpasswd上定義的用戶名了
通過文章的詳細的描述,我們都能掌握了freebsd 上的nagios配置,學會的朋友快跟朋友分享吧!
【編輯推薦】
- nagios分布式配置
- RHEL安裝nagios
- Nagios :擴展提示信息發(fā)送方式(smtp, msn, fetion)
- nagios 安裝過程
- 啟動nagios服務
- 如何編寫 Nagios 插件
- 配置 新的Nagios