首先我们先来看一下zabbix agent2监控docker插件的实现原理,其实就是通过调用docker的API来获取数据,插件目录位于zabbix-agent2/src/go/plugins/docker,我们先来看一下client.go文件 这里就是定义了使用UNIX套接字地址来进行docker客户端与服务端的通信

config.go定义了docker插件的默认配置,默认套接字位置为/var/run/docker.sock,定义默认超时时间为全局代理超时时间,通过调用conf.Unmarshal()函数,将配置文件中的插件参数加载到Options结构体中

这个是检查配置文件输入的Endpoint是否有错误

再来看一下docker.go,这里定义了docker的监控项的键值,以及对应的API请求路径,参数长度

这里是实现了一个Query方法来对根据传来的API路径构造GET请求获取数据

也就相当于这种请求,其中1.28是一个常量,表示docker的API版本,/var/run/docker.sock是默认套接字位置

这里实现了一个Export接口,将对应的key传入给Query方法,返回一个json格式的数据,模板上会创建一些依赖项,使用预处理进程对json数据进行分割

下面是zabbix实现自动发现容器和镜像的两个方法,会返回包含容器和镜像信息的json数据

对这些指标进行初始化,第一个参数为指向插件实现的指针,第二个参数为插件名称,第三个参数指标1的键值,第二个参数为指标1的说明,往后以此类推

了解了docker插件的实现思路后我们可以根据我们的需求进行扩展,添加对应的api获取数据就可以了,或者根据这个思路在zabbix agent上实现相同的自定义脚本,甚至可以根据docker插件的实现逻辑来自己编写插件实现其他的监控需求

下面我们来使用agent2的模板监控docker

链接docker模板

然后就可以看到docker的状态了

参考链接 :

ZABBIX Agent2监控docker https://mp.weixin.qq.com/s/034qtKMvLSVBTMAu4R1FYw

ZABBIX Agent2监控docker相关推荐

  1. Zabbix Agent2监控redis

    为能及时发现redis服务的存活性状态,以及服务的info信息,慢查询的日志数,因此使用Zabbix Agent2进行监控. 一 监控Redis的实现原理 redis插件位于源码的zabbix-age ...

  2. zabbix企业应用之监控docker容器资源情况

    关于docker的监控,无论开源的CAdvisor.Data Dog还是我自己写的监控(http://dl528888.blog.51cto.com/2382721/1635951),不是通过dock ...

  3. zabbix自动发现实现批量监控docker状态

    最近在搞zabbix监控docker以及docker内部应用状态信息,网上找的资料好少,只找到了一个大神的一篇文章,用的是python实现监控docker容器的基本状态,我在他给的脚本基础上进行修改, ...

  4. zabbix监控docker容器

    1.环境说明 由于最近zabbix进行过一次迁移,所以zabbix-server系列采用docker方式安装,参考zabbix官网:https://github.com/zabbix/zabbix-d ...

  5. Zabbix使用LLD自动发现规则发现监控docker容器(下)

    本篇是使用Zabbix监控docker容器下篇.利用ZABBIX自动发现监控功能,在部署zabbix agent客户端的服务器上,编写自定义功能脚本,实现自动获取服务器上运行的docker服务并监控其 ...

  6. zabbix监控docker

    注:本文以zabbix6.0版本为例,在实际部署过程中请注意自己版本 一:docker模板 1.下载zabbix docker模板,链接如下 Browse Zabbix / Zabbix - ZABB ...

  7. Zabbix agent2安装

    Zabbix Agent2 介绍 Zabbix 5.0 版本推出了使用 go 语言重写的 Agent2,也是 5.0 版本新特性,Agent2 有如下特性: 完成的插件框架支持,可扩张服务及应用监控 ...

  8. zabbix——分布式监控系统

    目录 zabbix概述 zabbix 是什么 zabbix 监控原理 zabbix常见的五个程序 zabbix端口号 安装 zabbix 5.0 部署 zabbix 服务端 部署 zabbix 客户端 ...

  9. Zabbix实现监控Kubernetes

    网上监控 Kubernetes 的工具大部分是 Promethues,基本很少有关于 Zabbix 实现监控Kubernetes 的文章.Zabbix 6.0 LTS 新增 Kubernetes 监控 ...

最新文章

  1. Oracle 好书 02 ( 安装oracle 10g软件及创建数据库 )
  2. mysql 5.6 双向互备_mysql双主互备
  3. 以太坊知识教程------智能合约的5种设计模式
  4. 在AWS控制台里根据需要打开指定的通信端口
  5. 如何使用groff -me在Linux上格式化学术论文
  6. 搜索算法-广度优先和深度优先搜索
  7. hardmard积 用什么符号表示_表面粗糙度=表面光洁度?数值为什么用0.8、1.6、3.2等表示?...
  8. LINUX警告:检测到时钟错误。您的创建可能是不完整的。-转
  9. EF6 Codefirst+MySql 数据库迁移
  10. jquery对标签属性操作
  11. Centos 7 Mysql 最大连接数超了问题解决
  12. 【MATLAB】(三)MATLAB在高等数学中的应用
  13. java打印sscil码_2018最新发布 |SSCI收录语言学学科期刊目录
  14. 北京-地点-文创-南锣鼓巷:南锣鼓巷
  15. mybatis-plus 的getOne用法
  16. SSL/TLS 单双向认证代码示例
  17. 1006 换个格式输出整数
  18. zabbix 参数 脚本_zabbix 自定义脚本短信报警
  19. 将实时频谱分析仪与HIF输出配合使用
  20. 迅捷画图中套用流程图模板编辑方法介绍

热门文章

  1. 系统梳理 Tensorflow、PyTorch 等深度学习框架,洞悉 AI 系统底层原理和算法
  2. 我的模型有多快?——深度学习网络模型的运算复杂度、空间占用和内存访问情况计算...
  3. YOLO目标检测,训练自己的数据集(识别海参)
  4. 从TensorFlow到PyTorch:九大深度学习框架哪款最适合你?
  5. android 屏幕方向改变 重新测量,android – 扫描时自动更改屏幕方向(使用ZXING库)...
  6. php可逆加密解密函数,php 好用可逆的 加密解密 函数。
  7. python读取txt文件出现UnicodeError
  8. 去除非ascii字符以及ascii中的控制符
  9. linux mysql5.5.50_linux下安装mysql5.5
  10. ObjC学习6-分类、协议及预处理程序