Search code examples
google-cloud-platformprometheusgoogle-cloud-monitoringmonitoring-query-language

What are advantages of using Prometheus over Google Cloud Monitoring for SLO based monitoring?


I am working on creating monitoring based on SLO. So far I have been using Google Cloud Monitoring solutions like Dashboards, Alerting and Uptime Checks.

I have noticed GCP has now a Managed Service for Prometheus.

My question is what would be the advantage of using Prometheus(not only Google managed one)for monitoring. Is there anything that could be achieved with Prometheus that I could not achive with Google Cloud Monitoring?


Solution

  • Managed service for prometheus is a managed and automatically scalable prometheus endpoint. You can request the metrics with PromQL language instead of MQL (Monitoring Query Language).

    What's the advantage? If you deploy an application instrumented with Open Telemetry (for example), you don't have to change anything. On Kubernetes (GKE), the managed collector do the job for you. Else you have to configure the collector to use Managed Service for Prometheus.

    If you build an app from scratch, and you want it portable, Open Telemetry and Prometheus are standard tools to instrument your app.

    If not, use Cloud Monitoring!

    Important note

    That feature is very new and, for now, only the metrics sinks with Managed Service for Prometheus can be query with PromQL. The other metrics must be requested by MQL. It could change in the future.

    So, for now, if you can use built in Cloud Monitoring metrics, it's a better solution.