溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

nagios監(jiān)控之(監(jiān)控配置)

發(fā)布時間:2020-09-24 16:36:37 來源:網(wǎng)絡(luò) 閱讀:798 作者:SGS0635 欄目:移動開發(fā)

打開上一章:nagios監(jiān)控之(運(yùn)行環(huán)境搭建)

PS: 上一張已經(jīng)把nagios的基本環(huán)境搭建完成,并能成功瀏覽nagios頁面

現(xiàn)在講下nagios配置文件

配置文件 放在nagios/etc下面

cgi.cfg                   控制CGI訪問的配置文件

nagios.cfg              nagios主配置文件

resource.cfg           變量定義文件,這個一般不做修改。

/etc/objects/            這是存放配置文件模板的目錄,定義 要監(jiān)控的對象和相關(guān)信息的配置文件

objects/commands.cfg      定義監(jiān)控某個功能所使用的命令的配置文件。

objects/contacts.cfg          定義常用聯(lián)系人和聯(lián)系組的配置文件

objects/localhost.cfg          定義本地主機(jī)的配置文件

objects/templates.cfg          定義主機(jī)和服務(wù)的一個模板

objects/timeperiods.cfg       定義監(jiān)控時間段的配置文件

還有printer.cfg    switch.cfg    windows.cfg   這幾個默認(rèn)不啟動的配置文件,不做介紹了。

等了解了naigos  的配置文件之間的關(guān)系,自己就可以隨意添加項要監(jiān)控的內(nèi)容了。

配置文件之間的關(guān)系 

nagios 這些配置文件 之間存在很多相互引用,因為相互引用這樣,使得nagios 的管理更加方便,但是 對于 剛剛接觸nagios的朋友來說,反而顯得 關(guān)系很混亂,但是只要把關(guān)系弄清楚,就算是熟練掌握了nagios了

配置nagios

(1)templates.cfg文件

define contact{

 name generic-contact             定義聯(lián)系人名稱

service_notification_period 24

#定義出現(xiàn)服務(wù)異常時,發(fā)送通知的時間段,24在timeperiods.cfg定義的,這24參數(shù)也算引用

host_notification_period 24  

#定義出現(xiàn)主機(jī)異常時,發(fā)送通知的時間段,24在timeperiods.cfg定義的

service_notification_options w,u,c,r

#定義通知可以被發(fā)錯的情況,w表示警告warn,u表示不明unknown

#c表示緊急criticle,r表示恢復(fù)recover

host_notification_options d,u,r

#d:宕機(jī)   u:不可到達(dá)狀態(tài)   r:恢復(fù)狀態(tài)

service_notification_commands notify-service-by-email

#服務(wù)故障時,通過email方式進(jìn)行通知,notify-service-by-email 在commands.cfg中定義的

host_notification_commands notify-host-by-email

#主機(jī)故障時,通過email方式進(jìn)行通知,notify-host-by-email在commands.cfg中定義的

register 0
}

define host{

name generic-host   定義主機(jī)模板的名稱,不是電腦的主機(jī)名,只針對這個define host模板

notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1   開啟數(shù)據(jù)傳輸功能,后面將用到
retain_status_information 1
retain_nonstatus_information 1
notification_period 24
register 0
}

define host{

name linux-server   定義這個主機(jī)模板的名稱,每個模板 里面的屬性不一樣,不要鬧混了。

use generic-host     引用generic-host這個主機(jī)的屬性,到當(dāng)前主機(jī)當(dāng)中,use表示引用

check_period 24     表示檢查主機(jī)的時間段

check_interval 5       表示檢查主機(jī)的時間間隔 這里是5分鐘

retry_interval 1          第一次檢查失敗時,重試檢查間隔 這里是1分鐘

max_check_attempts 10  主機(jī)出現(xiàn)異常時,會嘗試10次檢查,再最后判斷是否真正的出現(xiàn)異常

check_command check-host-alive   指定檢查主機(jī)狀態(tài)的命令,在commands.cfg中定義的

notification_period 24    主機(jī)故障時,發(fā)送通知的時間范圍,在timeperiods.cfg中定義的

notification_interval 120  表示異常后,間隔120分鐘進(jìn)行第二次通知,若為0 表示只進(jìn)行1次通知

notification_options d,u,r 定義 主機(jī)在什么狀態(tài)下會發(fā)送通知d:宕機(jī) u:不可到達(dá) r:恢復(fù)狀態(tài)

contact_groups admins  指定聯(lián)系人組 這個admin 在contacts.cfg文件中定義的

register 0
}

