Prometheus is becoming standard de-facto for monitoring Kubernetes cluster.
When does it fit?
Prometheus works well for recording any purely numeric time series. It fits both machine-centric monitoring as well
as monitoring of highly dynamic service-oriented architectures. In a
world of microservices, its support for multi-dimensional data
collection and querying is a particular strength.
Prometheus is designed for reliability, to be the system you go to
during an outage to allow you to quickly diagnose problems. Each
Prometheus server is standalone, not depending on network storage or
other remote services. You can rely on it when other parts of your
infrastructure are broken, and you do not need to setup extensive
infrastructure to use it.
When does it not fit?
Prometheus values reliability. You can always view what statistics are available about your system, even
under failure conditions. If you need 100% accuracy, such as for
per-request billing, Prometheus is not a good choice as the collected
data will likely not be detailed and complete enough. In such a case
you would be best off using some other system to collect and analyze
the data for billing, and Prometheus for the rest of your monitoring.