I search to install opensearch exporter to collect opensearch metrics.
Compared to the plugin on open distro/elasticsearch, which was installed in standalone process
Now the Opensearch exporter is installed in plugin mode.
It doesn’t look like vvanholl/elasticsearch-prometheus-exporter supports OpenSearch. Plugins have to be ported over and it doesn’t look like vvanholl has done this for that particular project.
@GnarlyCapricorne in addition to @lukas-vlcek suggestion, if you need / want / prefer to install the plugin from the local filesystem, use file:// + full path URL notation, for example:
It s always KO but the new message error is encouraging.
-> Installing file:///images/opensearch_exporter.zip
-> Downloading file:///images/opensearch_exporter.zip
Retrieving zip from file:///images/opensearch_exporter.zip
-> Failed installing file:///images/opensearch_exporter.zip
-> Rolling back file:///images/opensearch_exporter.zip
-> Rolled back file:///images/opensearch_exporter.zip
Exception in thread "main" java.nio.file.NoSuchFileException: /opt/opensearch/90/current/plugins/.installing-16875165838775592868/plugin-descriptor.properties
ZIP do not have plugin descriptor too. (on dl from git official)
I download ZIP directly from Github. I upload zip in my linux worker. (Worker is offline)
For info, on my worker, i have multi opensearch nodes ( I don’t know if it impacts the installation of the plugin) :
ls -ltrh /opt/opensearch/
drwxr-x— 3 opensearch opensearch 4.0K Jan 26 16:58 90
drwxr-x— 3 opensearch opensearch 4.0K Jan 26 16:59 01
drwxr-x— 3 opensearch opensearch 4.0K Jan 26 16:59 02
drwxr-x— 3 opensearch opensearch 4.0K Jan 26 16:59 03
For plugin install, i go in master directory to launch :
cd /opt/opensearch/90/current/
./bin/opensearch-plugin install -b file:///images/opensearch-prometheus-exporter-master.zip -v
I would be really interested in learning more details.
The OpenSearch exporter works the same way as the original Elasticsearch exporter. Even for Elasticsearch exporter the recommendation was to install it on all nodes (because generally the assumption is that Prometheus is scraping metrics from all cluster nodes thus the plugin must be present on every node).
Can you please share more details about your OpenSearch cluster - Prometheus setup? How is Prometheus discovering individual OpenSearch nodes? Do you provide static list of nodes to scrape or do you rely on dynamic node discovery?
What makes you think the OpenSearch Prometheus exporter has degraded performance?
Which version of OpenSearch are you using BTW?
PS : If anyone know how to modify an exporter or has already done so? Somes metrics are useless…
Feel free to provide more details about the problem and I can instruct you.
The OpenSearch exporter works the same way as the original Elasticsearch exporter.
The elasticsearch exporter…
was installed like a java process on one physcal machine Opensearch.
I can configure the listening port.
I use es.all option to retrieve all cluster and node stats. (i not load indices, settings…).
With es.all this exporter generated 22 000 metrics AND i have all metrics for all nodes !
(If i install elasticsearch exporter on another node, we will have 22 000 * 2 metrics scraped.)
For information, we all options set, elasticsearch exporter generate 60 000 metrics by default.
Synthesis :
With just one install of this exporter, i have all metrics of cluster and nodes !
Ok it is a spof, but I just have to install it on another machine to have HA.
Volume of metrics (with full options) : 60 000 * 2 elasticsearch exporter (like 2 for HA)
The Opensearch exporter…
was installed like a plugin on Opensearch. Very easy to use.
I cannot configure the listening port (is not a problem because i can use push gateway…).
Options to limits metrics like indices, settings must be write in opensearch.yml ? Dynamic updated settings go to 404 error from GitHub - aparo/opensearch-prometheus-exporter: OpenSearch Prometheus Exporter (fork of https://github.com/vvanholl/elasticsearch-prometheus-exporter)
BUT if plugin is not deploy on all nodes, only metrics about the node where exporter was installed are scraped.
Plugin Opensearch exporter generated by default, 60 000 metrics by nodes. (I have 72 nodes…)
So 4 320 000 metrics scraped at each scrapping.
Synthesis :
For cluster informations it’s the same behavior.
For nodes stats, you must deploy plugin on all nodes to have full metrics like elasticsearch exporter. (…more consumer)
For info : Opensearch 1.2.3
My opensearch cluster is composed :
18 Linux physical machine with 300 GB RAM. (java process)
72 nodes (4 on each machine) : 3 masters, 6 coordinators (4 for dedicated writting) and 63 data nodes.
Network private. (we must use Push Gateway to export Metrics to Prometheus).
Prometheus is not direcly accessible by physical machine, we have to pass through a push gateway.
==> I don’t know how to use dynamic discovery node and i not view documentation about that. (And we don’t have acces to Prometheus with machines Opensearch)
With Opensearch or Elasticsearch Plugin; each nodes send metrics to Push Gateway.
Compared to the elasticsearch exporter, Opensearch exporter represents a much higher load because each node sends its own 60 000 metrics by default.
For me and for the moment, the easiest to use remains the elasticsearch plugin to scrape clusters and nodes metrics.
I may be wrong but looking at the load versus information reported, the elasticsearch plugin seems more profitable
I think it lacks an es.all on Opensearch Plugin like the Elasticsearch plugin does. That way, with opensearch plugin, I would just have to install the plugin on my coordinator nodes (4) and i have HA and all nodes metrics!