nagios监控远程主机并设置自动发送邮件告警

nagios监控远程主机并设置自动发送邮件告警

  1. 安装sendmail

    yum install -y sendmail* mailx
    
  2. 添加25端口到防火墙

    firewall-cmd --zone=public --add-port=25/tcp
     firewall-cmd --zone=public --add-port=25/tcp --permanent
    
  3. 重启sendmail服务

    systemctl restart sendmail
    
  4. 测试邮件功能能否正常发送

    echo "I am a mail wroten by yourself" | mail -s "Alert" [email protected]
    

    建议使用163邮箱,因为仅测试了163邮箱

  5. 修改 nagios.cfg 插件

    enable_notifications=1          //开启后也就是nagios装的所有插件,出现问题都会报警
    
  6. 修改contracts.cfg的警告邮件发送人

    email                   [email protected] ;
    

    将libexec下的check_http 文件修改名字,nagios会因无法执行check而报警。

  7. 其他配置

    如果按上述配置无法接收到邮件,而测试邮件能正常接收,则继续查看以下配置:

    配置 /usr/local/nagios/objects/localhost.cfg
    service定义的该值改为1:
     notifications_enabled           1
    

    如此有可能还是收不到邮件,因为nagios为了快速启动,通常设置了缓存配置:

    precached_object_file=/usr/local/nagios/var/objects.precache
    

    可以注释掉该配置再重启试试。

    还要注意notification_interval通知发送时间间隔的配置,单位为min。

收到的邮件截图:

[图片上传失败...(image-75de76-1534665672204)]

图中显示404,是因为默认的监控http命令参数没有设置正确。

配置check_http命令监控民生健康保护项目的web页面

  1. 修改commands.cfg

    define command {
    
     command_name    check_http
     command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$ $ARG2$
     }
    
  2. 修改172.16.10.125.cfg中的http service块

    define service{
     use     generic-service
     host_name       172.16.10.125
     service_description     check_http
     check_command           check_http!-u http://172.16.10.125/csfy/index.do
     max_check_attempts 5
     normal_check_interval 1
     notifications_enabled   1
     }
    
  3. 说明

nagios依靠libexec下的check_http程序进行监控

./check_http -h #查看详细信息

你可能感兴趣的:(nagios监控远程主机并设置自动发送邮件告警)