zoukankan      html  css  js  c++  java
  • zabbix5.x版本添加自定义监控+263邮件报警

    两台服务器

    zabbix服务端(10.51.52.224)

    安装zabbix-server zabbix-agent

    zabbix客户端(10.51.52.223)

    安装zabbix-agent

    一、服务器脚本准备

    在zabbix页面添加自定义监控前,需要在服务器上添加配置文件和监控脚本

    cd /etc/zabbix
    mkdir zabbix_agentd.d
    cd zabbix_agentd.d
    
    vim check_service.conf
    UserParameter=check.service.[*],/bin/sh /script/check_service.sh $1
    
    #解释check.service.[*],里面的[*]指代后面写入监控项$1,
    #比如下文的check.service.[activemq],
    #activemq这个监控项会写在/script/check_service.sh 的脚本里面
    
    #修改zabbix_agentd配置文件
    vim /etc/zabbix/zabbix_agentd.conf
    #添加或放开
    Include=/etc/zabbix/zabbix_agentd.d/*.conf  #包括自定义配置
    UnsafeUserParameters=1  #打开自定义监控
    
    
    #编写监控脚本
    vim /script/check_service.sh
    #!/bin/sh
    
    case $1 in
    
        user-web)
        echo `ps aux | grep java | grep user-web | grep -v grep | wc -l`
        ;;
    
        user-service)
        echo `ps aux | grep java | grep user-service | grep -v grep | wc -l`
        ;;
    
        activemq)
        echo `ps -ef |grep /opt/activemq |grep -v grep |wc -l`
        ;;
    
        MHA)
        echo `/usr/bin/masterha_check_status -conf=/etc/mha_master/mha.cnf | grep PING_OK | wc -l`
        ;;
    
        keepalived)
        echo `systemctl status keepalived | grep "active (running)" | wc -l`
        ;;
    
    esac

    监控脚本里面的每一个选项都是一个监控项

    二、zabbix控制台添加监控

    下面以添加 activemq 监控项为例

    1.创建主机项

      省略 

    2.创建监控项

     

    3.创建触发器

     设置条件(最后一次检测值不等于1时触发报警)

    设置后如下图:

     

     4.添加图形(也可不加)

    图形展示如下

    添加监控在页面的操作就算结束了

    服务器监控项测试(测试值为1)

    注意:测试这里有个坑

    监控脚本里面原来写的是:

    /usr/bin/sh /opt/activemq/bin/activemq status |grep "is running" |wc -l

    这个在服务器命令行测试时能拿到正确返回值1,但是使用zabbix_get测试却始终为0(原因一直没找到),

    获取的测试结果不正确,zabbix监控页面也就拿不到正确值

    所以后面就改用下面监控ps进程的方式,不用activemq自带的脚本监控

    ps -ef |grep /opt/activemq |grep -v grep |wc -l

     三、添加邮件报警

    在zabbix_server.conf中找到默认邮件报警脚本路径,如下:

    AlertScriptsPath=/usr/lib/zabbix/alertscripts

    进入该目录(本次使用的是263邮箱,其他邮箱道理一样)

    提前安装sendEmail

    cd /usr/lib/zabbix/alertscripts
    
    vim mail.sh
    
    #!/bin/bash
    SMTP_server='smtp.xxx.com.cn:465'    # SMTP服务器
    username='danny.zhang@xxx.com.cn'     # 用户名
    password='xxx'             # 密码(此处为邮箱客户端授权码)
    from_email_address='danny.zhang@xxx.com.cn' # 发件人Email地址
    to_email_address="$1"               # 收件人Email地址,zabbix传入的第一个参数
    message_subject_utf8="$2"           # 邮件标题,zabbix传入的第二个参数
    message_body_utf8="$3"              # 邮件内容,zabbix传入的第三个参数
    
    # 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
    message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
    $message_subject_utf8
    EOF`
    [ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
    
    # 转换邮件内容为GB2312
    message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
    $message_body_utf8
    EOF`
    [ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
    
    # 发送邮件
    sendEmail='/usr/bin/sendEmail'
    $sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312

    zabbix页面添加

     

    添加动作:

     

     OK

    好记性不如烂笔头,最难不过坚持
  • 相关阅读:
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(45)-工作流设计-设计步骤
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(44)-工作流设计-设计表单
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(43)-工作流设计-字段分类设计
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(42)-工作流设计-表建立
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(41)-组织架构
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(40)-精准在线人数统计实现-【过滤器+Cache】
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试
    .Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用
  • 原文地址:https://www.cnblogs.com/dannylinux/p/15190477.html
Copyright © 2011-2022 走看看