您好,登錄后才能下訂單哦!
步驟:1.nagios的介紹
2.安裝服務(wù)端
3.安裝客戶端
4.服務(wù)端添加監(jiān)控的主機(jī)
5.郵箱預(yù)警
nagios的介紹
Nagios是一款開源的免費(fèi)網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等。在系統(tǒng)或服務(wù)狀態(tài)異常時發(fā)出郵件或短信報警第一時間通知網(wǎng)站運(yùn)維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知。
Nagios 可以監(jiān)控的功能有: 1、監(jiān)控網(wǎng)絡(luò)服務(wù)(SMTP、POP3、HTTP、NNTP、PING等); 2、監(jiān)控主機(jī)資源(處理器負(fù)荷、磁盤利用率等);
3、簡單地插件設(shè)計使得用戶可以方便地擴(kuò)展自己服務(wù)的檢測方法;
4、并行服務(wù)檢查機(jī)制;
5、具備定義網(wǎng)絡(luò)分層結(jié)構(gòu)的能力,用"parent"主機(jī)定義來表達(dá)網(wǎng)絡(luò)主機(jī)間的關(guān)系,這種關(guān)系可被用來發(fā)現(xiàn)和明晰主機(jī)宕機(jī)或不可達(dá)狀態(tài);
6、當(dāng)服務(wù)或主機(jī)問題產(chǎn)生與解決時將告警發(fā)送給聯(lián)系人(通過EMail、短信、用戶定義方式);
7、具備定義事件句柄功能,它可以在主機(jī)或服務(wù)的事件發(fā)生時獲取更多問題定位;
8、自動的日志回滾;
9、可以支持并實現(xiàn)對主機(jī)的冗余監(jiān)控;
10、可選的WEB界面用于查看當(dāng)前的網(wǎng)絡(luò)狀態(tài)、通知和故障歷史、日志文件等;
nagios:監(jiān)控服務(wù),只告訴你有哪些服務(wù)不正常
服務(wù)端操作(192.168.0.25)
1.Centos6默認(rèn)的yum源里沒有nagios相關(guān)的rpm包,但是我們可以安裝一個epel的擴(kuò)展源:
安裝epel源
wget www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm
rpm -ivh epel-release-6-8_32.noarch.rpm
yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe
2.設(shè)置登錄nagios后臺的用戶和密碼:
htpasswd -c /etc/nagios/passwd nagiosadmin
password:123456
3.查看配置文件
vim /etc/nagios/nagios.cfg
nagios -v /etc/nagios/nagios.cfg 檢測配置文件
Total Warnings: 0
Total Errors: 0
4.啟動服務(wù):service httpd start; service nagios start
5.谷歌瀏覽器訪問: http://192.168.0.25/nagios
services 介紹
客戶端的操作(192.168.0.5)
1.安裝epel源
wget www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm
rpm -ivh epel-release-6-8_32.noarch.rpm
yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe
2.修改配置文件
vim /etc/nagios/nrpe.cfg
找到“allowed_hosts=127.0.0.1” 改為 “allowed_hosts=127.0.0.1,192.168.0.25” 后面的ip為服務(wù)端ip;
找到” dont_blame_nrpe=0” 改為 “dont_blame_nrpe=1”
啟動客戶端 /etc/init.d/nrpe start
服務(wù)端操作監(jiān)控中心(192.168.0.25)添加被監(jiān)控主機(jī)(192.168.0.5)
1.新建監(jiān)控的參數(shù)
cd /etc/nagios/conf.d/
vim 192.168.0.5.cfg (被監(jiān)控的主機(jī))
添加內(nèi)容
define host{
use linux-server ; Name of host template to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name 192.168.0.5
alias 0.5
address 192.168.0.5
}
define service{
use generic-service
host_name 192.168.0.5
service_description check_ping
check_command check_ping!100.0,20%!200.0,50%
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.0.5
service_description check_ssh
check_command check_ssh
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.0.5
service_description check_http
check_command check_http
max_check_attempts 5
normal_check_interval 1
}
配置文件的簡單說明
我們定義的配置文件中一共監(jiān)控了三個service:ssh, ping, http 這三個項目是使用本地的nagios工具去連接遠(yuǎn)程機(jī)器,也就是說即使客戶端沒有安裝nagios-plugins以及nrpe也是可以監(jiān)控到的。其他的一些service諸如負(fù)載、磁盤使用等是需要服務(wù)端通過nrpe去連接到遠(yuǎn)程主機(jī)獲得信息,所以需要遠(yuǎn)程主機(jī)安裝nrpe服務(wù)以及相應(yīng)的執(zhí)行腳本(nagios-plugins)
max_check_attempts 5 #當(dāng)nagios檢測到問題時,一共嘗試檢測5次都有問題才會告警,如果該數(shù)值為1,那么檢測到問題立即告警
normal_check_interval 1#重新檢測的時間間隔,單位是分鐘,默認(rèn)是3分鐘
notification_interval 60 #在服務(wù)出現(xiàn)異常后,故障一直沒有解決,nagios再次對使用者發(fā)出通知的時間。單位是分鐘。如果你認(rèn)為,所有的事件只需要一次通知就夠了,可以把這里的選項設(shè)為0。
2.檢測是否有錯
nagios -v /etc/nagios/nagios.cfg
3.重啟服務(wù)
service nagios restart
打開瀏覽器查看nagios的Hosts 和services
nagios 中check_http 拒絕連接 錯誤解決辦法
客戶端啟動服務(wù)即可
/etc/init.d/nginx start
添加服務(wù)
服務(wù)端操作
1.修改配置文件
vim /etc/nagios/objects/commands.cfg
增加:define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
如何查看check_load文件
客戶端打開配置文件 vi /etc/nagios/nrpe.cfg
沒有hda1 把/dev/hda1修改為/dev/sda1
在添加一行
2.服務(wù)端繼續(xù)編輯
vim /etc/nagios/conf.d/192.168.0.5.cfg
增加如下內(nèi)容:
define service{
use generic-service
host_name 192.168.0.5
service_description check_load
check_command check_nrpe!check_load
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.0.5
service_description check_disk_sda1
3.服務(wù)端重新啟動服務(wù)
service nagios restart
客戶端編輯
check_nrpe!check_load :這里的check_nrpe就是在commands.cfg剛剛定義的,check_load是遠(yuǎn)程主機(jī)上的一個檢測腳本
在遠(yuǎn)程主機(jī)上vim /etc/nagios/nrpe.cfg 搜索check_load,這行就是在服務(wù)端上要執(zhí)行的腳本了,我們可以手動執(zhí)行這個腳本
把check_hda1更改一下:/dev/hda1 改為 /dev/sda1
再加一行command[check_hda2]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda2
#主服務(wù)器上的 service_description check_disk_hda2
#改為 service_description check_disk_sda2
客戶端上重啟一下nrpe服務(wù): service nrpe restart
服務(wù)端也重啟一下nagios服務(wù): service nagios restart
服務(wù)端查看日志
tail /var/log/nagios/nagios.log
配置圖形顯示 pnp4nagios
(1)安裝
yum install pnp4nagios rrdtool
(2)配置主配置文件
vim /etc/nagios/nagios.cfg //修改如下配置
process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata
enable_environment_macros=1
(3)修改commands.cfg
vim /etc/nagios/objects/commands.cfg
//注釋掉原有對process-host-perfdata和process-service-perfdata,重新定義
define command {
command_name process-service-perfdata
command_line /usr/bin/perl /usr/libexec/pnp4nagios/process_perfdata.pl
}
define command {
command_name process-host-perfdata
command_line /usr/bin/perl /usr/libexec/pnp4nagios/process_perfdata.pl -d HOSTPERFDATA
}
(4)修改配置文件templates.cfg
vim /etc/nagios/objects/templates.cfg
define host {
name hosts-pnp
register 0
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
process_perf_data 1
}
define service {
name srv-pnp
register 0
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
process_perf_data 1
}
(5)修改host和service配置
vim /etc/nagios/conf.d/192.168.0.25.cfg
把 “define host{ define service{ } (6) 重啟和啟動各個服務(wù): service npcd start (7) 訪問測試 ip/pnp4nagios/ 配置郵件告警 1.修改參數(shù) vim /etc/nagios/objects/contacts.cfg 先定義組和用戶 添加一些內(nèi)容 define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin } #group的作用是用來區(qū)分不同的用戶 define contact{ contact_name 123 use generic-contact alias lz email lizheng103@163.com } define contact{ contact_name 456 use generic-contact alias aaa email lizheng520mj@163.com } define contactgroup{ #定義的組名,里面包含的用戶 contactgroup_name common alias common members 123,456 } 想要哪個服務(wù)報警,就需要添加一行代碼 打開 vim /etc/nagios/conf.d/192.168.0.19.cfg 如果需要給load做警告, 需要告警的服務(wù)里面加上contactgroup define service{ use generic-service host_name 192.168.0.19 service_description check_load check_command check_nrpe!check_load max_check_attempts 5 normal_check_interval 1 contact_groups common #需要添加的代碼 notification_period 24*7 notification_options c,r } 10. 幾個重要參數(shù)說明 notification_options: 這個參數(shù)定義了發(fā)送提醒包括的情況:d = 狀態(tài)為DOWN, u = 狀態(tài)為UNREACHABLE , r = 狀態(tài)恢復(fù)為OK , f = flapping。,n=不發(fā)送提醒。 |
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。