zabbix如何监控访问状态码(基于zabbix实现监控Jenkins过程详解)
zabbix如何监控访问状态码
基于zabbix实现监控Jenkins过程详解一、监控架构图
二、实现思路
- 在 Jenkins 上安装 Metrics 插件,使 Jenkins 暴露 metrics api;
- 编写python代码从api抓取数据,并将数据解析为zabbix可以识别的格式;
- 配置 Zabbix server 及 agent 以实现监控及告警
三、具体配置
1、安装Jenkins Metrics插件
插件下载地址:http://updates.jenkins-ci.org/download/plugins/metrics/
安装 Metrics 插件,在系统配置中,会多出“Metrics”的配置,如下图:
配置项不复杂。我们需要点击“Generate...”生成一个 Access Key(生成后,记得要保存)。这个 Key 用于身份校验,后面我们会用到。
保存后,我们在浏览器中输入URL:http://jenkins.local,me/metrics/<刚生成的 Access Key> 验证 Jenkins 是否已经暴露 metrics。如果看到如下图,就说明可以进行下一步了:
1.1 Metrics 插件介绍
Metrics 插件是基于 dropwizard/metrics 实现。它通过4个接口暴露指标数据:/metrics,/ping,/threads,/healthcheck。
1.2 Metrics 插件:/metrics 接口介绍
点击上图中的metric链接(http://jenkins.local.me/metrics/<Access Key>/metrics),它暴露了以下指标数据:
{ version: "4.0.0", gauges: {...}, counters: {...}, histograms: {...}, meters: {...}, timers: {...} }
Gauges:某项指标的瞬时值,例如:当前 Jenkins executor 的总个数(jenkins.executor.count.value)
Counters:某项指标的总数值,例如:http 请求活动连接数(http.activeRequests)
Meters:一段时间内,某事件的发生概率,例如:Jenkins成功执行的任务每分钟的执行次数(jenkins.runs.success.m1_rate)
Histogram:统计指标的分布情况。例如:Jenkins executor 数量的分布(jenkins.executor.count.history)
Timer:某项指标的持续时间。例如:Jenkins 任务等待时间(jenkins.job.waiting.duration)
1.3 Metrics插件其他接口
/ping:接口返回pong代表 Jenkins 存活,如下图:
/threads:返回 Jenkins 的线程信息
/healthcheck:返回以下指标:
{ "disk-space" : { "healthy" : true }, "plugins" : { "healthy" : true, "message" : "No failed plugins" }, "temporary-space" : { "healthy" : true }, "thread-deadlock" : { "healthy" : true } }
Zabbix server 通过与 Zabbix agent 进行通信实现数据的采集。而 Zabbix agent 又分为被动和主动两种模式。我们使用的是被动模式,也就是Zabbix server 向 agent 索要数据。
所以,我们需要在 Zabbix agent 所在机器放一个获取 Jenkins 指标数据的脚本。再配置 Zabbix server 定时从该 agent 获取数据,最后配置触发器(trigger)实现告警。
2.1 创建监控模板并链接至主机组
2.2 创建监控项
这里需要解释其中几个选项为什么要那样填:
- 类型:是 Zabbix server 采集指标的类型,我们选择的是 Zabbix agent,如上文所说。
- 键值:由于我们要监控的指标并不是 Zabbix 预定义的。所以,需要使用用户自定义参数来实现监控 Jenkins 指标。Key 填的值为:jenkins.metrics[gauges.jenkins.node.count.value.value]。jenkins.metrics是需要执行的真正的 Key 名称。而 [] 内是传给该 Key 对应的命令的参数。对于初学者,Zabbix 这部分概念非常不好理解。也许这样会更好理解:在使用用户自定义参数来实现监控的情况下,Zabbix server 会将这个 Key 发送给 agent,然后 agent 根据这个 Key 执行指定的 逻辑 以获取指标数据。这个 逻辑 通常是一段脚本(shell命令或Python脚本等)。而脚本也是可以传参的,[]中的值就是传给脚本的参数。
- 信息类型:监控数据的数据类型,由于该监控项监控的是 Jenkins node 节点的个数,所以,使用数字整型。
- 更新间隔:指 Zabbix server 多长时间向 agent 获取一次数据。
到此,Zabbix server 端已经配置完成。可以在监测->最新数据中查看是否有最新的数据,然后可以创建仪表盘将数据以图形的方式呈现出来。其他监控项也可以按此方法进行配置。
监控脚本代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
- zabbix监控网络线路(分布式监控系统之Zabbix 使用SNMP、JMX信道采集数据的原理解析)
- zabbix5.0源码安装(nginx的zabbix 5.0安装部署的方法步骤)
- zabbixlinux服务进程(利用zabbix监控ogg进程Linux平台)
- zabbix如何验证监控(Zabbix 动态执行监控采集脚本的实现原理)
- centos zabbix服务端(centos7.9安装zabbix5.0.14及配置过程)
- zabbix如何监控web(Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法)
- zabbix 容器(zabbix监控docker应用配置)
- zabbix如何监控访问状态码(基于zabbix实现监控Jenkins过程详解)
- zabbixagent开发环境(Linux zabbix agent部署及配置方法详解)
- zabbix监控sql server集群(zabbix 监控mysql的方法)
- zabbix如何配置监控(zabbix监控mysql的实例方法)
- zabbix基本监控配置(zabbix使用教程+受监控服务器的添加安装教程)
- zabbix数据库解析(zabbix agent2 监控oracle数据库的方法)
- zabbix怎么监控容器(zabbix监控vmware exsi主机的图文步骤)
- zabbix sender能否发送告警数据(python3实现zabbix告警推送钉钉的示例)
- linux服务器安装宝塔(linux宝塔面板安装Zabbix监控服务器资源使用状态)
- 参考文献里期刊名称的写法,你知道吗(参考文献里期刊名称的写法)
- 硕博期刊 SCI SSCI CSSCI分不清 一文带你看懂主流期刊分类(硕博期刊SCISSCI)
- 辱华品牌新百伦官宣新代言人IU,个别粉丝希望get爱豆同款(辱华品牌新百伦官宣新代言人IU)
- 巅峰时期被爆床照,曾被选国民最讨厌女星,IU不为人知的黑历史(巅峰时期被爆床照)
- 每天1万吨牛奶倒进下水道,美国大萧条一幕重现(每天1万吨牛奶倒进下水道)
- 如何看待美国数十万加仑牛奶倒下水道 历史又重演了(如何看待美国数十万加仑牛奶倒下水道)
热门推荐
- pymongo是否线程安全(pymongo中group by的操作方法教程)
- php验证码实现过程(php伪静态验证码不显示的解决方案)
- django用户上传文件怎么接收(Django框架文件上传与自定义图片上传路径、上传文件名操作分析)
- 数据库的创建关键字(数据库 关键字一览表)
- navicat不能连接到mysql报错2013(Navicat连接SQL Server数据:报错08001-命名管道提供程序的完美解决方法)
- 什么是HttpHandler
- django开发平台运用的技术(django的ORM模型的实现原理)
- 怎么删掉laravel(laravel-admin的图片删除实例)
- 什么是mime编码(Mime类型与文件后缀对照表)
- html5页面布局框架(html5移动端自适应布局的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9