Comments (8)
Also, can we cut out a new release 0.3.1 or something so that we can have this change!
from elasticsearch_exporter.
I agree that cluster status missing is huge.
Personally I'm hoping to collect /_cluster/health
from all nodes.
The /_cluster/health
endpoint does support a local=true
param, which is what we want from a monitoring and "additional load" perspective.
- _cluster/health api-spec
- _cluster/health implementation
Regarding concerns over additional load, looking at the Response code, most of it looks O(1), with one loop of O(# of indices) which looks at each index's state. If the exporter can have a configurable scrape frequency, that should provide operators with what they need.
Monitoring _cluster/health
metrics from all nodes will provide useful signals when the cluster is unhealthy, has a bad or lame node, or other odd split-brain/partition situations. In your "I'm not 100% what would be returned" situation, scraping all nodes should provide a good answer.
from elasticsearch_exporter.
Also, I'd like to suggest the cluster states {green,yellow,red} be exported as three possible integer values assigned to a single metric — Basically avoiding metrics with labels that appear and disappear.
The enum values defined in the es source should be used.
example <metric_name>{} 's :
# green:
elasticsearch_cluster_health_status{cluster_name="mycluster"} 0
later:
# yellow:
elasticsearch_cluster_health_status{cluster_name="mycluster"} 1
from elasticsearch_exporter.
I wrote a _cluster
stats collector using bash/jq:
https://gist.github.com/tamsky/5cdf8f36aea09dd797bc
example stat output for a RED state cluster
# HELP elasticsearch_cluster_status value from _cluster/health/
# TYPE elasticsearch_cluster_status gauge
elasticsearch_cluster_status 2 1454454625000
from elasticsearch_exporter.
Would you want to pull cluster stats from a subset, or just one at a time? I agree that there's important stuff in there, but I want to think through how you would use it.
I'm not sure exactly what internal ES traffic gets created for the cluster to pull those stats together, or what results you get if you try to run on a node that is currently somehow in a bad state.
from elasticsearch_exporter.
Any node in the cluster should return the same stats for the cluster level stats. Because of that, I would prefer to pull the cluster stats from a single instance, or at most maybe a handful of the master nodes in a large cluster.
There's always a possibility that a node in the cluster could disconnect from the cluster in which case I'm not 100% what would be returned - I believe that ES should fail-safe into a 'red' cluster state and not display any cluster stats.
As far as additional load for aggregating these metrics, /stats does take a bit of time (~5 seconds on a 7 node cluster) and /health is ~200ms.
from elasticsearch_exporter.
Is this resolved?
from elasticsearch_exporter.
I'll echo the previous comment. Could someone please make a new release of this?
from elasticsearch_exporter.
Related Issues (20)
- Refactor ClusterInfo package
- Incorrect Metric Type for elasticsearch_data_stream_store_size_bytes
- number_of_shards
- elasticsearch_exporter error: connection refused HOT 1
- Usage of environment variables
- can't query elasticsearch_cluster_health_number_of_nodes HOT 1
- failed to fetch and decode X err="HTTP Request failed with code 401" HOT 1
- Request to release security fix for version v1.6.0 HOT 3
- Configuring Liveness/Readiness probes (httpGet -> scheme) is not working as expected through values file
- When will support elasticsearch 8 HOT 2
- Elasticsearch Exporter not reporting master node as down HOT 2
- The exporter is many times OOMKilled HOT 4
- Raise version for Debian HOT 1
- Is there a relationship between index names and instances? HOT 1
- elasticsearchv8 cluster_settings unmarshal error HOT 4
- In the latest version 1.7.0, is the code Envar("ES_URI") missing for retrieving the value of es.uri? Currently, when transmitted via ES_URI, it is still bound to the default address. HOT 2
- Metric `elasticsearch_cluster_health_up` removed in v1.7.0
- Elastisearch Export 1.1.0 not collecting many metrics on elasticsearch 7.17
- elasticsearch exporter used too much memory ,is it normal
- msg="failed to get cluster info" err="Get \"http://localhost:9200/\": dial tcp 127.0.0.1:9200: connect: connection refused" HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elasticsearch_exporter.