zarplata / zabbix-agent-extension-elasticsearch Goto Github PK
View Code? Open in Web Editor NEWZabbix agent extension for monitoring Elasticsearch
Zabbix agent extension for monitoring Elasticsearch
I get the following error on zabbix
201:20191025:143752.888 [Z3005] query failed: [1366] Incorrect string value: '\xE2\x94\x94\xE2\x94\x80...' for column 'value' at row 1 [insert into history_str (itemid,clock,ns,value) values (391012,1572028672,559058877,'can`t get indices stats from Elasticsearch https://127.0.0.1:9201
this appears to be caused by the leading characters on:
└─ Get https://127.0.0.1:9201/_cluster/health: dial tcp 127.0.0.1:9201: connect: connection refused
A simple fix is to add "| cat -v" to the zabbix conf to filter out the non-ascii characters.
Does anyone know a way to authenticate user created with X-Pack ?
I have 3-node elasticsearch cluster. I installed elastizabbix and try to connect to ES cluster. But the problem is that zabbix-agent-extension-elasticsearch does not have permission to get cluster stats or health.
( Elasticsearch cluster returned 401 HTTP code, expected 200 HTTP code)
The error is
Cannot create item: item with the same key "elasticsearch.node_stats.jvm.buffer_polls.count.[{#JVMBUFFERSPOOLS}]" already exists
How to correct it?
Hi there,
thank you for this tool but we actually can't use it because the HTTP protocol has been hardcoded. For example here: https://github.com/zarplata/zabbix-agent-extension-elasticsearch/blob/master/elastic.go#L203
Our services run on HTTPS and that does not work :-(
Can you please fix it?
Thanks!
Hi,
Recently I installed the extension and the zabbix-server just have received the datas from zabbix-agent. The another datas from zabbix-trapper didn't came.
Executing manually the commands below, return ok
or the indexes correctly.
/usr/bin/zabbix-agent-extension-elasticsearch --discovery --agg-group my-group --user None --password None
/usr/bin/zabbix-agent-extension-elasticsearch --zabbix my-zabbix-server --prefix None_pfx --user None --password None
/usr/bin/zabbix-agent-extension-elasticsearch --type indices --discovery --agg-group my-group --user None --password None
/usr/bin/zabbix-agent-extension-elasticsearch --type indices --zabbix my-zabbix-server --prefix None_pfx --agg-group my-group --user None --password None
I did another tests, sending data manually using zabbix-sender
, for example:
zabbix_sender -z my-zabbix-server -s "my-elastic-server" -k elasticsearch.cluster_health.active_primary_shards -o 1
but the extension didn't send the datas.
What can doing wrong?
Sorry for my bad english.
Hello!
We have a huge infrastructure to monitor with our Zabbix server so we use several proxy servers for load balancing purposes. And main Zabbix server is closed for monitored hosts.
Is it possible to configure this extension to send data via proxy server?
Thank you.
When I try to make , I have an error. Could you please help me for this? Im newbie.
cd /root/zabbix-agent-extension-elasticsearch/.gopath/src/zabbix-agent-extension-elasticsearch;
GOPATH=/root/zabbix-agent-extension-elasticsearch/.gopath
dep ensure -v
/bin/sh: 2: dep: not found
Makefile:40: recipe for target 'deps' failed
make: *** [deps] Error 127
If you're having problems with the parameters sent, a debugging trick is to add echo here:
UserParameter=elasticsearch.stats[*], echo /usr/bin/zabbix-agent-extension-elasticsearch....
The zabbix item returned is then what you would try to pass to the command.
I didn't know where to comment other than make an issue.
HI,
I get an error when manual build,
Clean dependencies
rm -rf vendor/*
Clean builded binaries
rm -rf .out/
rm -rf .gopath/
Done
Creating GOPATH
mkdir -p .gopath/src
ln -s /root/zabbix-agent-extension-elasticsearch /root/zabbix-agent-extension-elasticsearch/.gopath/src/zabbix-agent-extension-elasticsearch
Fetch dependencies
cd /root/zabbix-agent-extension-elasticsearch/.gopath/src/zabbix-agent-extension-elasticsearch;
GOPATH=/root/zabbix-agent-extension-elasticsearch/.gopath
dep ensure -v
/bin/sh: 2: dep: not found
Makefile:40: recipe for target 'deps' failed
make: *** [deps] Error 127
How can resolve this error? Plz help me.
Tks so much
Does this mean if I have hosts belonging to a Zabbix group called "Production ES" I should define {$GROUPNAME} as "Production ES"?
Hey Guys,
im sorry for ask but i really need help with this matter. After installing the packages and install go and move the .conf file from your .zip to the directory /zabbix/zabbix_agentd.d/. Im stuck with this messages on latest data from zabbix:
"Usage:
zabbix-agent-extension-elastic [options]"
and i dont understand properly this instructions here.
"Customize key prefix
It may you need if key in template already used.
If you need change key elasticsearch.* -> YOUR_PREFIX_PART.elasticsearch.*, run script custom_key_template.sh whit YOUR_PREFIX_PART and import updated zabbix template template_elasticsearch_service.xml.
./custom_key_template.sh YOUR_PREFIX_PART"
PLEASE! can u help-me understand?
Hi,
I am facing some issue for extension configuration. Can anyone help to figure out how to make it work?
Zabbix-agent version: 3.4.11
My configuration like below:
es-01:/usr/local/zabbix/etc/zabbix_agentd.conf.d # cat zabbix-agent-extension-elasticsearch.conf
UserParameter=elasticsearch.discovery[], /usr/bin/zabbix-agent-extension-elasticsearch --discovery --agg-group $1
UserParameter=elasticsearch.stats[], /usr/bin/zabbix-agent-extension-elasticsearch --zabbix-host $1 --zabbix-prefix $2
UserParameter=elasticsearch.indices.discovery[], /usr/bin/zabbix-agent-extension-elasticsearch indices --discovery --agg-group $1
UserParameter=elasticsearch.indices.stats[], /usr/bin/zabbix-agent-extension-elasticsearch indices --zabbix-host $1 --zabbix-prefix $2 --agg-group $3
elasticsearch.stats[{$ZABBIX_SERVER_IP},{$ES_ZBX_PREFIX},ESIP:ESPORT]
This is my zabbix-agentd configuration:
LogFile=/tmp/zabbix_agentd.log
Server=$zabbix_server_ip
ServerActive=$zabbix_server_ip:10051
Hostname=es-01
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
The Macros for one node in cluster:
The Macros for Elastic Template:
Hope someone can elaborate on the specific configuration steps and the set of key parameters. If my statement is not clear enough, please point out. thanks in advance!
"make" fails on Fedora system
$ make
Clean dependencies
rm -rf vendor/*
Clean builded binaries
rm -rf .out/
Done
Fetch dependencies
dep ensure -v
/home/me/zabbix-agent-extension-elasticsearch is not within a known GOPATH/src
make: *** [Makefile:37: deps] Error 1
Hello,
I have Zabbix 4.0.2, Latest zabbix-agent-extensoin-elasticsearch from master [today], Elasticsearch 6.5.2, and when checking the graphs, I don't see any metrics except for port list and process num when viewing the graphs.
my zabbix-agent-extension-elasticsearch.conf says the following
UserParameter=elasticsearch.discovery[], /usr/bin/zabbix-agent-extension-elasticsearch --discovery --elasticsearch $1 --agg-group $2 --user $3 --password $4
UserParameter=elasticsearch.stats[], /usr/bin/zabbix-agent-extension-elasticsearch --zabbix $1 --elasticsearch $2 --prefix $3 --user $4 --password $5
UserParameter=elasticsearch.indices.discovery[], /usr/bin/zabbix-agent-extension-elasticsearch --type indices --discovery --elasticsearch $1 --agg-group $2 --user $3 --password $4
UserParameter=elasticsearch.indices.stats[], /usr/bin/zabbix-agent-extension-elasticsearch --type indices --zabbix $1 --elasticsearch $2 --prefix $3 --agg-group $4 --user $5 --password $6
But I noticed that the key items in the Elasticsearch xml template [that are empty on the graph] are
elasticsearch.cluster_health.*
elasticsearch.node_stats.*
which their are no entries in the zabbix-agent-extension-elasticsearch.conf file which would explain why it's empty in the graphs but I can't options anywhere for it. Any idea?
I think I have the elastic stats parts working, the index stats is failing due to elastic security, the user doesn't have rights to "IndicesStatsRequest".
Any idea what role or access I need to add to my monitoring user?
Thansk
I installed successfully, but can not get stats.
prompt
can`t get cluster health from Elasticsearch http://172.25.24.213:9200
└─ Get http://172.25.24.213:9200/_cluster/health: dial tcp 172.25.24.213:9200: connect: permission denied
but I run zabbix-agent-extension-elasticsearch in she shell return OK.
while I ping elk server from zabbix server return OK.
I got no clue in this issue,
plz help me! 3q
I have my 3 master nodes in a zabbix group called ELSPRD1
On master node 1 set the macro {$GROUPNAME} = ELSPRD1
On this node I get the following item errors :
No values for key "elasticsearch.cluster_health.unassigned_shards" in group(s) "ELSPRD1".
No values for key "elasticsearch.cluster_health.active_shards_percent" in group(s) "ELSPRD1".
No values for key "elasticsearch.cluster_health.status_int" in group(s) "ELSPRD1".
No values for key "elasticsearch.cluster_health.delayed_unassigned_shards" in group(s) "ELSPRD1".
No values for key "elasticsearch.cluster_health.relocating_shards" in group(s) "ELSPRD1".
I'm using zabbix-agent-extention-elasticsearch 20180831.32_7cbc5d1 and I noticed that Zabbix will not receive most of the items when only encrypted communication is allowed from host.
As a workaround allow No encryption from host together with PSK or Certificate.
Not sure if this is a problem in the newer versions too, feel free to close this issue if it is already fixed. Just wanted to save somebody time debugging the issue, because it's not really mentioned anywhere.
Is is necessary to have zabbix sender installed ? The zabbix documentation mentions that the use of trapper requires zabbix sender.
A macro need to be defined with {$ZABBIX_SERVER_IP} in global or local (template) scope with IP address of zabbix server. What if a zabbix proxy sits in the middle ?
Hi,please tell me how change ip address of elasticsearch, because my elastic not resolve in local address
Elasticsearch
IP 127.0.0.1
Port 2900
I want to config elasticsearch port: 2900, Help me please ?
elasticsearch.stats[{$ZABBIX_SERVER_IP},{$ES_ZBX_PREFIX},ESIP:ESPORT]
file : /etc/zabbix/zabbix_agentd.d/zabbix-agent-extension-elasticsearch.conf
UserParameter=elasticsearch.stats[*], /usr/bin/zabbix-agent-extension-elasticsearch --zabbix $1 --prefix $2 --user $3 --password $4
All values of parameter --agg-group in file
zabbix-agent-extension-elasticsearch/configs/zabbix_agentd.d/zabbix-agent-extension-elasticsearch.conf
must be double quoted.
Fix tested with Zabbix 5 + Debian 10
Where to set up groups?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.