Zabbix监控Low level discovery实时监控网站URL状态

news/2024/5/10 23:53:21/文章来源:https://blog.csdn.net/weixin_30367945/article/details/99476071

今天我们来聊一聊Low level discovery这个功能,我们为什么要用到loe level discovery这个功能呢?

很多时候,在使用zabbix监控一些东西,需要对类似于Itens进行添加,这些items具有一些共同特性,

如果说某些特定的参数是变量,而其他设置都一样,例如:一个程序有多个端口,需要多端口进行监控并配置Itmes,还有磁盘分区,·网卡名称等等,

都是具有不确定性,如果我们配置固定的Items的话,会出现无法通用的问题,所以呢,我们需要来了解一下low level discovery这个功能

Low level discovery的key返回值是一个JSON格式(如果是自定义的话,可以通过网站验证获取的值是否为正确的JSON格式的数)

#自动发现特定的变量名称

#添加对变量的Itmes

下面我们来一个现实中的案例:

业务需求:

现在业务上用有打量的URL需要监控,形式如:http:www.xxx.com,要求URL状态不为200时发出报警

需求分析 :

具有打量的URL,且URL经常变化,需要增加URL即可完成监控

解决方案:上述提到,URL经常发生变化,但是其他状态不变,这个是够刚好可以用zabbix的low level discovery功能来实现这一需求

思路:

1)既然有大量的URL需要监控,我们可以将URL域名地址写入一个配置文件里,方便后续调用监控

2)zabbix上面没有监控URL的模板和监控项,因此只能自定义,写一个自动发现的脚本,该脚本是JSON格式:主要用于调用 URL并获取URL的状态码

3)通过 zabbix_get在server端测试能否正确获取key值(URL状态码)

4)WEB页面添加Low level discovery;创建监控模板,监控项,触发器类型以及图形等;实时监控状态码并做出相应的告警

【zabbix-agent配置文件】

# grep -vE "(#|^$)" /usr/local/zabbix/etc/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log
EnableRemoteCommands=0    #启用远程命令
Server=192.168.37.129
StartAgents=8
ServerActive=192.168.37.129
Hostname=192.168.37.130
Timeout=8             #超时时间改为8即可,如果server端zabbix_get测试获取键值时提示超时,可进行修改调整
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/web_site_discovery.conf     #子配置文件,还有一种方式就是直接在agent.conf配置文件中的“UserParameter=”写入对应的键值
UnsafeUserParameters=1

【自定义Low level discovery自动发现脚本】

mkdir -p /usr/local/zabbix/etc/scripts/

vim /usr/local/zabbix/etc/scripts/Web.txt   #网站URL存放文件,将我们需要的监控的域名写入该自定义配置文件中

www.hexun.com
www.baidu.com
www.weibo.com

 vim /usr/local/zabbix/etc/scripts/web_site_code_status 

