# Mini-Catalog Microservices Application


## Application Services
### Spring Boot APP
- Weather Service
- User Service
- DataBase Service
### Spring Cloud APP
- Service Discovery (DiscAndReg)
- Cloud Gateway
## Monitoring with Prometheus and Grafana

### Requirements
[Docker](https://docs.docker.com/install/) and [Docker Compose](https://docs.docker.com/compose/install/) installed.

### Step 1
Use docker-compose to start Grafana and Prometheus servers.
- In the root folder
```sh
docker-compose -f docker-compose.yml up
```
### Step 2
Check the Prometheus server.
- Open http://localhost:9091
- Access status -> Targets, both endpoints must be "UP"

### Step 3
Configure the Grafana.
- Open http://localhost:3000
- **Configure integration with Prometheus**
    - Access configuration
    - Add data source
    - Select Prometheus
    - Use url "http://prometheus:9090" and access with value "Browser"
- **Configure dashboard**
    - Access "home"
    - Import dashboard
    - Upload dashboard.json from /docker


## Centralize spring boot log to ELK Elasticsearch, Logstash, Kibana

### Step 1
Use docker-compose to start ELK servers.
- In the root folder
```sh
docker-compose -f docker-compose-elk.yml up
```

### Step 2
Check the kibana server.
- Open http://localhost:5601
