Install Grafana on Debian or Ubuntu

Install Grafana on Debian or Ubuntu

Edit this text

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

rate(container_cpu_usage_seconds_total{name="redis"}[1m])

container_memory_usage_bytes{name="redis"}