InfluxDB vs Prometheus: What are the differences?
What is InfluxDB? An open-source distributed time series database with no external dependencies. InfluxDB is a scalable datastore for metrics, events, and real-time analytics. It has a built-in HTTP API so you don't have to write any server side code to get up and running InfluxDB is designed to be scalable, simple to install and manage, and fast to get data in and out..
What is Prometheus? An open-source service monitoring system and time series database, developed by SoundCloud. Prometheus is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true.
InfluxDB can be classified as a tool in the "Databases" category, while Prometheus is grouped under "Monitoring Tools".
Some of the features offered by InfluxDB are:
- Time-Centric Functions
- Scalable Metrics
On the other hand, Prometheus provides the following key features:
- a multi-dimensional data model (timeseries defined by metric name and set of key/value dimensions)
- a flexible query language to leverage this dimensionality
- no dependency on distributed storage
"Time-series data analysis" is the top reason why over 36 developers like InfluxDB, while over 32 developers mention "Powerful easy to use monitoring" as the leading cause for choosing Prometheus.
InfluxDB and Prometheus are both open source tools. Prometheus with 25K GitHub stars and 3.56K forks on GitHub appears to be more popular than InfluxDB with 16.7K GitHub stars and 2.39K GitHub forks.
According to the StackShare community, Prometheus has a broader approval, being mentioned in 244 company stacks & 85 developers stacks; compared to InfluxDB, which is listed in 120 company stacks and 39 developer stacks.
What is InfluxDB?
What is Prometheus?
Want advice about which of these to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
We use InfluxDB as a store for our data that gets fed into Grafana. It's ideal for this as it's a lightweight storage engine that can be modified on the fly by scripts without having to log into the server itself and manage tables. The HTTP API also makes it ideal for integrating with frontend services.
We primarily use Prometheus to gather metrics and statistics to display them in Grafana. Aside from that we poll Prometheus for our orchestration-solution "JCOverseer" to determine, which host is least occupied at the moment.
To track time-series of course, utilizing few retention rules and continuous queries to keep time-series data fast and maintanable
InfluxDB ingests information from various sources (mostly Telegraf instances) into one place for monitoring purposes.
Gather metrics from systems and applications. Evaluate alerting rules. Alerts are pushed to OpsGenie and Slack.
We primarily use Prometheus to gather metrics and statistics to display them in Grafana.