Azure Monitor is great, it can store logs, metrics.
By default, Azure will store all of your resources metrics in Azure Monitor. When you provision a resource (CPU, App Service) , Azure automatically send relevant metrics to Azure Monitor. This is what i love most when working on Cloud, every service in cloud is built with a monitoring in mind. This means it gives you the ability to see what’s going on with your resource ( how much cpu,memory, disk…). Azure also allows you to send your custom metrics as well. It looks great right? Why don’t we send all our metrics to Azure?
You think the first reason is the cost right? That’s correct, nothing is free. If cost is not concern, what’s other stopping you?
Here are some of things you might consider:
- The retention for metrics is only 93 days , you can’t go further. There is no option to change, it’s fixed.
- You can run the query upto 30 days only
- The interface to get metrics is API , there is not much function like common metrics query with InfluxDB or Prometheus
- It doesn’t have any tool available to visualize (except you must use its own dashboards)
- You have to start from scratch , not like other InfluxDB or Prometheus , they have many ready solution like telegraf, grafana