InfluxDB is maintained by a single commercial company following the open-core
InfluxDB is maintained by a single commercial company following the open-core
model, offering premium features like closed-source clustering, hosting and
model, offering premium features like closed-source clustering, hosting and
support. Prometheus is a [fully open source and independent project](/community/), maintained
support. Prometheus is a [fully open source and independent project](/community/), maintained
by a number of companies and individuals, some of whom also offer commercial
by a number of companies and individuals, some of whom also offer commercial services and support.
services and support.
## Prometheus vs. OpenTSDB
## Prometheus vs. OpenTSDB
...
@@ -182,10 +183,11 @@ The same scope differences as in the case of
...
@@ -182,10 +183,11 @@ The same scope differences as in the case of
OpenTSDB's data model is almost identical to Prometheus's: time series are
OpenTSDB's data model is almost identical to Prometheus's: time series are
identified by a set of arbitrary key-value pairs (OpenTSDB tags are
identified by a set of arbitrary key-value pairs (OpenTSDB tags are
Prometheus labels). All data for a metric is [stored together](http://opentsdb.net/docs/build/html/user_guide/writing/index.html#time-series-cardinality),
Prometheus labels). All data for a metric is
limiting the cardinality of metrics. There are minor differences though: Prometheus allows arbitrary characters in label values, while
OpenTSDB is more restrictive. OpenTSDB also lacks a full query language,
limiting the cardinality of metrics. There are minor differences though: Prometheus
only allowing simple aggregation and math via its API.
allows arbitrary characters in label values, while OpenTSDB is more restrictive.
OpenTSDB also lacks a full query language, only allowing simple aggregation and math via its API.
### Storage
### Storage
...
@@ -211,15 +213,17 @@ good choice.
...
@@ -211,15 +213,17 @@ good choice.
### Scope
### Scope
Nagios is primarily about alerting based on the exit codes of scripts. These are called “checks”.
Nagios is primarily about alerting based on the exit codes of scripts. These are
There is silencing of individual alerts, however no grouping, routing or deduplication.
called “checks”. There is silencing of individual alerts, however no grouping,
routing or deduplication.
There are a variety of plugins. For example, piping the few kilobytes of
There are a variety of plugins. For example, piping the few kilobytes of
perfData plugins are allowed to return [to a time series database such as Graphite](https://github.com/shawn-sterling/graphios) or using NRPE to [run checks on remote machines](https://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE--2D-Nagios-Remote-Plugin-Executor/details).
perfData plugins are allowed to return [to a time series database such as Graphite](https://github.com/shawn-sterling/graphios) or using NRPE to [run checks on remote machines](https://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE--2D-Nagios-Remote-Plugin-Executor/details).
### Data model
### Data model
Nagios is host-based. Each host can have one or more services and each service can perform one check.
Nagios is host-based. Each host can have one or more services and each service
can perform one check.
There is no notion of labels or a query language.
There is no notion of labels or a query language.
...
@@ -275,7 +279,8 @@ run for scaling and redundancy.
...
@@ -275,7 +279,8 @@ run for scaling and redundancy.
### Summary
### Summary
If you have an existing Nagios setup that you wish to scale as-is, or want to take advantage of the registration feature of Sensu, then Sensu is a good choice.
If you have an existing Nagios setup that you wish to scale as-is, or want to
take advantage of the registration feature of Sensu, then Sensu is a good choice.
If you want to do whitebox monitoring, or have a very dynamic or cloud based
If you want to do whitebox monitoring, or have a very dynamic or cloud based