Melakukan instalasi docker terlebih dahulu, jika belum terinstall docker, bisa di lakukan instalasi sebagai mana terlihat pada tutorial instalasi docker pada ubuntu

Membuat direktory untuk menyimpan data, misal kita simpan di / dengan nama direktory monitoring-data

mkdir /monitoring-data

Menjalankan docker loadbalancer traefik (jika belum ada)

Membuat directory dengan nama traefik

mkdir /monitoring-data/traefik

Membuat file docker-compose.yml didalam folder traefik dengan isi sebagai berikut :

version: "3.3"
services:
  traefik:
    image: traefik
    command:
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"
    restart: always
    volumes:
      - "//var/run/docker.sock:/var/run/docker.sock:ro"

Untuk memulai instalasi atau menjalankan Loadbalancer traefik docker, jalankan perintah docker-compose up -d . didalam directory traefik

docker compose up -d .

Grafana

Didalam direktory /monitoring-data di buat folder untuk grafana, didalamnya ada grafana-data dan postgresql data

mkdir -p /monitoring-data/grafana/grafana-data/data
mkdir -p /monitoring-data/grafana/postgres-data/dashboard

Kemudian masuk kedalam folder /monitoring-data/grafana, lalu buat docker-compose.yml dengan isi sebagai berikut :

version: '3.1'

services:
  # we will use grafana 4.6.2
  grafana:
    image: grafana/grafana-oss:10.4.1-ubuntu
    container_name: grafana
    ports:
      - 3100:3000
    links:
      - postgres
    networks:
      - prometheus-net
      - postgres-net
      - traefik-net
    env_file:
      - ./grafana-data/grafana.config
    volumes:
      - ./grafana-data/dashboard:/etc/extra-config/grafana
    command: ./etc/extra-config/grafana/post.sh
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.grfn.rule=Host(`grafana.wachid.web.id`)"
      - "traefik.http.routers.grfn.entrypoints=websecure"
      - "traefik.http.routers.grfn.tls=true"
      - "traefik.http.routers.grfn.tls.certresolver=myresolver"
      - "traefik.http.services.grfn.loadbalancer.server.port=3000"

  # we will use postgres as datasource.
  postgres:
    image: postgres:14
    environment:
      POSTGRES_USER: postgres     # define credentials
      POSTGRES_PASSWORD: postgres # define credentials
      POSTGRES_DB: postgres     # define database
#    ports:
#      - 5432:5432                 # Postgres port
    restart: always
    networks:
      - postgres-net
    volumes:
      - ./postgres-data/data:/var/lib/postgresql/data

networks:
  prometheus-net:
    name: prometheus-net
    external: true
  postgres-net:
    name: postgres-net
    external: true
  traefik-net:
    name: traefik-net
    external: true


Membuat file configurasi grafana didalam folder grafana-data dengan nama grafana.config

nano grafana-data/grafana.config

Adapun isi file grafana.config sebagai berikut

GF_INSTALL_PLUGINS=grafana-clock-panel,briangann-gauge-panel,natel-plotly-panel,grafana-simple-json-datasource
GF_SECURITY_ADMIN_PASSWORD=P@55Gr4f4n4
GF_USERS_ALLOW_SIGN_UP=false
GF_DASHBOARDS_JSON_ENABLED=true
GF_DASHBOARDS_JSON_PATH=./docker-compose.d/grafana
GF_DATABASE_TYPE=postgres
GF_DATABASE_HOST=postgres
GF_DATABASE_PORT=5432
GF_DATABASE_USER=postgres
GF_DATABASE_PASSWORD=P4ssp0stgr3s
GF_DATABASE_NAME=postgres

Untuk memulai instalasi atau menjalankan grafana docker, jalankan perintah docker-compose up -d . didalam directory grafana

docker compose up -d .

Tampilan halaman login grafana

Informasi koneksi data source

Leave a Reply

Your email address will not be published. Required fields are marked *