Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Collecting metrics with Prometheus and VictoriaMetrics - Aliaksandr Valialkin (RUS) | Ruby Meditation 26


Published on

Speech of Aliaksandr Valialkin, Founder VictoriaMetrics, at Ruby Meditation #26 Kyiv 16.02.2019
Next conference -

Prometheus is a popular solution for metrics' collection and alerting. But it isn't suited for storing historical data. Let's see how VictoriaMetrics resolves this issue.

Announcements and conference materials
The stream of Ruby conferences (not just ours)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Collecting metrics with Prometheus and VictoriaMetrics - Aliaksandr Valialkin (RUS) | Ruby Meditation 26

  1. 1. Collecting metrics with Prometheus and VictoriaMetric Aliaksandr Valialkin, VictoriaMetrics
  2. 2. Let me introduce myself ● VictoriaMetrics founder and core developer ● Fasthttp creator ● Fond of performance optimizations
  3. 3. What is Prometheus? ● The most popular monitoring system ● Metrics’ collector ● Time Series DB ● Rules evaluator and alerter
  4. 4. What Prometheus can do? ● Collecting metrics from pre-configured targets ● Storing metrics in the local and remote DBs ● Executing queries against metrics stored in the DB ● Sending alerts on pre-configured rules ● Helping to build nice dashboards in Grafana
  5. 5. Ruby + Prometheus ● + ● - hard to use properly due to support pre-fork (unicorn) servers issue
  6. 6. usage # Set up a global Statsd client for a server on localhost:9125 $statsd = 'localhost', 9125 # Send some stats $statsd.increment 'garets' $statsd.timing 'glork', 320 $statsd.gauge 'bork', 100 # Use {#time} to time the execution of a block $statsd.time('account.activate') { @account.activate! } # Create a namespaced statsd client and increment 'account.activate' statsd ='localhost').tap{|sd| sd.namespace = 'account'} statsd.increment 'activate'
  7. 7. Local DB issues in Prometheus ● Doesn’t scale outside the node ● Has limited size and retention (15 days)
  8. 8. Remote DB to rescue ● Remote DB may transparently scale to many nodes ● Remote DB may deal better with big retentions ● Remote DB may collect and query data from multiple Prometheus instances ● Remote storages for Prometheus - and-storage
  9. 9. What is VictoriaMetrics? ● Long-term remote storage for Prometheus ● Single-node version is available at ● SaaS is in progress at ● There is SaaS playground at
  10. 10. VictoriaMetrics features ● Fast and cost-effective - see articles at ● Easy to operate - just a single executable without dependencies ● Supports PromQL - native query language for Prometheus ● Accepts metrics in InfluxDB and Graphite formats
  11. 11. Questions?