Nagios短信分组报警

简介:

 Nagios监控对于服务器运维来讲是非常好的工具,可以监控各种操作系统的服务器,windows,linux,aix等等,还可以对路由器和交换机,打印机等网络设备进行监控,再结合邮件,短信,MSN等报警方式为系统管理人员节省了许多巡检时间而且成效显著!在我的运维环境中,随着监控客户端的增多,报警的频率也随着提高,没日没夜的收短信,最终不得不把手机短信调成震动模式。在收到的报警短信中,大部分是windows客户端异常的短信,相对而言,在服务器领域linux系统比windows系统稳定可靠的多。于是想到取消集中报警的方式,将windows报警发送到windows sa的手机上,linux报警发到自己的手机上,也就是分组短信报警。下面就来介绍下配置过程! 

一:编辑command.cfg文件,添加fetion发送短信命令

 
 
  1. [root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg  
  2. define command{ 
  3. command_name notify-service-by-linux 
  4. command_line /usr/local/fx/fetion --mobile=1383838438 --pwd=123 --to=1383838438 --msg-utf8="主机:IP地址$HOSTADDRESS$,服务器描述: $HOSTALIAS$/$SERVICEDESC$ 目前状 
  5.  
  6. 态:$SERVICESTATE$ 信息摘要: $SERVICEOUTPUT$" --msg-type=1 
  7.  
  8. define command{ 
  9. command_name notify-service-by-windows 
  10. command_line /usr/local/fx/fetion --mobile=1383838438 --pwd=123 --to=1333333333 --msg-utf8="主机:IP地址$HOSTADDRESS$,服务器描述: $HOSTALIAS$/$SERVICEDESC$ 目前状 
  11.  
  12. 态:$SERVICESTATE$ 信息摘要: $SERVICEOUTPUT$" --msg-type=1 
  13.  
  14. define command{ 
  15. command_name notify-host-by-sms 
  16. command_line  /bin/echo null 
二:编辑contacts.cfg文件,分别定义linux服务器的告警信息通过notify-service-by-linux发送,windows服务器的告警信息通过notify-service-by-windows,在本例中因为所有的服务器均禁止ping,所以所有的主机告警信息不发送!

  
  
  1. [root@localhost ~]# grep -v '^#'  /usr/local/nagios/etc/objects/contacts.cfg  
  2. define contact{                                  
  3.         contact_name                        linux  
  4.         use                                 linux-contact  
  5.         alias                               linux 
  6.         service_notification_period         24x7  
  7.         host_notification_period            24x7 
  8.         service_notification_options        w,u,c,r,f,s  
  9.         host_notification_options           d,u,r,f,s  
  10.         service_notification_commands       notify-service-by-linux                     
  11.         host_notification_commands          notify-host-by-sms 
  12.         } 
  13.  
  14. define contact{  
  15.         contact_name                       windows  
  16.         use                                windows-contact  
  17.         alias                              windows  
  18.         service_notification_period        24x7 
  19.         host_notification_period           24x7 
  20.         service_notification_options       w,u,c,r,f,s  
  21.         host_notification_options          d,u,r,f,s  
  22.         service_notification_commands      notify-service-by-windows  
  23.         host_notification_commands         notify-host-by-sms 
  24.         } 
  25.  
  26. define contactgroup{  
  27.         contactgroup_name           linux  
  28.         alias                       linux  
  29.         members                     linux 
  30.         } 
  31.  
  32. define contactgroup{  
  33.         contactgroup_name            windows 
  34.         alias                        windows 
  35.         members                      windows 
  36.         } 
三:编辑templates.cfg文件,在模板文件中分别定义linux服务器和windows服务器的各监控属性和通知类型(最重要的参数contact_groups),最后用于监控客户端配置文件上

 
 
  1. [root@localhost ~]# vi /usr/local/nagios/etc/objects/templates.cfg 
  2. define contact{ 
  3.         name                            linux-contact            
  4.         service_notification_period     24x7                     
  5.         host_notification_period        24x7                    
  6.         service_notification_options    w,u,c,r,f,s              
  7.         host_notification_options       d,u,r,f,s               
  8.         service_notification_commands   notify-service-by-linux 
  9.         host_notification_commands      notify-host-by-sms       
  10.         register                        0                       
  11.         } 
  12.  
  13. define contact{ 
  14.         name                            windows-contact          
  15.         service_notification_period     24x7                     
  16.         host_notification_period        24x7                     
  17.         service_notification_options    w,u,c,r,f,s              
  18.         host_notification_options       d,u,r,f,s               
  19.         service_notification_commands   notify-service-by-windows    
  20.         host_notification_commands      notify-host-by-sms      
  21.         register                        0                       
  22.         } 
  23.  
  24. define host{ 
  25.         name                            generic-host     
  26.         notifications_enabled           1               
  27.         event_handler_enabled           1                
  28.         flap_detection_enabled          1                
  29.         failure_prediction_enabled      1                
  30.         process_perf_data               1                
  31.         retain_status_information       1               
  32.         retain_nonstatus_information    1                
  33.         notification_period             24x7             
  34.         register                        0                
  35.         } 
  36.  
  37. define host{ 
  38.         name                            linux-server    
  39.         use                             generic-host    
  40.         check_period                    24x7            
  41.         check_interval                  5                
  42.         retry_interval                  1                
  43.         max_check_attempts              10              
  44.         check_command                   check-host-alive 
  45.         notification_period             24x7                                                       
  46.         notification_interval           120              
  47.         notification_options            d,u,r            
  48.         contact_groups                  linux            
  49.         register                        0                
  50.         } 
  51.  
  52. define host{ 
  53.         name                    windows-server  
  54.         use                     generic-host    
  55.         check_period            24x7             
  56.         check_interval          5                
  57.         retry_interval          1               
  58.         max_check_attempts      10              
  59.         check_command           check-host-alive         
  60.         #notification_period    24x7             
  61.         notification_interval   30              
  62.         notification_options    d,u,r            
  63.         contact_groups          windows         
  64.         register                0             
  65.         } 
  66.  
  67. define service{ 
  68.         name                            linux-service    
  69.         active_checks_enabled           1                       
  70.         passive_checks_enabled          1                        
  71.         parallelize_check               1                       problems) 
  72.         obsess_over_service             1                       
  73.         check_freshness                 0                       
  74.         notifications_enabled           1                      
  75.         event_handler_enabled           1                      
  76.         flap_detection_enabled          1                       
  77.         failure_prediction_enabled      1                        
  78.         process_perf_data               1                       
  79.         action_url                      /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$ 
  80.         retain_status_information       1                        
  81.         retain_nonstatus_information    1                       
  82.         is_volatile                     0           
  83.         check_period                    24x7                   
  84.         max_check_attempts              3                        
  85.         normal_check_interval           1                       
  86.         retry_check_interval            2                       
  87.         contact_groups                  linux                    
  88.         notification_options            w,u,c,r                  
  89.         notification_interval           1440                     
  90.         notification_period             24x7                     
  91.          register                        0                      
  92.         } 
  93.  
  94. define service{ 
  95.         name                            windows-service          
  96.         active_checks_enabled           1                        
  97.         passive_checks_enabled          1                        
  98.         parallelize_check               1                                 
  99.         obsess_over_service             1                       
  100.         check_freshness                 0                        
  101.         notifications_enabled           1                        
  102.         event_handler_enabled           1                       
  103.         flap_detection_enabled          1                       
  104.         failure_prediction_enabled      1                       
  105.         process_perf_data               1                        
  106.         action_url                      /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$ 
  107.         retain_status_information       1                        
  108.         retain_nonstatus_information    1                        
  109.         is_volatile                     0                        
  110.         check_period                    24x7                     
  111.         max_check_attempts              3                       
  112.         normal_check_interval           1                       
  113.         retry_check_interval            2                       
  114.         contact_groups                  windows                 
  115.         notification_options            w,u,c,r                  
  116.         notification_interval           1440                     
  117.         notification_period             24x7                   
  118.          register                        0                       
  119.         } 
 
四:linux客户端文件,host调用linux-server模板,service调用linux-service 

  
  
  1. [root@localhost ~]# grep -v '^#'  /usr/local/nagios/etc/objects/client/10.0.1.11.cfg   
  2. define host{ 
  3.         use                     linux-server            ; Name of host template to use 
  4.                                                         ; This host definition will inherit all variables that are defined 
  5.                                                         ; in (or inherited by) the linux-server host template definition. 
  6.         host_name               10.0.1.11 
  7.         alias                   10.0.1.11 
  8.         address                 10.0.1.11 
  9.         } 
  10.  
  11. define service{ 
  12.         use                             linux-service         ; Name of service template to use 
  13.         host_name                       10.0.1.11 
  14.         service_description             CPU Load  
  15.         check_command                   check_nrpe!check_load 
  16.         } 
五:windows客户端文件,host调用windows-server模板,service调用windows-service 

 
 
  1. [root@localhost ~]# grep -v '^#'  /usr/local/nagios/etc/objects/client/10.0.1.13.cfg  
  2. define host{ 
  3.         use             windows-server  ; Inherit default values from a template 
  4.         host_name       10.0.1.13       ; The name we're giving to this host 
  5.         alias           10.0.1.13       ; A longer name associated with the host 
  6.         address         10.0.1.13       ; IP address of the host 
  7.         } 
  8.  
  9. define service{ 
  10.         use                     windows-service 
  11.         host_name               10.0.1.13 
  12.         service_description     NSClient++ Version 
  13.         check_command           check_nt!CLIENTVERSION 
  14.         notifications_enabled           1 
  15.         } 
六:重启nagios服务,并验证结果

 
 
  1. [root@localhost ~]# service nagios reload 
  2. Running configuration check...done. 
  3. Reloading nagios configuration...done 

后记:服务器报警信息固然重要,但如果报警信息泛滥,从应用或者资源上无法及时调整到位,运维人员难免会对报警短信产生厌烦情绪,进而可能会忽略重要的报警信息,对服务器运维造成负面的影响,也会让领导认为监控系统可有可无,其实还是可以从技术角度上解决一些问题的,例如工作时间短信发送到QQ邮箱,MSN上,非工作时间短信发送到运维人员手机或者值班手机上,就是一种不错的办法,但监控只是一种手段,服务器问题还是早预见早解决为妙!

本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/1150043如需转载请自行联系原作者


ylw6006

相关文章
|
2月前
|
Linux Perl
Nagios 邮件及短信报警
Nagios可通过139邮箱实现短信报警:配置Nagios向139邮箱发送信息,再由139自动转发至绑定手机。也可用短信猫设备。需修改`contacts.cfg`文件设置邮件收件人为139邮箱地址。Kickstart结合PXE等技术实现Linux系统的自动化安装,大幅减少手动安装的时间,适用于需要统一版本的大规模部署场景。配置涉及DHCP、TFTP等服务安装与设置。
27 0
|
数据采集 运维 监控
推荐|夜莺n9e监控配置电话短信钉钉飞书微信报警
夜莺监控社区版是使用人数最多的版本,但社区版本的夜莺监控不支持电话短信报警,对于运维来说电话报警是很重要的报警渠道,最近就有很多用户跟我们建议,让Spug推送助手来支持一下夜莺监控电话短信报警,下面就以夜莺监控社区版本如何支持电话短信报警来描述一下配置过程。
775 0
|
运维 监控 关系型数据库
脚本实现电话短信报警
无需任何资质,脚本2分钟实现电话短信钉钉飞书企业微信报警
510 0
|
传感器 编解码 监控
毕业设计 基于51单片机老人防跌倒GSM短信报警系统
毕业设计 基于51单片机老人防跌倒GSM短信报警系统
416 0
毕业设计 基于51单片机老人防跌倒GSM短信报警系统
|
Prometheus 运维 监控
三分钟实现Prometheus电话短信邮件钉钉飞书企业微信报警
Spug推送助手针对Prometheus内置好了报警模板,可以通过简单的配置就可以实现Prometheus电话、短信、邮件、钉钉、飞书、企业微信等报警。
1632 0
|
监控 Linux API
Zabbix配置腾讯云短信报警
Zabbix配置腾讯云短信报警
Zabbix配置腾讯云短信报警
|
监控 Unix 机器学习/深度学习
|
2月前
|
数据采集 监控 安全
阿里云短信服务+图形认证,有效降低验证码盗刷概率
阿里云短信服务+图形认证服务,有效降低验证码盗刷概率。
250 3
阿里云短信服务+图形认证,有效降低验证码盗刷概率