commit
dc1bb13dce
@ -0,0 +1,66 @@
|
|||||||
|
## Compose sample
|
||||||
|
### Prometheus & Grafana
|
||||||
|
|
||||||
|
Project structure:
|
||||||
|
```
|
||||||
|
.
|
||||||
|
├── docker-compose.yml
|
||||||
|
├── grafana
|
||||||
|
│ └── datasource.yml
|
||||||
|
├── prometheus
|
||||||
|
│ └── prometheus.yml
|
||||||
|
└── README.md
|
||||||
|
```
|
||||||
|
|
||||||
|
[_docker-compose.yaml_](docker-compose.yaml)
|
||||||
|
```
|
||||||
|
version: "3.7"
|
||||||
|
services:
|
||||||
|
prometheus:
|
||||||
|
image: prom/prometheus
|
||||||
|
...
|
||||||
|
ports:
|
||||||
|
- 9090:9090
|
||||||
|
grafana:
|
||||||
|
image: grafana/grafana
|
||||||
|
...
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
```
|
||||||
|
The compose file defines a stack with two services `prometheus` and `grafana`.
|
||||||
|
When deploying the stack, docker-compose maps port the default ports for each service to the equivalent ports on the host in order to inspect easier the web interface of each service.
|
||||||
|
Make sure the ports 9090 and 3000 on the host are not already in use.
|
||||||
|
|
||||||
|
## Deploy with docker-compose
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-compose up -d
|
||||||
|
Creating network "prometheus-grafana_default" with the default driver
|
||||||
|
Creating volume "prometheus-grafana_prom_data" with default driver
|
||||||
|
...
|
||||||
|
Creating grafana ... done
|
||||||
|
Creating prometheus ... done
|
||||||
|
Attaching to prometheus, grafana
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Expected result
|
||||||
|
|
||||||
|
Listing containers must show two containers running and the port mapping as below:
|
||||||
|
```
|
||||||
|
$ docker ps
|
||||||
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||||
|
dbdec637814f prom/prometheus "/bin/prometheus --c…" 8 minutes ago Up 8 minutes 0.0.0.0:9090->9090/tcp prometheus
|
||||||
|
79f667cb7dc2 grafana/grafana "/run.sh" 8 minutes ago Up 8 minutes 0.0.0.0:3000->3000/tcp grafana
|
||||||
|
```
|
||||||
|
|
||||||
|
Navigate to `http://localhost:3000` in your web browser and use the login credentials specified in the compose file to access Grafana. It is already configured with prometheus as the default datasource.
|
||||||
|
|
||||||
|
![page](output.jpg)
|
||||||
|
|
||||||
|
Navigate to `http://localhost:9090` in your web browser to access directly the web interface of prometheus.
|
||||||
|
|
||||||
|
Stop and remove the containers. Use `-v` to remove the volumes if looking to erase all data.
|
||||||
|
```
|
||||||
|
$ docker-compose down -v
|
||||||
|
```
|
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
version: "3.7"
|
||||||
|
services:
|
||||||
|
prometheus:
|
||||||
|
image: prom/prometheus
|
||||||
|
container_name: prometheus
|
||||||
|
command:
|
||||||
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||||
|
ports:
|
||||||
|
- 9090:9090
|
||||||
|
volumes:
|
||||||
|
- ./prometheus:/etc/prometheus
|
||||||
|
- prom_data:/prometheus
|
||||||
|
grafana:
|
||||||
|
image: grafana/grafana
|
||||||
|
container_name: grafana
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
environment:
|
||||||
|
- GF_SECURITY_ADMIN_USER=admin
|
||||||
|
- GF_SECURITY_ADMIN_PASSWORD=grafana
|
||||||
|
volumes:
|
||||||
|
- ./grafana:/etc/grafana/provisioning/datasources
|
||||||
|
volumes:
|
||||||
|
prom_data:
|
@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: 1
|
||||||
|
|
||||||
|
datasources:
|
||||||
|
- name: Prometheus
|
||||||
|
type: prometheus
|
||||||
|
url: http://prometheus:9090
|
||||||
|
isDefault: true
|
||||||
|
access: proxy
|
||||||
|
editable: true
|
Binary file not shown.
After Width: | Height: | Size: 101 KiB |
@ -0,0 +1,21 @@
|
|||||||
|
global:
|
||||||
|
scrape_interval: 15s
|
||||||
|
scrape_timeout: 10s
|
||||||
|
evaluation_interval: 15s
|
||||||
|
alerting:
|
||||||
|
alertmanagers:
|
||||||
|
- static_configs:
|
||||||
|
- targets: []
|
||||||
|
scheme: http
|
||||||
|
timeout: 10s
|
||||||
|
api_version: v1
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: prometheus
|
||||||
|
honor_timestamps: true
|
||||||
|
scrape_interval: 15s
|
||||||
|
scrape_timeout: 10s
|
||||||
|
metrics_path: /metrics
|
||||||
|
scheme: http
|
||||||
|
static_configs:
|
||||||
|
- targets:
|
||||||
|
- localhost:9090
|
Loading…
Reference in New Issue