- Laboratório para teste de monitoramento de host e containers com prometheus.
- Docker
- Prometheus
- Alertmanager
- Grafana
- Cadvisor
- Node Exporter
- Subir Prometheus [ Metrics Database ]
http://<host-ip>:9090
- Subir Grafana [ Visualização das métricas ] http://:3000
- Criar arquivo de configuração do datasouce para integração automática com o Prometheus
- Criar arquivo
grafana.env
para credenciais seguido esse exemplo: grafana-example.env - Criar dashboard para visualizar metricas dos contêiners
- Criar dashboard para visualizar metricas dos hosts
- Criar dashboard para visualizar metricas dos targets
- Documentação das dashboards criadas
- Subir Node Exporter [ Coletor de métricas do host ]
http://<host-ip>:9100
- Subir Cadvisor [ Coletor de métricas do container ]
http://<host-ip>:8080
- Subir alertmanager [ Gerenciamento de alertas ]
http://<host-ip>:9093
- Setup Alertas [
Andamento
]- Criar regras de alertas para:
- Services Targets [
Andamento
] - Host [
Andamento
] - Serviços Dockerizados [
Andamento
] - Documentação dos alertas criados
- Services Targets [
- Receber notificação de alertas via Telegram [
Andamento
]- Criar token bot telegram e chat
- Criar arquivo
telegram.env
com informações do bot_token e chat_id baseado nesse exemplo telegram-example.env - Criar templates de notificação para envio de notificações
- Criar regras de alertas para:
- Setup Alertas [
- Configurar o k6 para teste de carga da aplicação
- Script para stress da CPU - Simular falhas e testar alertas
-
Adicionar
bot_token
e ochat_id
no config.yml -
SUbindo os serviços
docker-compose up -d
Name Command State Ports
-------------------------------------------------------------------------------------------------------
alertmanager /bin/alertmanager --config ... Up 0.0.0.0:9093->9093/tcp,:::9093->9093/tcp
app /docker-entrypoint.sh ngin ... Up 0.0.0.0:8081->80/tcp,:::8081->80/tcp
cadvisor /usr/bin/cadvisor -logtostderr Up (healthy) 0.0.0.0:8080->8080/tcp,:::8080->8080/tcp
grafana /run.sh Up 0.0.0.0:3000->3000/tcp,:::3000->3000/tcp
nodeexporter /bin/node_exporter --path. ... Up 0.0.0.0:9100->9100/tcp,:::9100->9100/tcp
prometheus /bin/prometheus --config.f ... Up 0.0.0.0:9090->9090/tcp,:::9090->9090/tcp
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.