基于zabbix实现监控Jenkins过程详解

基于zabbix实现监控Jenkins过程详解,第1张

基于zabbix实现监控Jenkins过程详解

本文的重点是根据扎比克斯对詹金斯进行监控的过程的详细说明。原文中根据示例代码的详细介绍非常详细,对大家的学习培训或者工作都有一定的参考价值,朋友们一定要参考。

一、监控框架图

二。完成的想法

  • 在Jenkins上安装Metrics插件,公开metricsapi;
  • 编写python代码从api抓取数据信息,并将数据信息解析成zabbix可以识别的文件格式;
  • 配置Zabbix服务器和代理,完成监控和报警。
  • 三。实际配置

    1.安装Jenkins度量插件。

    下载插件链接:http://updates.Jenkins-ci.org/download/plugins/metrics/

    安装度量插件。在系统软件配置中,会出现空“指标”的配置,如下图所示:


    配置项并不复杂。每个人都必须点击“生成...”以形成访问密钥(记住在形成访问密钥后保存它)。这个钥匙是用来核对真实身份的,以后大家都会用到。

    保存后,我们在电脑浏览器中键入URL:http://jenkins.local,me/metrics/<新形成的访问键>:认证Jenkins是否已经暴露了metrics?如果您看到下图,这表明您可以执行下一步:

    1.1指标插件的详细信息

    根据dropwizard/metrics完成度量插件。它根据四个套接字公开索引值数据信息:/metrics、/ping、/threads、/healthcheck。

    1.2度量插件:/度量套接字详细信息

    单击图中的度量连接(http://jenkins.local.me/metrics/<;访问键>/metrics),它公开了以下索引值数据信息:

    { version:"4.0.0", gauges:{...}, counters:{...}, histograms:{...}, meters:{...}, timers:{...} }

    量规:一个指标值的瞬时值,比如:今天jenkins执行人总数(Jenkins.executors.count.value)
    计数器:一个指标值的总标准值,比如httprequires主题的活动线程数(http.activerequests)
    量规:某段时间内恶性事件发生的概率,比如Jenkins成功任务的日执行频率(Jenkins.runs.success.m1_rate)[/br例如:Jenkins的每日等待时间(jenkins.job.waiting.duration)

    1.3公制插件的其他插座

    /ping:socketbacktopong表示Jenkins存活,如下所示:

    /threads:返回Jenkins的进程信息内容。

    /healthcheck:返回到以下指示器值:

    { "disk-space":{ "healthy":true }, "plugins":{ "healthy":true, "message":"Nofailedplugins" }, "temporary-space":{ "healthy":true }, "thread-deadlock":{ "healthy":true } }

    Zabbix服务器根据与Zabbix代理的通信完成数据采集。Zabbix代理可以分为被动方式和主动方式。大家用的都是被动模式,也就是Zabbix服务器向代理索取数据信息。
    因此,你必须在Zabbix代理拥有的设备中放一个获取Jenkins指标值数据信息的脚本。然后配置Zabbix服务器定时从代理读取数据,最后配置触发原理完成报警。

    2.1建立监控模板并连接到主发电机组。


    2.2建立监控项目

    在这里,必须说明为什么有很多选择在里面:

  • Type:是Zabbix服务器收集的指标值的类型。大家选择Zabbix代理,就是上面常说的。
  • 关键值:因为我们要监控的指标值不是Zabbix想要的。因此,必须应用客户定义的主要参数来完成对Jenkins指数值的监控。Key的值:Jenkins.metrics[gauges.Jenkins.node.count.value.value]。Jenkins.metrics是必须实现的真实键名。[]是发送给键的匹配指令的主要参数。对于新手来说,Zabbix这些定义非常难以理解。也许知道客户定义的主要参数完成监控时,Zabbix服务器会把这个密钥发送给agent,然后agent会根据这个密钥实现特定的逻辑,获取指标值数据信息。这个逻辑一般是脚本制作(shell指令或者Python脚本制作等。).脚本也可以传递,[]中的值是发送给脚本的主要参数。
  • 内容类型:监控数据信息的基本数据类型。因为该监视项目监视Jenkins节点连接点的数量,所以应用了数据整形。
  • 升级间隔:指Zabbix服务器从代理获取数据信息的频率。
  • 此时,Zabbix服务器端已经配置好了。可以检测->:可以查询最新数据是否有全新的数据信息,然后建立车内仪表盘,图形化显示数据信息。其他监控项目也可以通过这种方式配置。

    监控脚本制作代码

    文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zz/774046.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存