‼️ İ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
- Daha sonra config.monitoring isimli dosyanın içine girilir:
nano config.monitoring
- Açılan dosyanın içine şu satırlar eklenir ve kaydedilip çıkılır:
2.2 Docker Compose: docker-compose.yml
- İlk olarak ana dizine gidiyoruz:
cd ..
- Daha sonra docker-compose.yml dosyasının içine giriyoruz:
nano docker-compose.yml
- 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
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
mkdir -p provisioning/datasources
- Daha sonra şu komut ile /grafana/provisioning/datasources/datasource.yml dosyasının içine girilir:
nano /grafana/provisioning/datasources/datasource.yml
- 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
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
mkdir provisioning/dashboards
- Daha sonra şu komut ile /grafana/provisioning/dashboards/dashboard.yml dosyasının içine girilir:
nano /grafana/provisioning/dashboards/dashboard.yml
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
3. Grafana Başlat
- Son olarak dosyalarda değişiklikler olduğu için docker-compose down edilir:
docker-compose down
- Tekrar up edilir ve Grafana'nın da UP olduğu gözlemlenir:
docker-compose up -d
- Ardından tarayıcıya "http://IP:3000" girilir ve Grafana arayüzüne erişilir:
Grafana yüklü olan makinenin IP'si girilir.
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:
- Ö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:
- Sayfanın sol üstünde bulunan Apply butonuna tıklanır ve dashboard eklenir:
Top comments (0)