14.6.2 配置主机及服务获取状态数据出图
您可以在百度里搜索“跟老男孩学Linux运维:Web集群实战 艾草文学(www.321553.xyz)”查找最新章节!
14.6.2 配置主机及服务获取状态数据出图
14.6.1节结尾的图形是没有具体的业务数据图形趋势的,因为那时还没有为Nagios的各个主机和具体要监控的服务配置获取数据信息,下面是让各个主机或服务获取数据的配置。
1.设置让被监控的主机记录数据
如果要让所有的主机获取数据并出趋势图,则须编辑Nagios的主机hosts.cfg文件,不过,只要在每一个被监控主机的配置下面增加同一个参数项“process_perf_data1”即可。操作步骤如下:
[root@nagios-server ~]# cd /usr/local/nagios/etc/objects/[root@nagios-server objects]# vi hosts.cfg # Define a host for thelocal machine define host{ use linux-server host_name web01 aliasweb01 address 10.0.0.8 process_perf_data 1#<==为web01增加此行,表示将记录web01 主机的状态数据。 } define host{ uselinux-server host_name web02 alias web02 address 10.0.0.9process_perf_data 1 #<==为web02增加此行,表示将记录web02 主机的状态数据。 }
上述代码中的“process_perf_data 1”就是获取对应主机及服务数据的参数配置。
2.设置让被监控主机对应的服务记录数据
如果需要所有的主机对应的服务获取数据并出趋势图,则要编辑Nagios的服务配置文件services.cfg,当然,也只需要在每一个对应服务下面增加同一个参数项即可,即“process_perf_data1”,配置步骤如下:
[root@nagios-server objects]# vi services.cfg define service {use generic-service host_name web01,web02 service_description DiskPartition check_command check_nrpe!check_disk process_perf_data 1#<==为web01,web02增加此行,表示将记录web01, web02主机的剩余磁盘空间状态数据,下同 } defineservice { use generic-service host_name web01,web02service_description Swap Useage check_command check_nrpe!check_swapprocess_perf_data 1 } define service { use generic-servicehost_name web01,web02 service_description MEM Useage check_commandcheck_nrpe!check_mem process_perf_data 1 } define service { usegeneric-service host_name web01,web02 service_description CurrentLoad check_command check_nrpe!check_load process_perf_data 1 }define service { use generic-service host_name web01,web02service_description Disk Iostat check_commandcheck_nrpe!check_iostat!5!11 process_perf_data 1 } define service {use generic-service host_name web01,web02 service_description PINGcheck_command check_ping!100.0,20%!500.0,60% process_perf_data 1}
由于每个主机对应的服务内容太多了,因此可以采取在所有服务对应的统一模板里添加配置参数的方式,这样可使所有的服务都可以生效。这里每个服务使用的模板就是由服务里的“usegeneric-service”这个选项确定的,查看与模板文件里服务模板generic-service名对应的服务参数:
[root@nagios-server objects]# sed -n '154,177p' templates.cfgname generic-service active_checks_enabled 1 passive_checks_enabled1 parallelize_check 1 obsess_over_service 1 check_freshness 0notifications_enabled 1 event_handler_enabled 1flap_detection_enabled 1 failure_prediction_enabled 1process_perf_data 1 retain_status_information 1retain_nonstatus_information 1 is_volatile 0 check_period 24x7max_check_attempts 3 normal_check_interval 10 retry_check_interval2 contact_groups admins notification_options w,u,c,rnotification_interval 60 notification_period 24x7 register 0 }
提示:为了看得清晰,这里去掉了所有的注释,服务的模板里默认已经配置了“process_perf_data1”,即凡是使用templates.cfg模板文件里名字为generic-service的模板,均作为服务的模板,这样,就相当于所有的服务都执行generic-service模板里的配置了。
配置完毕重启Nagios服务:
[root@nagios-server objects]# /etc/init.d/nagios reload Runningconfiguration check...done. Reloading nagiosconfiguration...done
到此,如果等一段时间,然后查看PNPURL就可以发现生成了图形数据,有些数据需要压测或者真实环境才能看的,例如主机负载,这里看的是磁盘剩余空间监控,其趋势图见图14-25下面方框里的标记。
图14-25 带数据的PNP趋势图 跟老男孩学Linux运维:Web集群实战