🌐
Reddit
reddit.com › user/jackdann555 › prometheus vs influxdb
r/u_jackdann555 on Reddit: Prometheus Vs Influxdb
November 2, 2022 - Its primary goal is to store data, ... visualization and interaction with all other elements of the stack. ... Prometheus is a system that operates on a pull basis....
🌐
Reddit
reddit.com › r/selfhosted › prometheus vs. influxdb
r/selfhosted on Reddit: Prometheus vs. InfluxDB
May 7, 2025 - I eneded up going with InfluxDB for 2 reasons: The documentation was really solid and the system really easy to setup, and they provided the Telegraf agent that would do a lot of the work for me out of the box. I saw later on the Prometheus project growing and getting more and more adoption in the open source community and InfluxDB moving more and more away from that spectrum into a more enterprise-focused monetization framework, which I am totally OK with, to be fair.
🌐
Reddit
reddit.com › r/selfhosted › grafana - influxdb vs prometheus, i can’t see clearly now…
r/selfhosted on Reddit: Grafana - InfluxDB vs Prometheus, I can’t see clearly now…
January 21, 2023 -

I am currently in the process of setting up data visualization using Grafana, but I am unsure whether to use InfluxDB or Prometheus as my database. From my understanding, data needs to be pushed to InfluxDB, would that require a push service, such as a small Python server, to pull data from sources that do not support pushing data and then push it to InfluxDB when new data is present? (It doesn't bother me to code a small server, it's more a question of whether I understand the service structure correctly?)

My use case involves obtaining data from various sources, including Proxmox, TrueNAS, and other services in my home lab, as well as IoT devices on my local network which I have control over, so I guess it’s not a problem, but I also need to get data from external API's, some of which do not support data pushing.

I find it quite difficult to choose what is right in my case…

🌐
Reddit
reddit.com › r/devops › prometheus or influxdb's tick ?
r/devops on Reddit: Prometheus or InfluxDB's TICK ?
June 14, 2018 -

Hi all

We are currently investigating to replace our very expensive DataDog monitoring (That we are not completely satisfied with).

We are thinking to either use the full TICK stack from InfluxData (the OSS one) or Prometheus/AlertManager.

Which one would you recommend ? We will both monitor the infrastructure (On Google Cloud, with various services like SQL Server, PostgreSQL, RabbitMQ, MongoDB, NGINX and more), some application metrics that we will provide and also monitoring Kubernetes.

So far it looks like that Prometheus is more "hype" currently. I've been playing a little bit with both so far and for now I would more to toward the TICK stack that I think it more mature and flexible ? The only thing is that I could not find mature autodiscovery in Telegraf on Kubernetes (to monitor all the pods custom metrics automatically for example)

What would you recommend ? What would be the big differences between both. AFAIK both would both to PULL and PUSH (Prometheus being more PULL first)

For those who ask for the issues we have with DataDog:

  • Too expensive

  • Lot of weird limitations (can't monitor more than 100 RabbitMQ queues, can't monitor all the objects of a PostgreSQL database without listing all of them in their config files)

  • No support for autoscaling in Google Cloud where we asked as high priority almost 2 years ago, this will be a hard requirement in the next month's

  • Limited dashboards interoperability or exportability

  • Paid custom metrics

  • No configuration change history / rollback

Thanks

