Graphite or InfluxDB


(Michael Klug) #1

Hello,

I am just testing out icinga2 + director to use it in a big distributed monitoring environment with aprox. 2000 hosts and 40.000 services to replace a current icinga1/nagios environment. I have already built a prototype with a master/satellite/client setup working really good with the director module.
My question now is: for long time (1y+) time series data storing and visualization in Icingaweb2 should I be looking at Graphite or InfluxDB from your experience?

Thank you for any input :smiley:


(Marianne Spiller) #2

Hi,

in this case I would tend to use Graphite. I’m using InfluxDB in a small environment and Graphite in a much bigger one, and InfluxDB just makes no fun at all… but these are my very private 2 cent :smiley:

Cheers,
Marianne


#3

I can tell nothing about such a big graphite db, but i have a somehow “huge” influx database that holds 1.5years of data. It is queried via grafana and, later, is included in icingaweb2 via the respective icingaweb2 “grafana” plugin.

I am happy with influx’ performance and storage size at the hdd, but grafana has to chew really hard on a month of data to display in one single graph.

everhow, i am overall happy with influx for my needs (fast query of 1/4 year) and would not go back to graphite.


(Michael Klug) #4

There I have it 1:1 in votes.
I hope some more will come in :smiley:


#5

Do not count too much on the feedback here.
Set up a test environment in a VM, stuff one year of typical fake data in it and check if your needs are fulfilled or not.


(Michael Klug) #6

I thought there would be an obvious community answer, as this is not the case i will most likely do that with clones of the VM i allready have and than compare.

In any case thank you for your input!


(Pavel Kozlov) #7

Hi sadoMasupilami
we tested both products in the company and decided to leave influxdb. like sql-like query language.


#8

Just to be sure:
decided to leave influx or keep influx ?


(Pavel Kozlov) #9

Hi sru,
sorry for my english,
my answer - keep influx


#10

Thanks, that is what i thought :grin:


(Michael Friedrich) #11

Some thoughts from my experience:

Graphite

- hard to install, not many packages
- scaling is needed in larger environments
- debugging with retentions is sometimes not so clear
- possible problems with special characters in metrics, needs write-application-escaping, e.g. `%CPU_time=0.1`
+ once running, stable and reliable. Many Puppet, Ansible, etc. modules for easier deployment.
+ simple input format for metrics with dots
+ no extra overhead with tags and metadata
+ carbon-cache-ng written in Golang is faster, many community proven tools around for scaling

InfluxDB

- impossible to wipe stale data from date X to date Y
- SQL like query language looks simple, but is hard to use in Grafana imho
- Distributed and horizontal scaling is not OSS. Paid enterprise closed source.
- Documentation is at the minimum level, you will Google a lot.
+ fast metric processing, Golang daemons
+ tags and measurements for additional metadata and metric reporting
+ fast development
+ Integration with other tools (Grafana, TICK-Stack)

Graphite not showing any data with HTTPS
(Majales) #12

Hi, I´m just considering what would be the best option for my needs with distributed monitoring ( multiple masters, but no HA) in mind… Right now I have single master with pnp4nagios and about 100 hosts with 800 services ( about 2500 metrics ) Could above variants be combined into one? Does anyone tried Graphite with InfluxDB backend in icinga2? What about InfluxDB HA or Graphite HA? Does anybody has link with howto or some hints how to set up this kind of configuration? I hadn’t google enough yet…

Thanx in advance for any comment.


(Michael Friedrich) #13

I would only use Graphite or InfluxDB and not mix or combine both. You can test-drive both inside the Icinga Vagrant boxes and get an idea what you need. These boxes also include Icinga Web 2 modules for better integration.