- janeiro 31, 2026
- 6:56 pm
- João Pedro
O Grafana faz parte do ecossistema de ferramentas de Observabilidade, porém ele não gera dados nem métricas. O papel do Grafana é visualizar e expor informações coletadas por outras ferramentas, consumindo dados a partir de endpoints como Zabbix, Prometheus, Node Exporter, entre muitos outros.
Vamos para prática
Este conteúdo parte do pressuposto de que você já possui um ambiente com Docker e Docker Compose configurados. No meu ambiente, para facilitar a administração e o gerenciamento dos containers, optei por instalar o Portainer, que fornece uma interface web simples e eficiente para acompanhar, gerenciar e manter os serviços em execução.
Quer instalar o Portainer em seu ambiente, aqui abaixo vou deixar um tutorial no meu canal do Youtube:
Vamos lá! Ao acessar o portainer, vamos na Opção STACKS -> ADD STACK
Dê um nome a sua Stack, e deixe a opção Web Editor selecionado
Copie o compose abaixo e cole no seu Web Editor, se você esta fazendo pelo portainer, crie o arquivo docker-compose.yml e cole o compose.
version: "3.8"
services:
# CONTAINER GRAFANA SERVER
grafana-server:
image: grafana/grafana:11.5-ubuntu
environment:
- GF_LOG_LEVEL=debug
- GF_DATABASE_TYPE=postgres
- GF_DATABASE_HOST=postgres-grafana:5432
- GF_DATABASE_USER=grafana
- GF_DATABASE_PASSWORD=grafana
- GF_DATABASE_NAME=grafana_db
volumes:
- /seu-volume-grafana-server:/var/lib/grafana
ports:
- "3000:3000"
networks:
- rede-grafana-local
# CONTAINER BANCO DE DADOS
postgres-grafana:
image: postgres:15
environment:
POSTGRES_DB: grafana_db
POSTGRES_USER: grafana
POSTGRES_PASSWORD: grafana
TZ: America/Sao_Paulo
volumes:
- /seu-volume-banco-dados/:/var/lib/postgresql/data
- /seu-volume-banco-dados-tmp:/tmp
networks:
- rede-grafana-local
networks:
rede-grafana-local:
driver: bridge
Vamos inspecionar este docker-compose. É muito comum encontrar tutoriais na internet ensinando como subir o Grafana no Docker, e de fato isso não tem muita complexidade. Porém, em muitos desses conteúdos, a forma apresentada não é a mais recomendada para ambientes de produção.
Em cenários simples, subir apenas o container do Grafana é suficiente para que o serviço funcione. Nesse modelo, o próprio Grafana cria o arquivo grafana.db, onde ficam armazenadas todas as informações da aplicação, como credenciais, dashboards, data sources e outras configurações.
O problema é que esse arquivo é muito suscetível a falhas e corrupção, especialmente em ambientes com reinícios frequentes, falhas de disco ou volumes mal configurados. Eu mesmo já enfrentei esse tipo de problema em produção.
Foi ao perceber essa limitação que decidi apresentar uma abordagem mais adequada. No meu caso, optei por implantar o Grafana utilizando uma stack com um container dedicado exclusivamente para o banco de dados, garantindo maior confiabilidade, persistência e segurança das informações.
DICA IMPORTANTE
Após ter realizado os seus ajustes, clique no botão Deploy the Stack no portainer se tiver fazendo via CLI e ter salvo o seu arquivo docker-compose. yml rode o comando docker compose up -d
Se tudo ocorreu bem você verá no seu portainer a informação que os dois containers estão funcionando.
Agora é só abrir o navegador e digitar http://SEU-IP:3000
As credenciais padrão são:
Usuário: admin – Senha: admin
Profissional de TI com mais de 10 anos de experiência em infraestrutura, Linux, virtualização e contêineres. Atua com Docker, Docker Swarm e implantação de soluções VoIP, sempre focado em otimizar ambientes e compartilhar conhecimento com a comunidade.