Top answer
1 of 18
10
disclaimer: Datadog engineer here. Lot of weird limitations (can't monitor more than 100 RabbitMQ queues, can't monitor all the objects of a PostgreSQL database without listing all of them in their config files) We provide out-of-the box integrations for monitoring RabbitMQ and PostgreSQL that do have some built-in safe limits that work for most customers, but it is possible to monitor more than 200 queues at once. https://github.com/DataDog/integrations-core/blob/a72e994b425896d2932118f422cbb83a7c58daae/rabbitmq/datadog_checks/rabbitmq/rabbitmq.py#L178 You can do so by creating a custom check or even a separate integration based on the open-source one we provide. The provided one just picks some (perhaps arbitrary) safe limits. Edit 2018-06-15: There is a max_detailed_queues property you can add to each instance in the rabbitmq.yaml config file. Limited dashboards interoperability or exportability As a former Datadog customer and now employee, I think we can improve here; history support is something I'd personally love too. But terraform-defined dashboards do help and can be version-control-managed. https://www.terraform.io/docs/providers/datadog/r/timeboard.html . There is also the JSON API. https://docs.datadoghq.com/api/?lang=python#timeboards (edit) And there are some other helpful projects for automatically versioning and managing dashboards in code via the API https://help.datadoghq.com/hc/en-us/articles/206315975-Can-I-backup-Dashboards-or-Monitors-
2 of 18
10
Graphing: For Prometheus, it's recommended to use Grafana. TICK is Chronograf, but Grafana will work as well. Chronograf fits InfluxDB really well and it shines through in the dashboard. The query builder is really great and it's obvious it was made for InfluxDB. But at least the last time I used it (approximately 9 months ago) it supported no form of authentication. The recommendation was to use HTTP basic auth or put it on a secure network. That was a deal breaker for me. EDIT: As per the comment below, and a little more research, it looks like Chronograf supports OAuth for authentication now. It seems I misremembered, I believe it did so back when I was evaluating it as well. At that point, I wasn't looking to setup up my own OIDC Provider and didn't want credentials tied to a 3rd party service. If you're interested though, the document is here: https://docs.influxdata.com/chronograf/v1.5/administration/managing-security/#oauth-2-0-providers-with-jwt-tokens Collection: Although both can do push vs. pull model, my experience has been that InfluxDB + Telegraf excels at push and Prometheus excels at pull. At that, I think it's really more a matter of how your network is set up and how you distribute your configuration. If you can set up a database that can be accessed by all of your endpoints easily and securely and you're content seeding out configuration to most monitored endpoints, the push model is great. If you'd rather have your collection configuration primarily centralized, with apps exposing endpoints that Prometheus scrapes, the pull model can work really well. It can be inconvenient to run Prometheus "exporters" on anything that doesn't natively support Prometheus metrics, but if you're down to do that (they're often lightweight go binaries) than Prometheus is great too. If you're looking for something similar to Datadog, but free, I'd recommend Telegraf + InfluxDB + Grafana. Telegraf is VERY similar to the Datadog agent, particularly after Datadog's migration to go for their agent version 6. The biggest change you'll see (in my opinion) is that Grafana doesn't hold your hand as much when building dashboards and doesn't seem to integrate alerting as well as Datadog. If y'all are heavily utilizing monitoring, I'd do some research in the differences between Kapacitor and Alert-manager, which I don't know enough to speak to.
🌐
Reddit
reddit.com › r/monitoring › should we migrate from sensu+influxdb to prometheus?
r/Monitoring on Reddit: should we migrate from Sensu+InfluxDB to prometheus?
January 6, 2025 -

Hi, as a VMs monitoring system we have been using Sensu+InfluxDB for years (on-prem, multiple sites, > 500 VMs, VMWare). This system scale/works very well and also can be fully integrated with configuration management tool like Puppet, through which we can dynamically manage configurations, per-host parameters used by probes (e.g. credentials, probe parameters, etc.), per-host attributes (e.g. host tags) and also the discovery of services/hosts is fully automated. In addition to that, we are using Prometheus to monitor k8s and related services.

At the same time, the fate of Sensu and InfluxDB seems uncertain and subject to several changes, in addition to the fact that many services now come out natively with a Prometheus endpoint and a set native Grafana dashboards, so creating home-made dashboards and probes seems like a waste of time in 98% of cases.

  1. In your opinion, should we change from Sensu to Prometheus in order to unify/standardize the monitoring system being used? Would you suggest any other tool?

  2. If we decide to use Prometheus for VMs, is it worth thinking about using Consul for host discovery or is it a too complex solution? What would you use instead?

  3. Regards timeseries DB, do you think is it better to migrate to another timeseries DB (e.g. Victoriametrics, M3DB) or not?

  4. Based on your Prometheus experience, could Thanos (or similar sw) be a good solution (i.e. for aggregation/long term metrics store) or is it better to rely on a remote write to a dedicated timeseries DB?

🌐
Reddit
reddit.com › r/grafana › can someone eli5 prometheus vs loki vs grafana vs influx?
r/grafana on Reddit: Can someone ELI5 prometheus vs loki vs grafana vs influx?
November 8, 2021 -

I've got a few small servers I want to take metrics from, ideally system resources AND logs. Do I need both prometheus and loki? Or prometheus and influx?

Any solution for OPNSense?

🌐
Reddit
reddit.com › r/prometheusmonitoring › prometheus vs influxdb
r/PrometheusMonitoring on Reddit: Prometheus vs InfluxDB
March 19, 2017 - In my recent tests InfluxDB has become more efficient in storage usage than Prometheus for data with moderate to high cardinality.
🌐
Reddit
reddit.com › r/dataengineering › prometheus or influx for alerting
r/dataengineering on Reddit: Prometheus or influx for alerting
June 29, 2020 -

Hi,

For my alerting and monitoring needs I generally tend to use grafana and influx. I recently came across prometheus and had few questions about it from the users who are using it.

I used telegraf to push custom metrics to influxdb. It is basically a push model. When I was going through prometheus architecture, it seems to be a pull model. Please help me understand how does it work

Let say I have installed prometheus. I have few machines behind scalesets which come and go depending on the load. How does prometheus know that there are new machines behind the scaleset which it needs to scrape. Also, Isn't a push better model than a pull one ?

Do we need to add new server connections in prometheus for it to scrape metrics from new server added?

Find elsewhere
🌐
Reddit
reddit.com › r/node › influx vs prometheus vs timescale
r/node on Reddit: Influx vs Prometheus vs Timescale
September 7, 2021 - Hey guys! I’d love some feedback if anybody here has experience on these TSDBs. Any corrections or experience to compliment my own would be amazing · A community for discussing anything related to the React UI framework and its ecosystem. Join the Reactiflux Discord (reactiflux.com) for ...
🌐
Reddit
reddit.com › r/devops › prometheus v/s influx (tick stack).any inputs from folks who have tried these?
r/devops on Reddit: Prometheus v/s Influx (TICK stack).Any inputs from folks who have tried these?
October 21, 2017 -

We would like to have the capability to add business event driven monitoring and alerting to our solution at some point in future though the current use case is infrastructure and application monitoring.Mostly a java shop with some java script apps.We had issues with Influx which is our backend with Grafana currently(we are investigating adding Kapacitor and chronograph to the mix fairly soon) losing tons of data because of lack of clustering.

🌐
Reddit
reddit.com › r/homelab › elk, prometheus + influxdb + grafana... i'm a bit lost as to what does what and how they fit together for monitoring my servers
r/homelab on Reddit: ELK, Prometheus + InfluxDB + Grafana... I'm a bit lost as to what does what and how they fit together for monitoring my servers
June 28, 2018 -

I'm trying to setup monitoring for my servers. I have one home server (repurposed hackintosh, so not really server hardware, just a regular PC running Linux) running several services mostly in Docker containers but a couple in VMs, I also have a couple VPS here and there. I have a PiHole running on a RasPi, libreelec/kodi running on another Pi, and opnsense running on dedicated hardware.

I'd like to monitor all these things to avoid stupid things like running out of space without noticing, or having a service down and not noticing, or being alerted if my borg backups fail, or warn me if my rsync.net account is approaching its quota, etc.

I have tried ELK about 6 months ago, but it didn't seem to do what I wanted: I could parse logs for metrics but alerting was a paid feature (a few thousand $ a year IIRC) so that was a no go.

I'm now giving Prometheus a shot because it does alerting for free. I have managed to put together an Ansible role to setup node-exporter wherever I want and put it behind a reverse proxy that does SSL and basic auth.

So it looks like node exporter is to Prometheus what Logstash is to ELK. Prometheus itself is a poor man's datastore filling the role of Ealsticsearch in ELK, but InfluxDB is better at it and recommended for keeping data longer term. Grafana is Kibana. Did I get that right?

  1. Are ELK and Prometheus InfluxDB Grafana (PIG I guess?) redundant to each other or complementary?

  2. Is InfluxDB mandatory?

  3. What are Telegraf and fluentd for, aren't they doing the same thing as node-exporter?

  4. Is there a guide to monitoring and alerting somewhere that would shed some light for someone who is new to it? I found blog posts and the projects' docs, but they assume a lot of prior knowledge on the topic that I don't have.

Hopefully these questions make sense, apologies if they don't; I'm very confused at it all.

Top answer
1 of 2
4
Ok, there's a lot here. TICK stack Telegraf, Influxdb Chronograph and something else. Telegraf ships and send the data, Influx stores it. A lot of people, myself included then use Grafana to display it. Here's what's important about influxdb. It is a time series database. So it's built display metrics over time. cpu temperature over time, fan speed over time. It can also just display the most recent, but the whole things is built around time series. ELK Elasticsearch, logstash, Kibana. Kibana displays shit. ELK stack can parse logs and turn them into data. Comes with a whole bunch of different kinds of logs, syslog, and is customizable. You can do heat maps with this. I use influx, telegraf and grafana to display homelab metrics. per port switch bandwidth, temperatures of everything, fan speeds, all kinds of stuff. Things that integrate really easy: freenas has a graphite output that you can put straight into influx. pfsense can do influx or telegraf, can't remember. proxmox can export natively into influx. Influx can do a whole lot. Stuff that's easily doable but a bit trickier: SNMP-you gotta dick with snmpwalk and table, fun but rewarding project. you'd be shocked what all in your lab can put it snmp. ipmitool-tricky but cool stats. You can also just build a script and curl data into influxdb. Homeassistant can also export data easily into influxdb. this is cool cause you can do cheap server room or whole house temps.
2 of 2
1
If you looking for alternative solution, I suggest Zabbix & Grafana https://github.com/alexanderzobnin/grafana-zabbix Zabbix has a learning curve but once you get over it, it will monitor everything. Zabbix is free open-source software.
🌐
Reddit
reddit.com › r/prometheusmonitoring › should i use prometheus?
r/PrometheusMonitoring on Reddit: Should I use Prometheus?
November 23, 2023 -

Hello,

I am currently working on enhancing my code by incorporating metrics. The primary objective of these metrics is to track timestamps corresponding to specific events, such as registering each keypress and measuring the duration of the key press.

The code will continuously dispatch metrics; however, the time intervals between these metrics will not be consistent. Upon researching the Prometheus client, as well as the OpenTelemetry metrics exporter, I have learned that these tools will transmit metrics persistently, even when there is no change in the metric value. For instance, if I send a metric like press.length=6
, the client will continue to transmit this metric until I modify it to a different value. This behavior is not ideal for my purposes, as I prefer distinct data points on the graph rather than a continuous line.

I have a couple of questions:

  1. In my use case, is it logically sound to opt for Prometheus, or would it be more suitable to consider another database such as InfluxDB?

  2. Is it feasible to transmit metrics manually using StatsD
    and Otel Collector
    to avoid the issue of "duplicate" metrics and ensure precision between actual metric events?

🌐
Reddit
reddit.com › r/dataengineering › moving prometheus, influxdb & mariadb to postgresql&timescaledb
r/dataengineering on Reddit: Moving Prometheus, InfluxDB & MariaDB to PostgreSQL&TimeScaleDB
February 23, 2024 -

I have data spread out over 3 systems: 2 TSDBs (prometheus and InfluxDBv2) and one MariaDB.

I was considering moving all of this into PostgreSQL+TimeScaleDB to have one back-end to manage. It'd make matching between timeseries and more static information stored in classic db tables easier.

  • anyone experience moving from either prometheus/influxdbv2 to timescale?

  • prometheus has this concept of exporters, agents which collect data from sources and make it available for scraping by prometheus. Is there something I could replace these with which would write data to TimeScaleDB?

🌐
Reddit
reddit.com › r/selfhosted › monitoring: understanding all the options
r/selfhosted on Reddit: Monitoring: understanding all the options
November 4, 2022 -

I’m looking for a system monitor, and see many recommendations in previous threads. What I don’t understand is why there are so many combinations and what the differences are:

Prometheus + Grafana
Prometheus + Grafana + Netdata
InfluxDB + Telegraf + Grafana

Prometheus collects data. Grafana displays it. When would you need to add Netdata to that? Why would you drop Prometheus and go with both InfluxDB and Telegraf?

I need basic CPU, Memory, Storage, and Docker container monitoring for my main server. Would also like to monitor a remote VPS and local Linux clients with a single setup if possible.

What should I learn?

Top answer
1 of 4
101

InfluxDB CEO and developer here. The next version of InfluxDB (0.9.5) will have our new storage engine. With that engine we'll be able to efficiently store either single event data or regularly sampled series. i.e. Irregular and regular time series.

InfluxDB supports int64, float64, bool, and string data types using different compression schemes for each one. Prometheus only supports float64.

For compression, the 0.9.5 version will have compression competitive with Prometheus. For some cases we'll see better results since we vary the compression on timestamps based on what we see. Best case scenario is a regular series sampled at exact intervals. In those by default we can compress 1k points timestamps as an 8 byte starting time, a delta (zig-zag encoded) and a count (also zig-zag encoded).

Depending on the shape of the data we've seen < 2.5 bytes per point on average after compactions.

YMMV based on your timestamps, the data type, and the shape of the data. Random floats with nanosecond scale timestamps with large variable deltas would be the worst, for instance.

The variable precision in timestamps is another feature that InfluxDB has. It can represent second, millisecond, microsecond, or nanosecond scale times. Prometheus is fixed at milliseconds.

Another difference is that writes to InfluxDB are durable after a success response is sent to the client. Prometheus buffers writes in memory and by default flushes them every 5 minutes, which opens a window of potential data loss.

Our hope is that once 0.9.5 of InfluxDB is released, it will be a good choice for Prometheus users to use as long term metrics storage (in conjunction with Prometheus). I'm pretty sure that support is already in Prometheus, but until the 0.9.5 release drops it might be a bit rocky. Obviously we'll have to work together and do a bunch of testing, but that's what I'm hoping for.

For single server metrics ingest, I would expect Prometheus to have better performance (although we've done no testing here and have no numbers) because of their more constrained data model and because they don't append writes to disk before writing out the index.

The query language between the two are very different. I'm not sure what they support that we don't yet or visa versa so you'd need to dig into the docs on both to see if there's something one can do that you need. Longer term our goal is to have InfluxDB's query functionality be a superset of Graphite, RRD, Prometheus and other time series solutions. I say superset because we want to cover those in addition to more analytic functions later on. It'll obviously take us time to get there.

Finally, a longer term goal for InfluxDB is to support high availability and horizontal scalability through clustering. The current clustering implementation isn't feature complete yet and is only in alpha. However, we're working on it and it's a core design goal for the project. Our clustering design is that data is eventually consistent.

To my knowledge, Prometheus' approach is to use double writes for HA (so there's no eventual consistency guarantee) and to use federation for horizontal scalability. I'm not sure how querying across federated servers would work.

Within an InfluxDB cluster, you can query across the server boundaries without copying all the data over the network. That's because each query is decomposed into a sort of MapReduce job that gets run on the fly.

There's probably more, but that's what I can think of at the moment.

2 of 4
43

We've got the marketing message from the two companies in the other answers. Now let's ignore it and get back to the sad real world of time-data series.

Some History

InfluxDB and prometheus were made to replace old tools from the past era (RRDtool, graphite).

InfluxDB is a time series database. Prometheus is a sort-of metrics collection and alerting tool, with a storage engine written just for that. (I'm actually not sure you could [or should] reuse the storage engine for something else)

Limitations

Sadly, writing a database is a very complex undertaking. The only way both these tools manage to ship something is by dropping all the hard features relating to high-availability and clustering.

To put it bluntly, it's a single application running only a single node.

Prometheus has no goal to support clustering and replication whatsoever. The official way to support failover is to "run 2 nodes and send data to both of them". Ouch. (Note that it's seriously the ONLY existing way possible, it's written countless times in the official documentation).

InfluxDB has been talking about clustering for years... until it was officially abandoned in March. Clustering ain't on the table anymore for InfluxDB. Just forget it. When it will be done (supposing it ever is) it will only be available in the Enterprise Edition.

https://influxdata.com/blog/update-on-influxdb-clustering-high-availability-and-monetization/

Within the next few years, we will hopefully have a well-engineered time-series database that is handling all the hard problems relating to databases: replication, failover, data safety, scalability, backup...

At the moment, there is no silver bullet.

What to do

Evaluate the volume of data to be expected.

100 metrics * 100 sources * 1 second => 10000 datapoints per second => 864 Mega-datapoints per day.

The nice thing about times series databases is that they use a compact format, they compress well, they aggregate datapoints, and they clean old data. (Plus they come with features relevant to time data series.)

Supposing that a datapoint is treated as 4 bytes, that's only a few Gigabytes per day. Lucky for us, there are systems with 10 cores and 10 TB drives readily available. That could probably run on a single node.

The alternative is to use a classic NoSQL database (Cassandra, ElasticSearch or Riak) then engineer the missing bits in the application. These databases may not be optimized for that kind of storage (or are they? modern databases are so complex and optimized, can't know for sure unless benchmarked).

You should evaluate the capacity required by your application. Write a proof of concept with these various databases and measures things.

See if it falls within the limitations of InfluxDB. If so, it's probably the best bet. If not, you'll have to make your own solution on top of something else.

🌐
Reddit
reddit.com › r › selfhosted › comments › 10hzzkn › grafana_influxdb_vs_prometheus_i_cant_see_clearly_w
Grafana - InfluxDB vs Prometheus, I can't see clearly now…
A place to share, discuss, discover, assist with, gain assistance for, and critique self-hosted alternatives to our favorite web apps, web services, and online tools.
🌐
Prometheus
prometheus.io › docs › introduction › comparison
Comparison to alternatives | Prometheus
Like Prometheus, the InfluxDB data model has key-value pairs as labels, which are called tags. In addition, InfluxDB has a second level of labels called fields, which are more limited in use. InfluxDB supports timestamps with up to nanosecond resolution, and float64, int64, bool, and string data types.