#!/bin/bash
#Monitoring website domain name URL change script
#mail:m18810455501@163.com
#QQ:1261813048
#/usr/bin/curl -o /dev/null -s -w %{http_code} http://$1/
Web_SITE_discovery(){
Web_SITE=($(cat /usr/local/zabbix/etc/scripts/Web.txt | grep -v "^#"))
printf '{\n'
printf '\t"data":[\n'
for((i=0;i<${#Web_SITE[@]};++i))
{
num=$(echo $((${#Web_SITE[@]}-1)))
if [ "$i" != ${num} ];
then
printf "\t\t{ \n"
printf "\t\t\t\"{#SITENAME}\":\"${Web_SITE[$i]}\"},\n"
else
printf "\t\t{ \n"
printf "\t\t\t\"{#SITENAME}\":\"${Web_SITE[$num]}\"}]}\n"
fi
}
}
web_site_code (){
# /usr/bin/curl -o /dev/null -s -w %{http_code} http://$1
/usr/bin/curl -I -m 10 -o /dev/null -s -w %{http_code}"\n" http://$1
}

case "$1" in
web_site_discovery)
Web_SITE_discovery
;;
web_site_code)
web_site_code $2
;;
*)
echo "Usage:$0 {web_site_discovery |web_site_code [URL]}"
;;
esac

# chmod 755 /usr/local/zabbix/etc/scripts/web_site_code_status    #脚本权限给予755

【自定义Key值配置文件】

# vim  /usr/local/zabbix/etc/zabbix_agentd.conf.d/web_site_discovery.conf     #子配置文件,已在agent.conf配置文件中Include中引用

UserParameter=web.site.discovery,/usr/local/zabbix/etc/scripts/web_site_code_status web_site_discovery
UserParameter=web.site.code[*],/usr/local/zabbix/etc/scripts/web_site_code_status web_site_code $1

 【测试】

在server端·测试agent端自定的key值能否获取到?ok~从截图看出,都能获取到url域名状态码

【Web页面添加Low level discory】

1)创建自定义模板

Configuration(配置)-----Templates(模板)----Create templates(创建模板)

 

创建自动发现规则

【创建应用集】

【基于自动发现规则基础创建监控项原型】

Ps:这里的键值一定要与之对应

 【创建监控项原型】

 

创建触发器类型,设置多梯度告警检测,我们触发类型除了URL状态为200和301正常之外,其他不为200和301的状态码的都告警

配置图像原型

【验证】

ok~下面大家所看到的的呢?我是在Web.txt配置文件中新增的URL,很明显该站点是不存在的,所以返回值是302,在触发器类型中符合报警出发条件,由此触发~

触发类型我们设置的是梯度告警,由信息——》一般严重——》严重三个等级且是不同周期性告警:3分钟,10分钟,15分钟不同的告警级别

转载于:https://www.cnblogs.com/bixiaoyu/p/9375270.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_764135.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P9架构师讲解从单机至亿级流量大型网站系统架构的演进过程

阶段一、单机构建网站 网站的初期&#xff0c;我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器&#xff0c;如tomcat、jetty、jboos&#xff0c;然后直接使用JSP/servlet技术&#xff0c;或者使用一些开源的框架如mavenspringstructhibernate、mavenspringspr…

让你高效工作的7大工具类网站

一 Smallpdf——最好的PDF在线无损转换工具 对于专业的 PDF 工作者或 PDF 的重度使用者来说&#xff0c;目前比较流行的几款PDF处理工具&#xff0c;包括著名的Adobe acrobat原版工具以及国内流行的福昕PDF处理套件。但是对于普通的学生党和上班族来说&#xff0c;平时都是用PD…

网站如何防止sql注入攻击的解决办法

首先我们来了解下什么是SQL注入&#xff0c;SQL注入简单来讲就是将一些非法参数插入到网站数据库中去&#xff0c;执行一些sql命令&#xff0c;比如查询数据库的账号密码&#xff0c;数据库的版本&#xff0c;数据库服务器的IP等等的一些操作&#xff0c;sql注入是目前网站漏洞…

从团购网的漏洞看网站安全性问题

自从9月份在同事推荐下在某团购网买了一份火锅的套餐后&#xff0c;就迷上了&#xff0c;几乎每天必去浏览一遍&#xff0c;看看有什么又便宜又好吃的。元旦期间当然也不例外&#xff0c;1号那天上午&#xff0c;看到了XXX团购网的“VIP会员0元领红包”活动&#xff0c;0元&…

社会工程学攻击之网站钓鱼

前言网络给了我们方便的同时&#xff0c;但也并不总是那么美好。还记得邀请苍蝇到它的客厅做客的蜘蛛吗&#xff1f;还记得帮助蝎子渡河的乌龟吗&#xff1f;这些故事都包含了猎物的天真和猎手的肮脏。互联网也是如此&#xff0c;其中中充斥着诱惑的陷阱、阴暗的角落、恶意的行…

[技术分享] 20110803,Web 代理客户端通过 TMG ISA 不能访问新浪微博等网站

Web 代理客户端通过 TMG/ISA 不能访问新浪微博等网站&#xff0c;Web 客户端返回错误&#xff1a;" Error Code: 502 Proxy Error. The request is not supported (50)”。 这类问题一般是由于网站回复的数据是压缩的所导致。遇到此类问题&#xff0c;您可以尝试以下方法…

网站建设流程图

网站建设流程 网站建设包括域名注册查询、网站策划、网页设计、网站功能、网站优化技术、网站内容整理、网站推广、网站评估、网站运营、网站整体优化、网站改版等&#xff0c;这里用一张图概括了网站建设的基本流程&#xff0c;需要的朋友可以参考下&#xff0c; 常见的前端产…

收藏网站制作常用经典css.div.布局.设计实例打包下载2

点击下载&#xff1a;多功能导航Demo.rar 点击下载&#xff1a;发一个选项卡动态增删的效果.rar 点击下载&#xff1a;仿yahoo的特色服务内容切换效果.rar 点击下载&#xff1a;给图片加上边框[1].(仿胶卷).rar 点击下载&#xff1a;国外网站的一个效果.rar 点击下载&#xff1…

协助用户搜寻您的网站 { 创建一个OpenSearch }

导言 现代浏览器其中一个最美好的特点&#xff0c; Microsoft Internet Explorer 和 Mozilla Firefox 的浏览器右上角有一个搜索栏在。有了这个工具&#xff0c;您可以很快的进行搜索任何数目的网站&#xff0c;无须首次访问他们的搜索页。 如何搜索您的网站是存在一个XM…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能&#xff0c;通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

《Flash建站技术》系列6-LoadVars数据提交与表单处理

1.LoadVars vs getURLsend()getURL有很多的限制&#xff0c;LoadVars则弥补了这一点Flash时间轴脚本:<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />System.useCodepagetrue;signBtn.onReleasefunction(){var formVars:LoadVar…

C++在线编程网站

1、推荐 https://wandbox.org/ 2、https://www.tutorialspoint.com/compile_cpp_online.php 3、https://www.anycodes.cn/#/OnlineCode 4、https://tool.lu/coderunner/ 测试&#xff1a; #include <iostream>using namespace std;int main() {cout<<"input s…

我记录网站综合系统 -- 技术原理解析[11:ActionProcessor流程-wojilu核心]

这篇文章不是专门讲数据缓存的&#xff0c;但是这里有大量缓存内容&#xff0c;wojilu的缓存系统近期升级了&#xff0c;可能我的理解不是最正确的。 改日将会写专门的缓存文章。 源代码位置&#xff1a;\Web\Mvc\Processors&#xff1a;ActionProcessor.cs Config -> wojil…

大型网站的高可用分析

本文主要分析网站的高可用性&#xff0c;从应用需求、用户角度展开分析。 1.1 高可用性 “高可用性”(High Availability) 通常用来描述一个系统&#xff0c;经过特殊设计&#xff0c;减少停止服务的时间&#xff0c;从而使其服务保持高度的可使用性。 计算机系统的可靠性用平均…

网站安全技术—预防脚本攻击

阅读目录 一&#xff1a;脚本攻击 二&#xff1a;模拟脚本攻击 三&#xff1a;运行效果 四&#xff1a;预防脚本攻击的主要方法 一&#xff1a;脚本攻击 脚本攻击是指将恶意的字符插入到网页中来&#xff0c;浏览器无法验证这些插入的字符&#xff0c;并且会将它们作为网页的一…

We7网站群的共享机制

2019独角兽企业重金招聘Python工程师标准>>> 1.独立部署共享服务器 独立布署共享服务器 共享服务器作为一个独立的服务&#xff0c;允许布署在不同的物理服务器上&#xff0c;从而满足更大负载与更佳性能的要求。 技术支撑&#xff1a;信息打包技术 信息通过数据…

windows server 2008 配置1个服务器多个网站

简略&#xff1a;创建网站的三种虚拟技术&#xff1a;①多IP地址&#xff1b;②一个IP地址多个端口号&#xff1b;③主机头名。1、多IP地址架设多个网站 增加另一个网站&#xff1a;测试成功运行两个网站&#xff1a;2、同一IP地址 多端口3、同一IP地址 不同主机名增加域名…

详细的图文介绍如何利用XAMPP本地建站的环境配置教程

原文:详细的图文介绍如何利用XAMPP本地建站的环境配置教程WordPress 是一个简便快捷&#xff0c;用途广&#xff0c;人气旺的一个开源的博客建站程序。很有很多等您去发现。 简便快捷&#xff1a;在性能上易于操作、易于浏览&#xff1b; 用途广&#xff1a;可以建博客&#xf…

ExtJs学习网站

为什么80%的码农都做不了架构师&#xff1f;>>> ExtJs 入门教程: http://www.cnblogs.com/iamlilinfeng/archive/2012/12/31/2840663.html Sencha Docs 脚本娃娃 (Ext4.1.0 Doc中文版 V1.0.0 Beta) http://extjs-doc-cn.github.io/ext4api/#!/api/Ext ExtJs云盘下载…

网站运维——Chrome 神奇的21秒

2019独角兽企业重金招聘Python工程师标准>>> 1、报障 ①、用户使用chrome进行访问&#xff08;下载&#xff09;&#xff0c;需要等待一段时间&#xff0c;才会提示下载框&#xff0c;debug发现时间都花在Stalled&#xff0c;状态显示pending&#xff0c;无论是跳转…