暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

官方博文 | Zabbix Agent2 新特性

Zabbix开源社区 2019-12-10
1772

Magic of New Zabbix Agent 

关于Zabbix Agent

Zabbix agent是一个守护程序,可从操作系统(OS)本地收集指标。它非常强大,可在类似UNIX的操作系统和Windows OS上使用,并且由于其占地面积小(意味着资源消耗低)而可以在资源有限的设备上运行。Zabbix Agent允许轻松,无限地收集资源。此外,该工具还可以使用灵活/预定的时间间隔选项自定义时间间隔,以根据需要调整数据收集。

 Zabbix agent收集以下现成的指标:

(1)磁盘和NIC统计信息

(2)内存消耗和CPU使用率(每个系统,每个进程)

(3)主机名,操作系统版本和其他常规指标

(4)监听端口状态

 它还可以解析日志和简单文件,读取Windows事件日志以及从友好的Zabbix服务器/代理收集统计信息等。

一. Zabbix Agent能监控采集到什么指标呢?

•端口状态等

•磁盘统计、NIC统计……

•内存消耗、CPU使用……

•主机名或系统版本信息等通用指标

如果这些都不够,还有需求监控更多的指标,该怎么办呢?

可以使用如下的扩展:

1.Custom modules自定义模块 –coding编码 jedies!

(1)与本机ZabbixAgent指标一样高效

(2)但要学习如何使用C语言

main { printf("How to C learn, young padawan!")

2.User Parameters –脚本界的“忍者”

(1)可以运行任何关于Zabbix Agent用户权限的命令

(2)可以运行指令

(3)最好用主动式Zabbix Active Agent

3.system.run[*]

(1)简单又强大

(2)无需担心用户参数UserParamete命令行或文件是否已经部署到配置中

(3)如果你想改变命令,不用重新启动Zabbix Agent

(4)能力越大,责任越大

二.Zabbix Agent的新特性

1.当前Zabbix Agent的局限性

(1)缺乏接收第三方traps的能力

(2) 没有Active checks主动检查的预定/自定义间隔

(3)每个ZabbixServer/Proxy记录有一个活动检查进程

(4)不是每个人都想学C语言

2.为什么Zabbix Agent用GO呢?

新Zabbix Agent特性一:不再是C,而是GO

(1)编译成单个二进制文件并部署

(2)在我们的时代,Go是最流行的开发语言之一

(3)比C简单一点点

3.新Zabbix Agent的无穷性

(1)支持Scheduled/Flexible这两种类型时间间隔检查

(2)支持较老的.conf文件

(3)多个并行日志文件读取

(4)开箱即用的systemd监控

(5)在插件级别实现超时

4.新Zabbix Agent组成

(1)连接器

(2)管理与Server服务器的通信

(3)监控项配置

(4)度量缓冲区

(5)每1个连接1个ServerActive

(6)Listener

(7)接受被动请求并将其转发给调度程序

(8)调度程序

(9)根据调度和任务并发性管理任务队列

(10)每个代理只有一个调度程序

5.主动式检查与被动式检查的区别

(1)Passive checks

(2)Active checks

6.Queue 任务

(1)两种级别Queue

(2)每个插件都有一个请求检查的队列

(3)调度程序有一个活动插件队列

(4)当一个任务由于并发限制而无法执行时,从调度器队列中取出插件,并仅在可以执行下一个任务时返回

7.Zabbix提供各种用途的框架

新Zabbix Agent,意味着全新,每个人都是“特工”,全新的平台供大家发挥。
现在每个人都是开发者,当然为Zabbix Agent编写自己的插件从来没有那么容易。Zabbix为不同类型的任务提供多种插件接口。

• Exporter • Runner • Watcher • Collector

(1)Exporter

Performs poll and returns: • nothing • an error • single/multiple values.

(2)Runner

For example plugin could start/stop some background goroutine. 

(3)Watcher

Allows to implement your own gathering method. • Listen to a specific port. • Good for supporting different trap-based.

(4)Collector

Use it when you need to gather data on a regular basis. For example, CPU related metrics.

  举例:

•编写代码返回字符串(“Hello World!”)

•注册度量插件。      RegisterMetrics (&impl, “HelloWorld”,“HelloWorld”,“My hello to the World!”)

•将插件放入源文件夹

•将你的插件添加到列表_“zabbix/plugins/helloworld”

•.执行./configure --enable-agent2 && make install

•运行并重新加载之前的.conf文件

三.新Zabbix Agent的可用性

1.命名为Zabbix Agent 2

2. 4.4 -实验版,5.0 -企业版

3.目前只有类linux系统

4.Zabbix Agent 2的Windows -已经在开发中

5.文档-即将发布。

Zabbix Agent2将在近期发布,开发人员和系统管理员的文档可以从我们的Git存储库下载。

Zabbix中国总代理

上海宏时数据系统有限公司

来招人啦!

高薪直聘【Zabbix开源监控软件高级工程师】

长按识别二维码,查看职位详情:

一键关注

关注公众号

加入社区群

Zabbix社区,因你而更美好


文章转载自Zabbix开源社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论