define service{

name generic-service  定義一個服務(wù)的名稱

active_checks_enabled  1
passive_checks_enabled  1
parallelize_check  1
obsess_over_service  1
check_freshness   0
notifications_enabled  1
event_handler_enabled  1
flap_detection_enabled  1
failure_prediction_enabled 1
process_perf_data  1
retain_status_information 1
retain_nonstatus_information 1
is_volatile   0
check_period   24
max_check_attempts  3   指定了nagios對服務(wù)的最大檢查次數(shù)
normal_check_interval  10  設(shè)置服務(wù)檢查時間間隔
retry_check_interval  2     重試檢查時間間隔,這里是2分鐘
contact_groups   admins   指定聯(lián)系人組
notification_options  w,u,c,r
notification_interval  60
notification_period  24
register   0

define service{
 name   local-service
 use   generic-service
 max_check_attempts 2
 normal_check_interval 5
 retry_check_interval 1
 register  0
 }

(2)resource.cfg  定義nagios的變量文件  文件內(nèi)容 只用到了一行                     

$USER1$=/usr/local/nagios/libexec

不用解釋相信大家也明白這句意思了。         

(3)commands.cfg

 以chkec_ping 為例:

 define command{

 command_name    check_ping

 command_line        $USER1$/check_ping -H $HOSTADDRESS$ -W $ARG1$ -C $ARG2$ -P 5

 }

 nagios服務(wù)運(yùn)行后 就會檢查ping 如果能ping通 代表機(jī)器運(yùn)行正常,僅此而已

 里面有很多命令 ,把自己不需要的注釋掉,自定義項添加的 可以根據(jù)里面的格式自己編輯

 (4)host.cfg文件,次文件默認(rèn)不存在,需要自己創(chuàng)建。里面是被監(jiān)控主機(jī)的屬性。

define host{

use linux-server    引用linux-server的屬性到當(dāng)前主機(jī)里

host_name web    定義被監(jiān)控的主機(jī)名

alias  yanzhe-web  主機(jī)別名 nagios瀏覽器顯示的就是主機(jī)別名

address  192.168.1.101   被監(jiān)控的主機(jī)IP地址,也可以是域名

}

define host{

use linux-server

host_name mysql

alias  yanzhe-mysql

address  192.168.1.102

}

define hostgroup{                      定義一個主機(jī)組

hostgroup_name sa-servers         主機(jī)組名稱

alias  sa servers                            主機(jī)組的別名

members  web,mysql                    組包括的成員

(5)services.cfg文件 進(jìn)行定義了都對主機(jī)進(jìn)行 那些監(jiān)控服務(wù),用什么命令。

 define service{

use local-service           引用local-service服務(wù)的屬性。

host_name web             監(jiān)控web主機(jī)上的服務(wù)  web在hosts.cfg中定義的。

service_description PING     監(jiān)控服務(wù)的內(nèi)容 。

check_command check_ping!100.0,20%!500.0,60%  指定檢查的命令 check_ping在commands.cfg中進(jìn)行的定義,后跟兩個參數(shù) 命令與參數(shù)之間用!分割開

}

define service{

use  local-service

host_name web

service_description SSH

check_command  check_ssh

}

define service{

use  local-service

host_name web

service_description SSHD

check_command  check_tcp!22

}

define service{

use  local-service

host_name web

service_description http

check_command  check_http

}

#******************************mysql*****************************

 define service{

use  local-service

host_name mysql

service_description PING

check_command  check_ping!100.0,20%!500.0,60%

}

define service{

use  local-service

host_name mysql

service_description SSH

check_command  check_ssh

}


define service{

use  local-service

host_name mysql

service_description ftp

check_command  check_ftp

}

define service{

use  local-service

host_name mysql

service_description mysqlport

check_command  check_tcp!3306

}

(6)contacts.cfg 文件 定義聯(lián)系人和聯(lián)系組的,出現(xiàn)故障后,通過email或者短信發(fā)送給誰。

define contact{

contact_name sasystem   定義聯(lián)系人的名稱

use  generic-contact         引用generic-contact的屬性

alias  sa-system                聯(lián)系人別名

email  13406351516@139.com    139郵箱 手機(jī)也可以收到短信,但比直接用短信通知慢一些

}


define contactgroup{

contactgroup_name admins             定義聯(lián)系人組名稱

alias   system administrator group    聯(lián)系人組的描述

members   sasystem                               就是上面定義的聯(lián)系人。
}

(7)timeperiods.cfg文件   定義監(jiān)控時間段。

define timeperiod{
        timeperiod_name 24
        alias           24 Hours A Day, 7 Days A Week
        sunday          00:00-24:00
        monday          00:00-24:00
        tuesday         00:00-24:00
        wednesday       00:00-24:00
        thursday        00:00-24:00
        friday          00:00-24:00
        saturday        00:00-24:00
        }
這里來設(shè)置時間段的控制 其他的設(shè)置不用修改

(8)cgi.cfg文件 添加 admin的權(quán)限

default_user_name=admin

authorized_for_system_information=nagiosadmin,admin

authorized_for_configuration_information=nagiosadmin,admin

authorized_for_system_commands=admin

authorized_fro_all_services=nagiosadmin,admin

authorized_fro_all_hosts=nagiosadmin,admin

authorized_fro_all_service_commands=nagiosadmin,admin

authorized_fro_all_host_commands=nagiosadmin,admin

(9)nagios.cfg文件

 添加hosts.cfg 和 services.cfg 的 指引路徑

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg

 cfg_file=/usr/local/nagios/etc/objects/services.cfg

注釋localhost.cfg的指引路徑 #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg 

修改:

command_check_interval=2

 *******************nagios的配置已經(jīng)完成了******************* 

這幾個配置文件之間的關(guān)系,剛剛接觸可能感覺比較混亂,熟悉了就簡單了。

 打開下一章:nagios監(jiān)控之(運(yùn)行和維護(hù)) 

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI