DEV Community

Rümeysa Öz for Açıklab

Posted on

1

Docker Compose ile Grafana Kurulumu

‼️ İlgili makinede prometheus kurulu varsayılarak anlatım gerçekleştirilmiştir. Eğer kurulu değilse, ilk adım olarak kurulumlarını gerçekleştirmeniz gerekmektedir. Bu kaynaktan yararlanılabilir.

1. Grafana Nedir?

Grafana, veri görselleştirme ve analizi yapmak için kullanılan açık kaynaklı bir platformdur. Grafana, verilerinizi Prometheus da dahil olmak üzere birçok farklı veri kaynağından alabilir ve bu verileri gerçek zamanlı olarak görselleştirerek kullanıcıların daha iyi bir görünürlük ve anlayış elde etmelerine yardımcı olur.

Grafana, sistem yöneticileri, veri bilimcileri, iş zekası uzmanları ve diğer teknik kullanıcılar gibi farklı kullanıcı grupları tarafından kullanılabilir.

2. Konfigürasyon

2.1 grafana/config.monitoring

Prometheus kurulumu sonrası bir başlangıç şifresi belirleyecek ve yeni kullanıcıların kaydolmasını önleyecek bir Grafana yapılandırılması yapılır.

  • İlk olarak şu komut ile ana dizinde grafana isimli bir dosya oluşturulur:


 mkdir grafana


Enter fullscreen mode Exit fullscreen mode
  • Daha sonra config.monitoring isimli dosyanın içine girilir:


 nano config.monitoring


Enter fullscreen mode Exit fullscreen mode
  • Açılan dosyanın içine şu satırlar eklenir ve kaydedilip çıkılır:

Image description

2.2 Docker Compose: docker-compose.yml

  • İlk olarak ana dizine gidiyoruz:


 cd ..


Enter fullscreen mode Exit fullscreen mode
  • Daha sonra docker-compose.yml dosyasının içine giriyoruz:


 nano docker-compose.yml


Enter fullscreen mode Exit fullscreen mode
  • Grafana için gerekli olan satırları ve path'leri ekliyoruz, ardından kaydedip çıkıyoruz:


   grafana:
    image: grafana/grafana
    user: "472"
    depends_on:
      - prometheus
    ports:
      - 3000:3000
    volumes:
      - grafana_data:/var/lib/grafana
      - ./grafana/provisioning/:/etc/grafana/provisioning/
    env_file:
      - ./grafana/config.monitoring
    networks:
      - back-tier
      - front-tier
    restart: always


Enter fullscreen mode Exit fullscreen mode

docker-compose dosyası yerel /grafana/provisioning dizinini Grafana konteynırının /etc/grafana/provising dizinine monte ediyor.

2.3 Datasource Konfigürasyonu: grafana/provisioning/datasources/datasource.yml

  • Ardından prometheus veri kaynağını yapılandırılır.

  • grafana dizinine gidilir ve provisioning ve _datasources _isimli dosyalar oluşturulur:



 cd grafana


Enter fullscreen mode Exit fullscreen mode


 mkdir -p provisioning/datasources


Enter fullscreen mode Exit fullscreen mode
  • Daha sonra şu komut ile /grafana/provisioning/datasources/datasource.yml dosyasının içine girilir:


 nano /grafana/provisioning/datasources/datasource.yml


Enter fullscreen mode Exit fullscreen mode
  • Aşağıdaki bilgiler dosyaya girilir, kaydedilip çıkılır:


 # config file version
apiVersion: 1

# list of datasources that should be deleted from the database
deleteDatasources:
  - name: Prometheus
    orgId: 1

# list of datasources to insert/update depending
# whats available in the database
datasources:
  # <string, required> name of the datasource. Required
