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