Tiago Tartari, Microsoft MVP, SRE, Executivo e Especialista em Tecnologia
SRE

Como subir o Grafana e Prometheus no Azure Container Instance

publicado em 07 de fevereiro de 2023
Tiago Tartari - Microsoft MVP
Resumo
Subir o Grafana e o Prometheus no Azure Container Instance é uma maneira eficiente e fácil de monitorar o desempenho e a saúde de seus aplicativos em nuvem. Além disso, o monitoramento fornece insights valiosos para times de negócios e tecnologia, permitindo uma tomada de decisão mais informada e uma melhor gestão de recursos.

Conteúdo

Como subir o Grafana e o Prometheus no Azure Container Instance?

Monitorar é a chave para garantir a disponibilidade, desempenho, segurança da sua aplicação e garantir que o orçamento de erro esteja dentro do planejado, além disso contribui para decisões estratégicas de melhoria contínua sejam tomadas eficientemente. Dessa forma, subir o Grafana e o Prometheus no Azure Container Instance pode ser uma alternativa rápida para iniciar o monitoramento de suas aplicações.

O que é o Grafana?

Grafana é uma ferramenta de visualização de dados e monitoramento de aplicações. Ele permite que você conecte várias fontes de dados, incluindo bancos de dados, sistemas de gerenciamento de logs e ferramentas de monitoramento, e apresente as métricas em painéis interativos e fáceis de usar. Com ele, você pode criar painéis personalizados para visualizar e analisar seus dados, identificar tendências e padrões, e receber alertas quando as métricas estiverem fora dos limites definidos por você.

Como subir o Grafana e Prometheus no Azure Container Instance

O que é o Prometheus?

Prometheus é uma ferramenta open source de monitoramento de código que revolucionou a forma como as equipes gerenciam seus sistemas e aplicações. Ele permite coletar e armazenar métricas em tempo real, ajudando as equipes a identificar problemas rapidamente e tomar decisões informadas sobre suas infraestruturas.

Além disso, sua ampla gama de integrações e alertas flexíveis tornam o Prometheus uma escolha popular para organizações de todos os tamanhos.

fonte: prometheus.io

O que é o Azure Container Instance?

Transforme suas aplicações com rapidez e eficiência para o mundo de nuvem com o Azure Container Instance. O Azure Container Instance permite a implantação e execução de contêineres sem a necessidade de gerenciar infraestruturas, o que significa uma implantação mais rápida e fácil. Ele oferece escalabilidade e recursos de alta disponibilidade para aplicativos de missão crítica.

Como subir o Grafana e o Prometheus no Azure Container Instance?

São diversas formas para subir o Grafana e o Prometheus no Azure Container Instance, uma delas, é a utilização do YAML que é uma maneira fácil e de simples entendimento.

  • Crie uma assinatura do Azure: acesse o portal do Azure e crie uma nova conta ou assine uma já existente.
  • Azure CLI instalado: você precisará utilizar o Azure CLI para subir o ambiente, portanto, você precisa conhecê-lo.
  • Crie um grupo de recursos: acesse o portal do Azure e crie um novo grupo de recursos para armazenar seus recursos, incluindo o container instance.
  • Implante o container instance: use o Azure CLI ou o portal do Azure para criar um novo container instance, fornecendo informações como a imagem de contêiner, a configuração de rede e as configurações de recursos.

Lembrando que, o Azure Container Instance foi projetado para não guardar estado das aplicações, portanto, você deverá criar um Azure Storage Account para armazenar as principais pastas do Grafana e Prometheus afim de não perderem as configurações.

name: ci-monitor
apiVersion: 2021-10-01
location: eastus

properties:
  containers:
  - name: prometheus
    properties:
      image: prom/prometheus:latest
      command:
        - '/bin/prometheus'
        - '--config.file=/etc/prometheus/prometheus.yml'
      environmentVariables: 
      - name: TZ
        value: America/Sao_Paulo
      ports:
      - port: 9090
      resources:
        requests:
          cpu: 1.0
          memoryInGB: 1.5
      volumeMounts:
      - name: prometheus  
        mountPath: '/etc/prometheus/'
        readOnly: false

  - name: grafana
    properties:
      image: grafana/grafana:latest
      environmentVariables: 
      - name: TZ
        value: America/Sao_Paulo
      ports:
      - port: 3000
      resources:
        requests:
          cpu: 1.0
          memoryInGB: 1.5        
      volumeMounts:
      - name: grafana  
        mountPath: '/var/lib/grafana'
        readOnly: false

  osType: Linux
  ipAddress:
    type: Public
    ports:
    - protocol: tcp
      port: 9090
    - protocol: tcp
      port: 3000      
    dnsNameLabel: ci-monitor

  volumes:
  - name: prometheus
    azureFile:
      sharename: prometheus
      storageAccountName: <<storage account name>>
      storageAccountKey: <<storage account key>>
  - name: grafana
    azureFile:
      sharename: grafana
      storageAccountName: <<storage account name>>
      storageAccountKey: <<storage account key>>

tags: {}
type: Microsoft.ContainerInstance/containerGroups

Em seguida, utilizando o Azure CLI, execute a instrução abaixo para criar o container com o Grafana e o Prometheus.

az container create --resource-group rgMonitor --file monitor.yaml

Conclusão

Subir o Grafana e o Prometheus no Azure Container Instance é uma maneira eficiente e fácil de monitorar o desempenho e a saúde de seus aplicativos em nuvem. Além disso, o monitoramento fornece insights valiosos para times de negócios e tecnologia, permitindo uma tomada de decisão mais informada e uma melhor gestão de recursos.

Gostou? Me ajude a impactar outras pessoas compartilhando esse post.
Tiago Tartari
Tiago Tartari

Ajudo executivos, times de negócios e especialistas técnicos a resolver problemas complexos utilizando a tecnologia como meio para potencializar resultados.