zoukankan      html  css  js  c++  java
  • [zabbix] zabbix从内部检测web页面

    环境说明:

    两台机器各运行一个tomcat实例,通过阿里云slb到后端,假设后端服务挂了一个,从外部访问整个服务还是可用的,所以需要从内部检测web页面。

    zabbix自带的web场景都是从外部检测web页面,并不符合此次的需求。

    zabbix-agent104 172.16.2.104 tomcat 8081
    zabbix-agent105 172.16.2.105 tomcat 8081
    

      1.zabbix-agent机器上添加UserParameter(版本:zabbix-agent-3.4.10-1.el7.x86_64)

    [root@zabbix-agent104 ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_curl.conf 
    UserParameter=curl[*],curl --connect-timeout 3 -sI -o /dev/null -w %{http_code} http://127.0.0.1:$1$2
    重启zabbix-agent
    [root@zabbix-agent104 ~]# systemctl restart zabbix-agent
    往tomcat ROOT下添加一个空文件online.html
    [root@zabbix-agent104 ~]# touch /usr/local/tomcat/webapps/ROOT/online.html

      2.zabbix-server机器上确认可以获取新值

    [root@zabbix-server ~]# zabbix_get -s 172.16.2.104 -k 'curl[8081,/online.html]'
    200
    

      3.登录zabbix web控制台添加模板、监控项、触发器

    新建一个模板,在“Templates/Modules”群组之中,主机/模板:是哪些主机要引用新的模板。

    添加一个监控项,调整查看值,选择应用集,这两步可有可无。

    克隆以上监控项,监控8082端口,因为我的环境上同台机器上开了多个tomcat实例。默认不启用,理由是模板需要大规模应用到主机上,但并不是每台主机都安装有多个tomcat实例,多个tomcat实例需要单独启用监控项。

    添加触发器,我的环境中http code有可能出现000(tomcat关闭),200(正常),302(跳转),404(不存在)等,所以使用max、min、avg都不准确

    count(#2,200,eq)意思是统计最后两次的值等于200的个数,如果两次都返回非200,即统计个数为0,则触发。

    count函数翻译成中文为“周期T内成功取到的值V(满足操作者O)的数量=N”

  • 相关阅读:
    C++中的friend函数详细解析(一)
    【图像处理算法】 直方图均衡化
    可降水量W:空中水文学名词初集(4)
    excel\docx
    WebService学习总结
    C#深入学习笔记Lock
    事件Event深入总结
    C#泛型委托与Lambda总结
    SQLServer事务与锁的基础概念总结
    委托Delegate深入总结
  • 原文地址:https://www.cnblogs.com/hjfeng1988/p/9639688.html
Copyright © 2011-2022 走看看