[DISCUSS] Prometheus prototype

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[DISCUSS] Prometheus prototype

clebertsuconic
I was doing some quick tinkering with what Victor Romero did on his
docker image for artemis,

and I tried to bring it into Artemis,

I inteded to allow users to do with the create command:

./artemis create FOLDER --jmx-exporter


and that would be enough to enable Prometheus JMX exporter.


however, the way I did, by changing artemis.profile, made the agent to
also be used within other CLI commands such as exporter, print-data..
etc...


So, I am wondering what is the best way to deal with this:



I needed to only enable the exporter on the run command, however I
need the --javaagent to have it working.


Here is a prototype:

https://github.com/clebertsuconic/activemq-artemis/tree/prometheus


I thought about tinkering with the shell script, looking for some
arguments in a way it would be enabled on run.


Any ideas?

--
Clebert Suconic
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Prometheus prototype

vromero
Hi Clebert,

Apologies for the belated reply,

I used the prometheus jmx-exporter
<https://github.com/prometheus/jmx_exporter> as kind of a hack to adapt a
pre-built binary to play better in k8s. I wouldn't leverage it for the
upstream development.

Personally (this is totally just-in-my-opinion land, feel free to ignore
me) I'd leverage something like http://micrometer.io/ from pivotal, which
is kind of a SLF4J but for metrics. It has output bindings for: AppOptics,
Azure Monitor, Netflix Atlas, CloudWatch, Datadog, Dynatrace, Elastic,
Ganglia, Graphite, Humio, Influx/Telegraf, *JMX*, KairosDB, New Relic,
Prometheus, SignalFx, Google Stackdriver, StatsD, and Wavefront. That'd
make artemis a much more compelling cloud player, not just k8s but also
AWS, GCE, Azure, etc.

It would require some decent level of work to change artemis->JMX to
artemis->micrometer->JMX|others thow.

Thanks

El lun., 18 mar. 2019 a las 14:32, Clebert Suconic (<
[hidden email]>) escribió:

> I was doing some quick tinkering with what Victor Romero did on his
> docker image for artemis,
>
> and I tried to bring it into Artemis,
>
> I inteded to allow users to do with the create command:
>
> ./artemis create FOLDER --jmx-exporter
>
>
> and that would be enough to enable Prometheus JMX exporter.
>
>
> however, the way I did, by changing artemis.profile, made the agent to
> also be used within other CLI commands such as exporter, print-data..
> etc...
>
>
> So, I am wondering what is the best way to deal with this:
>
>
>
> I needed to only enable the exporter on the run command, however I
> need the --javaagent to have it working.
>
>
> Here is a prototype:
>
> https://github.com/clebertsuconic/activemq-artemis/tree/prometheus
>
>
> I thought about tinkering with the shell script, looking for some
> arguments in a way it would be enabled on run.
>
>
> Any ideas?
>
> --
> Clebert Suconic
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Prometheus prototype

michael.andre.pearce
My main concern is that we should look at providing metrics agnostic of specific implementation such as Prometheus. As many organisations use different infrastructure/software for metrics.  i think the apache project should remain un-opionated.I really like Victors suggestion of looking at something like micrometer which achieves that clean abstraction. So people can bind in their metric infra easily, with a large number of bindings for the most popular already existing.Sent from my Samsung Galaxy smartphone.
-------- Original message --------From: Victor <[hidden email]> Date: 24/04/2019  10:19  (GMT+05:30) To: [hidden email] Subject: Re: [DISCUSS] Prometheus prototype Hi Clebert,Apologies for the belated reply,I used the prometheus jmx-exporter<https://github.com/prometheus/jmx_exporter> as kind of a hack to adapt apre-built binary to play better in k8s. I wouldn't leverage it for theupstream development.Personally (this is totally just-in-my-opinion land, feel free to ignoreme) I'd leverage something like http://micrometer.io/ from pivotal, whichis kind of a SLF4J but for metrics. It has output bindings for: AppOptics,Azure Monitor, Netflix Atlas, CloudWatch, Datadog, Dynatrace, Elastic,Ganglia, Graphite, Humio, Influx/Telegraf, *JMX*, KairosDB, New Relic,Prometheus, SignalFx, Google Stackdriver, StatsD, and Wavefront. That'dmake artemis a much more compelling cloud player, not just k8s but alsoAWS, GCE, Azure, etc.It would require some decent level of work to change artemis->JMX toartemis->micrometer->JMX|others thow.ThanksEl lun., 18 mar. 2019 a las 14:32, Clebert Suconic (<[hidden email]>) escribió:> I was doing some quick tinkering with what Victor Romero did on his> docker image for artemis,>> and I tried to bring it into Artemis,>> I inteded to allow users to do with the create command:>> ./artemis create FOLDER --jmx-exporter>>> and that would be enough to enable Prometheus JMX exporter.>>> however, the way I did, by changing artemis.profile, made the agent to> also be used within other CLI commands such as exporter, print-data..> etc...>>> So, I am wondering what is the best way to deal with this:>>>> I needed to only enable the exporter on the run command, however I> need the --javaagent to have it working.>>> Here is a prototype:>> https://github.com/clebertsuconic/activemq-artemis/tree/prometheus>>> I thought about tinkering with the shell script, looking for some> arguments in a way it would be enabled on run.>>> Any ideas?>> --> Clebert Suconic>