Skip to content
Provides a Zabbix format reporter and server for Telemetry.Metrics definitions.
Elixir
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib log keys of not processed values Oct 8, 2019
test
.formatter.exs
.gitignore
LICENSE Initial comit Oct 8, 2019
README.md
mix.exs
mix.lock

README.md

TelemetryMetricsZabbix

Provides a Zabbix format reporter and server for Telemetry.Metrics definitions.

Installation

The package can be installed by adding telemetry_metrics_zabbix to your list of dependencies in mix.exs:

def deps do
  [
    {:telemetry_metrics_zabbix, "~> 0.1"}
  ]
end

Configuration

Add approperiate config section to your config.exs

config :telemetry_metrics_zabbix, :config,
  host: "zabbix.trapper.host",
  port: 10051,
  hostname: "monitored.host",
  batch_window_size: 1000,
  timestamping: true

Usage

Add TelemetryMetricsZabbix to your application supervision tree and pass metrics as a param.

Example

metrics = [
  Telemetry.Metrics.sum("http.request.latency", tags: [:host])
]

children = [
  {TelemetryMetricsZabbix, metrics: metrics}
]
opts = [strategy: :one_for_one, name: MyApp]
Supervisor.start_link(children, opts)

Currently supported metrics

  • Telemetry.Metrics.Counter: counts events
  • Telemetry.Metrics.Sum: sums events' values
  • Telemetry.Metrics.Summary: calculates events' values average
  • Telemetry.Metrics.LastValue: returns all events' values with timestamps

Measuremet to zabbix value conversion

Measurements are aggregated by event name, measurement and tag values. All those parts are included as Zabbix Sender Protocol key

Example

with metric

Telemetry.Metrics.sum("http.request.latency", tags: [:host])

and event

:telemetry.execute([:http, :request], %{latency: 200}, %{host: "localhost"})

Zabbix key will be http.request.latency.localhost

Documentation

Docs can be found at https://hexdocs.pm/telemetry_metrics_zabbix.

License

TelemetryMetricsZabbix source code is released under MIT License. Check LICENSE file for more information.

You can’t perform that action at this time.