nagios监控之(监控配置)
打開上一章: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監控之(運行和維護)?
轉載于:https://blog.51cto.com/yanzhe/1129608
總結
以上是生活随笔為你收集整理的nagios监控之(监控配置)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到男孩丢了又找到了是什么意思
- 下一篇: 梦到紫葡萄是胎梦吗