emqx / emqx-prometheus Goto Github PK
View Code? Open in Web Editor NEWEMQX Statsd
Home Page: https://www.emqx.io
License: Apache License 2.0
EMQX Statsd
Home Page: https://www.emqx.io
License: Apache License 2.0
Hello,
We are using emqttd (v2.3.11) and emqx-prometheus applicable to emqttd?
Can we get emqttd metrics paramaters on Prometheus with use emqx-prometheus?
Hi,
Is there a possibility to get total metrics for the cluster, not for each and separate node, but for the whole cluster?
In case we wish to work only on a pull model, we don't have a way of disabling the push timer.
It would be great there would be an option to disable the push in case we don't want.
OS_MON (cpu_sup) called by <PID>, unavailable
It was fixed in emqx
.
There can be a mismatch between job name sent by statsd plugin and jobname in EMQ Dashboard template.
The jobname in grafana template is always emqx, however, the jobname in statsd is dynamically obtained:
[Name, Ip] = string:tokens(atom_to_list(node()), "@"),
Url = lists:concat([Uri, "/metrics/job/", Name, "/instance/",Name, "~", Ip]),
so if the broker hostname is different (eg. "emqtt") then the grafana template won't work.
Hi,
emqx docs states that
Note: emqx_statsd does not support the pull operation of Prometheus.
https://docs.emqx.io/broker/latest/en/tutorial/prometheus.html
Pushgateway integration works fine, but in the pgw docs we read
The Prometheus Pushgateway exists to allow ephemeral and batch jobs to expose their metrics to Prometheus. Since these kinds of jobs may not exist long enough to be scraped, they can instead push their metrics to a Pushgateway. The Pushgateway then exposes these metrics to Prometheus.
https://github.com/prometheus/pushgateway
https://prometheus.io/docs/practices/pushing/
Im wondering whats the reason behind sending stats to pushgatway instead of just having an endpoint for prometheus to scrape, as emqx obviously doesnt fall into pgw usual use case.
Are there any plans to support stats scraping (pull style) in any near future?
In the latest release, v4.1.2
, and lower releases - this plugin is named emqx_statsd
and documentation suggests it supports pushing to a statsd endpoint. In fact, I see the repository renaming was only recent and as yet unreleased.
https://docs.emqx.io/broker/latest/en/advanced/metrics-and-stats.html
However, upon trying to configure this to push to a GoStatsD endpoint (port 8125/udp) that I use to bridge to NewRelic, I can't get the integration to work.
Upon digging, it looks like the code is very specifically tied to the prometheus pushgateway metric endpoint format, and looks like it tries to push via HTTP to endpoints like http://pushgateway.example.org:9091/metrics/job/some_job
.
I can expose HTTP ingestion endpoints, but not at paths like /metrics/job/some_job
which I believe are dynamic to the node name?
https://github.com/emqx/emqx-prometheus/blob/v4.1.2/src/emqx_statsd.erl#L85-L87
Is pushing to statsd supported?
I noticed the dependent library seem to allow pushing via UDP to a statsd endpoint, but is this used in this fashion? https://github.com/lpgauth/statsderl
Would love to get statsd metrics into my non-prometheus system ๐
Hi,
the Docker image docs say:
The environment variables which with EMQX_ prefix are mapped to all emqx plugins' configuration file, . get replaced by __.
That means that to customize the pushgateway server (prometheus.push.gateway.server
), we have to pass EMQX_PROMETHEUS__PUSH__GATEWAY__SERVER
as an environment variable, right?
Unfortunately, however, in my case the config under etc/plugins/emqx_prometheus.conf
is not overwritten and still contains the default data. The environment variable is definitely set within the container, which probably means the EMQX_PROMETHEUS__PUSH__GATEWAY__SERVER
notation is incorrect. Which should be used instead?
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.