您好,登錄后才能下訂單哦!
打開上一章:nagios監控之(運行環境搭建)
PS: 上一張已經把nagios的基本環境搭建完成,并能成功瀏覽nagios頁面
現在講下nagios配置文件
配置文件 放在nagios/etc下面
cgi.cfg 控制CGI訪問的配置文件
nagios.cfg nagios主配置文件
resource.cfg 變量定義文件,這個一般不做修改。
/etc/objects/ 這是存放配置文件模板的目錄,定義 要監控的對象和相關信息的配置文件
objects/commands.cfg 定義監控某個功能所使用的命令的配置文件。
objects/contacts.cfg 定義常用聯系人和聯系組的配置文件
objects/localhost.cfg 定義本地主機的配置文件
objects/templates.cfg 定義主機和服務的一個模板
objects/timeperiods.cfg 定義監控時間段的配置文件
還有printer.cfg switch.cfg windows.cfg 這幾個默認不啟動的配置文件,不做介紹了。
等了解了naigos 的配置文件之間的關系,自己就可以隨意添加項要監控的內容了。
配置文件之間的關系
nagios 這些配置文件 之間存在很多相互引用,因為相互引用這樣,使得nagios 的管理更加方便,但是 對于 剛剛接觸nagios的朋友來說,反而顯得 關系很混亂,但是只要把關系弄清楚,就算是熟練掌握了nagios了
配置nagios
(1)templates.cfg文件
define contact{
name generic-contact 定義聯系人名稱
service_notification_period 24
#定義出現服務異常時,發送通知的時間段,24在timeperiods.cfg定義的,這24參數也算引用
host_notification_period 24
#定義出現主機異常時,發送通知的時間段,24在timeperiods.cfg定義的
service_notification_options w,u,c,r
#定義通知可以被發錯的情況,w表示警告warn,u表示不明unknown
#c表示緊急criticle,r表示恢復recover
host_notification_options d,u,r
#d:宕機 u:不可到達狀態 r:恢復狀態
service_notification_commands notify-service-by-email
#服務故障時,通過email方式進行通知,notify-service-by-email 在commands.cfg中定義的
host_notification_commands notify-host-by-email
#主機故障時,通過email方式進行通知,notify-host-by-email在commands.cfg中定義的
register 0
}
define host{
name generic-host 定義主機模板的名稱,不是電腦的主機名,只針對這個define host模板
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
notification_period 24
register 0
}
define host{
name linux-server 定義這個主機模板的名稱,每個模板 里面的屬性不一樣,不要鬧混了。
use generic-host 引用generic-host這個主機的屬性,到當前主機當中,use表示引用
check_period 24 表示檢查主機的時間段
check_interval 5 表示檢查主機的時間間隔 這里是5分鐘
retry_interval 1 第一次檢查失敗時,重試檢查間隔 這里是1分鐘
max_check_attempts 10 主機出現異常時,會嘗試10次檢查,再最后判斷是否真正的出現異常
check_command check-host-alive 指定檢查主機狀態的命令,在commands.cfg中定義的
notification_period 24 主機故障時,發送通知的時間范圍,在timeperiods.cfg中定義的
notification_interval 120 表示異常后,間隔120分鐘進行第二次通知,若為0 表示只進行1次通知
notification_options d,u,r 定義 主機在什么狀態下會發送通知d:宕機 u:不可到達 r:恢復狀態
contact_groups admins 指定聯系人組 這個admin 在contacts.cfg文件中定義的
register 0
}
define service{
name generic-service 定義一個服務的名稱
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對服務的最大檢查次數
normal_check_interval 10 設置服務檢查時間間隔
retry_check_interval 2 重試檢查時間間隔,這里是2分鐘
contact_groups admins 指定聯系人組
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的變量文件 文件內容 只用到了一行
$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服務運行后 就會檢查ping 如果能ping通 代表機器運行正常,僅此而已
里面有很多命令 ,把自己不需要的注釋掉,自定義項添加的 可以根據里面的格式自己編輯
(4)host.cfg文件,次文件默認不存在,需要自己創建。里面是被監控主機的屬性。
define host{
use linux-server 引用linux-server的屬性到當前主機里
host_name web 定義被監控的主機名
alias yanzhe-web 主機別名 nagios瀏覽器顯示的就是主機別名
address 192.168.1.101 被監控的主機IP地址,也可以是域名
}
define host{
use linux-server
host_name mysql
alias yanzhe-mysql
address 192.168.1.102
}
define hostgroup{ 定義一個主機組
hostgroup_name sa-servers 主機組名稱
alias sa servers 主機組的別名
members web,mysql 組包括的成員
}
(5)services.cfg文件 進行定義了都對主機進行 那些監控服務,用什么命令。
define service{
use local-service 引用local-service服務的屬性。
host_name web 監控web主機上的服務 web在hosts.cfg中定義的。
service_description PING 監控服務的內容 。
check_command check_ping!100.0,20%!500.0,60% 指定檢查的命令 check_ping在commands.cfg中進行的定義,后跟兩個參數 命令與參數之間用!分割開。
}
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 文件 定義聯系人和聯系組的,出現故障后,通過email或者短信發送給誰。
define contact{
contact_name sasystem 定義聯系人的名稱
use generic-contact 引用generic-contact的屬性
alias sa-system 聯系人別名
email 13406351516@139.com 用139郵箱 手機也可以收到短信,但比直接用短信通知慢一些
}
define contactgroup{
contactgroup_name admins 定義聯系人組名稱
alias system administrator group 聯系人組的描述
members sasystem 就是上面定義的聯系人。
}
(7)timeperiods.cfg文件 定義監控時間段。
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
}
這里來設置時間段的控制 其他的設置不用修改
(8)cgi.cfg文件 添加 admin的權限
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的配置已經完成了*******************
這幾個配置文件之間的關系,剛剛接觸可能感覺比較混亂,熟悉了就簡單了。
打開下一章:nagios監控之(運行和維護)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。