Tempo estimado: 2 horas
Para melhor aproveitamento desse workshop, é esperado que você tenha conhecimento prévio em:
- Kubernetes
- Docker
- Conceitos teóricos de Observabilidade
Ferramentas necessárias para executar a demo:
- Docker
- kind, kubectl e helm são opcionais, podem ser instalados via
Make
Essa demonstração é usada oficialmente pelo projeto OpenTelemetry, com apenas algumas modificações.
Abaixo os componentes que fazem parte:
- Serviços e Dependências (da aplicação)
- OpenTelemetry Collector
- Jaeger UI
- Locust
- Grafana
- Prometheus
- OpenSearch
TL;DR: os sinais emitidos (logs, métricas e traces) pelos componentes da aplicação são coletados e processados pelo OTel Collector e enviados para os backends:
- Prometheus para métricas
- Jaeger para traces
- Opensearch para logs
E todos esses backends estão configurados para visualização no Grafana.
Sobre a instalação, usamos um cluster Kubernetes local (com kind) e instalamos a demonstração por meio de um helm chart.
Diagrama de arquitetura completa: https://opentelemetry.io/docs/demo/architecture/
Antes de tudo, faça o clone do repositório:
git clone [email protected]:cloudnativern/o11y-workshop.git
A partir daqui, todos os comandos devem ser executados a partir do repositório, dentro do diretório demo/
.
Se você já tiver as dependências instaladas (kind, helm e kubectl), pode pular essa etapa
make setup-deps
make setup-cluster
make setup-demo
A aplicação vai levar em torno de 8-10 minutos para estar pronta, para checar se todos os Pods estão executando corretamente:
kubectl get po -n otel-demo
4. Após estar executando corretamente, exponha o proxy que vai permitir que seja feito o acesso aos componentes da demonstração (na porta 8080
):
make expose-demo
Sendo:
http://localhost:8080/
: Página inicial da aplicaçãohttp://localhost:8080/grafana/
: Grafanahttp://localhost:8080/loadgen/
: Locust UIhttp://localhost:8080/jaeger/ui/
: Jaeger UI
Se quiser/precisar fazer alguma alterações nas configurações da demo (demo/values.yaml
), execute o comando abaixo para atualizar:
make upgrade-demo
Ao final, do workshop, executar o comando abaixo para remover todos os recursos:
make cleanup
- https://opentelemetry.io/docs/demo/
- https://dosedetelemetria.com/
- Outras recomendações de ferramentas opensource para Observabilidade:
- Grafana Tempo: backend para traces
- Grafana Mimir: backend para métricas
- Grafana Loki: backend para logs