Install Grafana on Debian or Ubuntu
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
Stable release
echo "deb [signed-by=/usr/share/keyrings/grafana.key] apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Beta release
echo "deb [signed-by=/usr/share/keyrings/grafana.key] apt.grafana.com beta main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
# Update the list of available packages
sudo apt-get update
# Install the latest OSS release:
sudo apt-get install grafana
#To start Grafana Server
sudo /bin/systemctl status grafana-server
Install Loki and Promtail using Docker
make a directory for configuration file like
mkdir configuration_loki_promtail
cd configuration_loki_promtail
Download Loki Config
wget raw.githubusercontent.com/grafana/loki/v2.8.. -O loki-config.yaml
Run Loki Docker container
docker run -d --name loki -v $(pwd):/mnt/config -p 3100:3100 grafana/loki:2.8.0 --config.file=/mnt/config/loki-config.yaml
Download Promtail Config
wget raw.githubusercontent.com/grafana/loki/v2.8.. -O promtail-config.yaml
Run Promtail Docker container
docker run -d --name promtail -v $(pwd):/mnt/config -v /var/log:/var/log --link loki grafana/promtail:2.8.0 --config.file=/mnt/config/promtail-config.yaml
Install Prometheus and cAdvisor
cAdvisor (short for container Advisor) analyzes and exposes resource usage and performance data from running containers. cAdvisor exposes Prometheus metrics out of the box.
Download the prometheus config file
wget raw.githubusercontent.com/prometheus/promet..
Install Prometheus using Docker
docker run -d --name=prometheus -p 9090:9090 -v <PATH_TO_prometheus.yml_FILE>:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml
Add cAdvisor target
```
scrape_configs:
- job_name: cadvisor
scrape_interval: 5s
static_configs:
targets:
- cadvisor:8080
#Using Docker Compose
version: '3.2'
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
9090:9090
command:
--config.file=/etc/prometheus/prometheus.yml
volumes:
./prometheus.yml:/etc/prometheus/prometheus.yml:ro
depends_on:
cadvisor
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
ports:
8080:8080
volumes:
/:/rootfs:ro
/var/run:/var/run:rw
/sys:/sys:ro
/var/lib/docker/:/var/lib/docker:ro
depends_on:
redis
redis:
image: redis:latest
container_name: redis
ports:
6379:6379
Verify
docker-compose up -d
docker-compose ps
Test PromQL