[ZBXNEXT-5453] Zabbix Agent2 (Golang PoC for 4.4) Created: 2019 Jun 04 Updated: 2020 Mar 16 Resolved: 2020 Mar 16 |
|
Status: | Closed |
Project: | ZABBIX FEATURE REQUESTS |
Component/s: | Agent (G) |
Affects Version/s: | None |
Fix Version/s: | 4.4.0rc1, 4.4 (plan) |
Type: | Epic | Priority: | Major |
Reporter: | Rostislav Palivoda | Assignee: | Andris Zeila |
Resolution: | Fixed | Votes: | 4 |
Labels: | golang | ||
Σ Remaining Estimate: | Not Specified | Remaining Estimate: | Not Specified |
Σ Time Spent: | Not Specified | Time Spent: | Not Specified |
Σ Original Estimate: | Not Specified | Original Estimate: | Not Specified |
Issue Links: |
|
|||||||||||||||||||||||||
Sub-Tasks: |
|
|||||||||||||||||||||||||
Epic Name: | Zabbix Agent golang PoC | |||||||||||||||||||||||||
Team: | Team A | |||||||||||||||||||||||||
Sprint: | Sprint 56 (Sep 2019), Sprint 55 (Aug 2019), Sprint 53 (Jun 2019), Sprint 54 (Jul 2019), Sprint 57 (Oct 2019), Sprint 58 (Nov 2019), Sprint 59 (Dec 2019), Sprint 60 (Jan 2020), Sprint 61 (Feb 2020), Sprint 62 (Mar 2020) | |||||||||||||||||||||||||
Story Points: | 0 |
Description |
Agent written in Go with the following minimal requirements:
It can be extended further if we get a positive outcome from the experiment. |
Comments |
Comment by Adrian Lopez [ 2019 Sep 27 ] |
Instead of writing a new agent, maybe it is possible to adapt [Telegraf|https://github.com/influxdata/telegraf/]. We hace added a Zabbix [output|https://github.com/influxdata/telegraf/pull/3966], still not finished. Currently Telegraf does not have a way to retrieve configuration from an external entity, but here is a POC of one of the maintainers of Telegraf to address that: https://github.com/danielnelson/tgconfig/tree/master/plugins/loaders/toml Telgraf have more than 150 plugins to collect metrics from different software. We will be glad to help. |
Comment by Alexei Vladishev [ 2019 Oct 01 ] |
Adrian, the idea behind the new Zabbix agent is to have much more advanced functionality not necessarily limited to data collection only. |
Comment by Denis Kot [ 2019 Oct 29 ] |
I'm not a Go programmer, maybe it's not possible to do it in Go, but why not to use a real modular system? When you don't have to recompile a whole agent (and then distribute it across all your instances, or even worse, have tens of different agents compiled) but simply compile your module (i.e. module.so), put it in, i.e. /etc/zabbix/agent2.modules/, add this path to zabbix.cond (include /etc/zabbix/agent2.modules/*.so) and restart agent. |
Comment by Alexei Vladishev [ 2019 Oct 29 ] |
Denis, I am sure it will be implemented at some point in the future. This way we will give everyone a choice: compile it in or use a plugin as a standalone module. |