- Sobre a Aplicação
- Instalando o Docker-CE
- Iniciando o conteiner da aplicação
- Compilando a imagem Docker da aplicação
- Executando a aplicação usando o DockerCompose
- Monitorando a API da aplicação com o Zabbix
- Monitorando a API da aplicação com o Grafana
- Referências do Docker
O objetivo desta aplicação é simular operações bancárias.
A seguir estão os endpoints disponíveis na API Swagger da aplicação.
- Cadastrar Pessoas
- Listar Pessoas
- Criar Conta
- Bloquear Conta
- Desbloquear Conta
- Listar Contas
- Consultar Saldo
- Depósito
- Saque
- Extrato de Conta
- Extrato de Conta por Período
- Instale o Docker-CE seguindo as instruções das páginas abaixo de acordo com a distribuição GNU/Linux.
No Ubuntu: https://docs.docker.com/install/linux/docker-ce/ubuntu
No CentOS: https://docs.docker.com/install/linux/docker-ce/centos
No Debian: https://docs.docker.com/install/linux/docker-ce/debian
- Altere o valor da variárel
USUARIO
pelo nome da sua conta no S.O no qual o Docker foi instalado e execute os comandos abaixo para adicionar o seu usuário ao grupo Docker.
USUARIO="seu-nome-usuario"
sudo usermod -aG docker $USUARIO
sudo setfacl -m user:$USUARIO:rw /var/run/docker.sock
Use o comando a seguir para iniciar um conteiner do banco de dados.
sudo mkdir -p /docker/postgresql/sistema-bancario/data
sudo chown -R 999:999 /docker/postgresql/sistema-bancario/data
docker run -p 5433:5432 -d --name postgres \
--restart=always \
-v /docker/postgresql/sistema-bancario/data:/var/lib/postgresql/data \
-e POSTGRES_DB="sistema-bancario" \
-e POSTGRES_PASSWORD="postgres" \
-e POSTGRES_USER="postgres" \
postgres
Use o comando a seguir para iniciar um conteiner da aplicação.
docker run -d -p 8080:8080 --name sistema-bancario \
-e DATASOURCE_URL="postgresql://172.17.0.1:5433/sistema-bancario" \
-e DATASOURCE_USERNAME="postgres" \
-e DATASOURCE_PASSWORD="postgres" \
jmilitao/sistema-bancario:latest
Acesse a API da aplicação na URL http://172.17.0.1:8080/swagger-ui.html
Use os comandos a seguir visualizar o log dos conteineres.
docker logs -f postgres
docker logs -f sistema-bancario
Para saber como gerar um novo pacote e uma nova imagem Docker da aplicação acesse as instruções aqui.
Para saber como executar a aplicação usando o DockerCompose acesse as instruções aqui.
O Zabbix pode ser instalado usando um dos seguintes tutoriais disponíveis na comunidade Zabbix-BR: http://zabbixbrasil.org/?page_id=7.
Este template foi criado com base no conhecimento compartilhado na apresentação de André Déo e Thales Reis https://pt.slideshare.net/andredeo/monitoramento-de-aplicaes-web-modernas-com-zabbix
Foi criado este o Template_Monitoramento_API_Sistema_Bancario.xml para monitorar os endpoints da API.
Abaixo estão algumas imagens do template sendo utilizado.
- Monitoramento da API usando cenário web
- Grafico saldo conta via LLD
- Trigger criada limite conta via LLD
- Dados recentes:
O Grafana pode ser instalado usando um dos seguintes tutoriais disponíveis na comunidade Zabbix-BR: http://zabbixbrasil.org/?page_id=7 e no site do Grafana https://grafana.com/grafana/download.
Foi criado este o Dashboard-Sistema_Bancario.json para exibir os dados coletados pelo Zabbix de forma mais agradável.
Abaixo está uma imagem do dashboard sendo utilizado.
https://docs.docker.com/engine/tutorials/dockerimages/
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04
https://docs.docker.com/engine/reference/commandline/commit/