- name: Prometheus
  # <string, required> datasource type. Required
  type: prometheus
  # <string, required> access mode. direct or proxy. Required
  access: proxy
  # <int> org id. will default to orgId 1 if not specified
  orgId: 1
  # <string> url
  url: http://prometheus:9090
  # <string> database password, if used
  password:
  # <string> database user, if used
  user:
  # <string> database name, if used
  database:
  # <bool> enable/disable basic auth
  basicAuth: false
  # <string> basic auth username, if used
  basicAuthUser:
  # <string> basic auth password, if used
  basicAuthPassword:
  # <bool> enable/disable with credentials headers
  withCredentials:
  # <bool> mark as default datasource. Max one per org
  isDefault: true
  # <map> fields that will be converted to json and stored in json_data
  jsonData:
     graphiteVersion: "1.1"
     tlsAuth: false
     tlsAuthWithCACert: false
  # <string> json object of data that will be encrypted.
  secureJsonData:
    tlsCACert: "..."
    tlsClientCert: "..."
    tlsClientKey: "..."
  version: 1
  # <bool> allow users to edit datasources from the UI.
  editable: true


Enter fullscreen mode Exit fullscreen mode

2.4 Dashboard Konfigürasyonu: grafana/provisioning/dashboards/dashboard.yml

  • Veri kaynağı kullanılabilir olduğunda, panolar sağlanabilir.

  • Grafana herhangi bir yapılandırma dosyası olmadan çalışabilir. Ancak, Prometheus'u bir veri kaynağı olarak yapılandırmak için grafana/provisioning/datasources/datasource.yml oluşturulur.

  • grafana dizinine gidilir ve _dasboards _isimli dosya oluşturulur:



 cd grafana


Enter fullscreen mode Exit fullscreen mode


 mkdir provisioning/dashboards


Enter fullscreen mode Exit fullscreen mode
  • Daha sonra şu komut ile /grafana/provisioning/dashboards/dashboard.yml dosyasının içine girilir:


 nano /grafana/provisioning/dashboards/dashboard.yml


Enter fullscreen mode Exit fullscreen mode
  • Bu yapılandırma dosyasında, içe aktarmak için kullanılan panoların yolunu gösteriyoruz.

  • Aşağıdaki bilgiler dosyaya girilir, kaydedilip çıkılır:



apiVersion: 1

providers:
- name: 'Prometheus'
  orgId: 1
  folder: ''
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /etc/grafana/provisioning/dashboards


Enter fullscreen mode Exit fullscreen mode

3. Grafana Başlat

  • Son olarak dosyalarda değişiklikler olduğu için docker-compose down edilir:


 docker-compose down


Enter fullscreen mode Exit fullscreen mode
  • Tekrar up edilir ve Grafana'nın da UP olduğu gözlemlenir:


 docker-compose up -d


Enter fullscreen mode Exit fullscreen mode
  • Ardından tarayıcıya "http://IP:3000" girilir ve Grafana arayüzüne erişilir:

Grafana yüklü olan makinenin IP'si girilir.

Image description

username = admin
password = foobar (Şifre /grafana/config.monitoring env dosyasında yazılı)

  • Kullanıcı adı ve şifre girildikten sonra giriş başarılı şekilde yapılır:

Image description

  • Örnek olarak, tarayıcıya "http://IP:3000/dashboard" yolu girilir ve çıkan ekranda New Dashboard butonuna tıklanarak data source olarak Prometheus seçilir. Daha sonra SNMP metirkleri seçilip görselleştirilir:

Image description

  • Sayfanın sol üstünde bulunan Apply butonuna tıklanır ve dashboard eklenir:

Image description

Image of Bright Data

High-Quality Data for AI – Access diverse datasets ready for your ML models.

Browse our extensive library of pre-collected datasets tailored for various AI and ML projects.

Explore Datasets

Top comments (0)

Image of AssemblyAI

Automatic Speech Recognition with AssemblyAI

Experience near-human accuracy, low-latency performance, and advanced Speech AI capabilities with AssemblyAI's Speech-to-Text API. Sign up today and get $50 in API credit. No credit card required.

Try the API

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay