When comparing Prometheus vs InfluxDB, the Slant community recommends Prometheus for most people. In the question“What are the best time-series databases and/or data stores?” Prometheus is ranked 2nd while InfluxDB is ranked 3rd. The most important reason people chose Prometheus is:
Available as Docker images on Quay.io or Docker Hub, read article [Monitoring Containerized Application Health with Docker](https://blog.sixeyed.com/monitoring-containerized-application-health-with-docker/).
Ranked in these QuestionsQuestion Ranking
Pro Docker image
Available as Docker images on Quay.io or Docker Hub, read article Monitoring Containerized Application Health with Docker.
Pro Powerful query language
The Prometheus query language allows you to slice and dice the dimensional data for ad-hoc exploration, graphing, and alerting.
Alerts are defined using the same powerful query language described above. A separate binary, the Alertmanager, handles alert notifications and aggregations and enables silencing by any label set. If an alert fires, Alertmanager can send an email or page you through an external alerting service like PagerDuty.
Nagios plugin is also offered as a bridge from the parts that are already monitored by Prometheus to the existing Nagios alerting set-up that many companies have in place.
The one-stop solution for the fanciest dashboards is PromDash, a GUI-based dashboard builder with a SQL backend. It talks to any number of Prometheus servers via an HTTP API and graphs their data in highly configurable dashboards. Even Graphite graphs can be included.
Pro Supported by TeamCity
TeamCity 2019.2.2 provides metrics for Prometheus.
Pro Scalable data collection and decentralized architecture
You can reliably monitor the many instances of your services, and independent teams can set up independent monitoring servers.
You can spin up a monitoring server where and when you want, even on your local workstation, without setting up a distributed storage backend or reconfiguring the world.
Pro A multi-dimensional data model, so that data can be sliced and diced at will, along dimensions like instance, service, endpoint, and method.
Prometheus fundamentally stores all data as time series: streams of timestamped values belonging to the same metric and the same set of labeled dimensions. Timestamps have a millisecond resolution, while values are always 64-bit floats.
The metric name specifies the general feature of a system that is measured. For example, a metric to count the total number of HTTP requests received by an API server might be called api_http_requests_total. Adding labels (key/value pairs) to this metric enables Prometheus's dimensional data model: any given combination of labels for the same metric name results in a separate time series.
Pro Easy visualization and monitoring
Can be easily visualized with Chronograf or Graphana.
Pro Open source
InfluxDB is licensed under the MIT license with source code available on GitHub.
Pro Many official drivers
Drivers written in C#, Go, Java, PHP, Python, Rails, and Ruby are available with many more community written drivers.
Pro Powerful data query & manipulation language: FLUX
FLUX is InfluxDB's new query & manipulation language. It's not at all like SQL (unlike the previous query language) - but is more powerful, testable & development friendly
Pro Pluggable storage model
Con Needs configuration
Not as easy to deploy as some other tools.
Con Loses data when overloaded
Con Poor performance for deletion with predicates
Con Clustering not available with the free version
Unfortunately, clustering is not available with the free version (source).
Con Uses a lot of RAM
Con No same-time insert
No duplicate times.