Neste novo artigo retomo o tema uso do Grafana no monitoramento de recursos em nuvem, abordando desta vez a integração do Azure Managed Grafana com o Azure Kubernetes Service. Os posts anteriores podem ser acessados nos links a seguir:
Por que utilizar o Grafana no monitoramento de recursos do Azure?
Grafana + Observabilidade de APIs no Azure: conhecendo o dashboard para o API Management
O Azure Kubernetes Service (AKS) também dispõe de uma integração facilitada com soluções de monitoramento/observabilidade como Grafana e Prometheus. O uso de métricas do Prometheus em conjunto com dashboards pré-existentes do Grafana (ou até a criação de novos dashboards customizados) pode inclusive estender as capacidades de monitoramento originais do Azure Monitor, com novas visões sobre diferentes aspectos de um cluster.
E como um assunto frequente neste blog é Inteligência Artificial, deixo aqui como recomendação o treinamento Azure AI Training Session - promovido pela própria AzureBrasil.cloud - e que acontecerá a partir do dia 18/02/2025 (uma terça) no formato online. Uma excelente oportunidade para você conhecer mais sobre IA, assim como o suporte do Microsoft Azure a essas soluções e OpenAI em geral. Para saber mais acesse o link seguinte a seguir:
Azure AI Training Session Online #1 - Sympla
Durante a criação de um novo cluster baseado no Azure Kubernetes Service é altamente recomendável que ativemos a utilização do mecanismo conhecido como Container Insights. Será esta configuração que permitirá a consulta a métricas e logs de um cluster AKS, considerando para isto o uso de serviços como Azure Monitor e Log Analytics (via consultas codificadas com Kusto Query Language - KQL):
Ativar o uso do Managed Prometheus permitirá que tiremos proveito das métricas geradas por este serviço, extremamente úteis em análises a partir de dashboards do Grafana (ou até mesmo para escalar workloads no Kubernetes, graças ao suporte a Prometheus oferecido pelo projeto KEDA - Kubernetes Event-driven Autoscaling):
Habilitar o Managed Grafana permitirá que tiremos proveito tanto de informações coletadas por meio do Azure Monitor e Log Analytics, quanto de métricas obtidas via Prometheus:
No próximo print podemos observar essas 3 configurações ativadas no momento de criação de um cluster (via Portal do Azure):
Com recurso do AKS já criado notaremos a presença de uma instância do Azure Managed Grafana no grupo de recursos em que o mesmo se encontra, bem como itens do tipo Prometheus rule group:
Esta instância do Azure Mananaged Grafana já terá vários dashboards pré-instalados e separados em 3 grupos (Azure Managed Prometheus, Azure Monitor e Microsoft Defender for Cloud):
Podemos observar na imagem seguinte diversos dos dashboards que empregam métricas do Prometheus:
Já na próxima imagem temos em destaque um desses dashboards - Kubernetes / Compute Resources / Namespace (Pods):
Outras opções gratuitas podem ser acrescentadas, como no caso do dashboard Kubernetes / Views / Namespaces. Trata-se de uma alternativa que integra o projeto open source grafana-dashboards-kubernetes, um conjunto de dashboards gratuitos extremamente úteis ao se trabalhar com Grafana e Prometheus no monitoramento de clusters Kubernetes (independentemente de se estar na nuvem ou não, do cloud provider escolhido...):
Disponibilizei uma listagem de links com esse e outros dashboards gratuitos que envolvem o uso do Prometheus com Grafana e Kubernetes, em um repositório que venho mantendo no GitHub (10 alternativas de dashboards ao todo):
Caso achem útil esta solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!
Referências
Azure Managed Grafana | Azure Docs
Grafana | Technical documentation
Prometheus - Monitoring system & time series database