网站建设工具的公司,如何提升网站搜索排名,网站建设花销,网站开发维护招聘打开上一章#xff1a;nagios监控之#xff08;运行环境搭建#xff09; PS#xff1a; 上一张已经把nagios的基本环境搭建完成#xff0c;并能成功浏览nagios页面 现在讲下nagios配置文件 配置文件 放在nagios/etc下面 cgi.cfg 控制CGI访问的配置文件 … 打开上一章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表示紧急criticler表示恢复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 13406351516139.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_nameadmin authorized_for_system_informationnagiosadmin,admin authorized_for_configuration_informationnagiosadmin,admin authorized_for_system_commandsadmin authorized_fro_all_servicesnagiosadmin,admin authorized_fro_all_hostsnagiosadmin,admin authorized_fro_all_service_commandsnagiosadmin,admin authorized_fro_all_host_commandsnagiosadmin,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_interval2 *******************nagios的配置已经完成了******************* 这几个配置文件之间的关系刚刚接触可能感觉比较混乱熟悉了就简单了。 打开下一章nagios监控之运行和维护 转载于:https://blog.51cto.com/yanzhe/1129608