deadtrickster / Prometheus.ex
Prometheus.io Elixir client
Stars: ✭ 343
Programming Languages
elixir
2628 projects
Projects that are alternatives of or similar to Prometheus.ex
Prometheus.erl
Prometheus.io client in Erlang
Stars: ✭ 276 (-19.53%)
Mutual labels: monitoring, metrics, prometheus, instrumentation
Prometheus rabbitmq exporter
Prometheus.io exporter as a RabbitMQ Managment Plugin plugin
Stars: ✭ 248 (-27.7%)
Mutual labels: monitoring, metrics, prometheus, instrumentation
Mtail
extract internal monitoring data from application logs for collection in a timeseries database
Stars: ✭ 3,028 (+782.8%)
Mutual labels: monitoring, metrics, prometheus, instrumentation
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+479.01%)
Mutual labels: monitoring, metrics, prometheus, instrumentation
Prometheus.cl
Prometheus.io Common Lisp client
Stars: ✭ 67 (-80.47%)
Mutual labels: monitoring, metrics, prometheus, instrumentation
Telemetry metrics
Collect and aggregate Telemetry events over time
Stars: ✭ 144 (-58.02%)
Mutual labels: monitoring, metrics, instrumentation
Github Monitoring
Monitor your GitHub Repos with Docker & Prometheus
Stars: ✭ 163 (-52.48%)
Mutual labels: monitoring, metrics, prometheus
Kube State Metrics
Add-on agent to generate and expose cluster-level metrics.
Stars: ✭ 3,433 (+900.87%)
Mutual labels: monitoring, metrics, prometheus
Docker Traefik Prometheus
A Docker Swarm Stack for monitoring Traefik with Promethues and Grafana
Stars: ✭ 215 (-37.32%)
Mutual labels: monitoring, metrics, prometheus
Prometheus
The Prometheus monitoring system and time series database.
Stars: ✭ 40,114 (+11595.04%)
Mutual labels: monitoring, metrics, prometheus
Opencensus Web
A stats collection and distributed tracing framework
Stars: ✭ 168 (-51.02%)
Mutual labels: monitoring, metrics, instrumentation
Hastic Server
Hastic data management server for analyzing patterns and anomalies from Grafana
Stars: ✭ 292 (-14.87%)
Mutual labels: monitoring, metrics, prometheus
Rabbitmq Prometheus
A minimalistic Prometheus exporter of core RabbitMQ metrics
Stars: ✭ 124 (-63.85%)
Mutual labels: monitoring, metrics, prometheus
Heplify Server
HEP Capture Server
Stars: ✭ 110 (-67.93%)
Mutual labels: monitoring, metrics, prometheus
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Stars: ✭ 45,930 (+13290.67%)
Mutual labels: monitoring, metrics, prometheus
Github Exporter
Prometheus exporter for github metrics
Stars: ✭ 231 (-32.65%)
Mutual labels: monitoring, metrics, prometheus
Kube Metrics Adapter
General purpose metrics adapter for Kubernetes HPA metrics
Stars: ✭ 309 (-9.91%)
Mutual labels: monitoring, metrics, prometheus
Homer App
HOMER 7.x Front-End and API Server
Stars: ✭ 88 (-74.34%)
Mutual labels: monitoring, metrics, prometheus
Pingprom
Prometheus uptime monitoring quickstart
Stars: ✭ 107 (-68.8%)
Mutual labels: monitoring, metrics, prometheus
Graphite exporter
Server that accepts metrics via the Graphite protocol and exports them as Prometheus metrics
Stars: ✭ 217 (-36.73%)
Mutual labels: monitoring, metrics, prometheus
Prometheus.ex
Elixir Prometheus.io client based on Prometheus.erl.
Starting from v3.0.0 works with Elixir >=1.6 and Erlang >=20. For older versions, please use older tags.
Dashboard from Monitoring Elixir apps in 2016: Prometheus and Grafana by @skosch.
- IRC: #elixir-lang on Freenode;
- Slack: #prometheus channel - Browser or App(slack://elixir-lang.slack.com/messages/prometheus).
Example
defmodule ExampleInstrumenter do
use Prometheus.Metric
def setup do
Histogram.new([name: :http_request_duration_milliseconds,
labels: [:method],
buckets: [100, 300, 500, 750, 1000],
help: "Http Request execution time"])
end
def instrument(%{time: time, method: method}) do
Histogram.observe([name: :http_request_duration_milliseconds, labels: [method]], time)
end
end
or
defmodule ExampleInstrumenter do
use Prometheus.Metric
@histogram [name: :http_request_duration_milliseconds,
labels: [:method],
buckets: [100, 300, 500, 750, 1000],
help: "Http Request execution time"]
def instrument(%{time: time, method: method}) do
Histogram.observe([name: :http_request_duration_milliseconds, labels: [method]], time)
end
end
Here histogram will be declared in auto-generated @on_load
callback, i.e.
you don't have to call setup manually.
Please read how to measure durations correctly with prometheus.ex.
Integrations / Collectors / Instrumenters
- Ecto collector
- Elli middleware
- Extatus - App to report metrics to Prometheus from Elixir GenServers
- Plugs Instrumenter/Exporter
- Fuse plugin
- OS process info Collector (Linux-only)
- Phoenix instrumenter
- RabbitMQ Exporter
Dashboards
Installation
Available in Hex, the package can be installed as:
-
Add
prometheus_ex
to your list of dependencies inmix.exs
:def deps do [{:prometheus_ex, "~> 3.0"}] end
-
Ensure
prometheus_ex
is started before your application:def application do [applications: [:prometheus_ex]] end
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].