<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nurhak Şentürk</title>
    <description>The latest articles on DEV Community by Nurhak Şentürk (@nurhaksenturk).</description>
    <link>https://dev.to/nurhaksenturk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1105588%2F5b908dcc-93d7-472c-b3bd-101106ab0c3b.png</url>
      <title>DEV Community: Nurhak Şentürk</title>
      <link>https://dev.to/nurhaksenturk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nurhaksenturk"/>
    <language>en</language>
    <item>
      <title>Bacula&amp;Baculum Kurulumu</title>
      <dc:creator>Nurhak Şentürk</dc:creator>
      <pubDate>Tue, 01 Aug 2023 08:05:50 +0000</pubDate>
      <link>https://dev.to/nurhaksenturk/baculabaculum-kurulumu-2lob</link>
      <guid>https://dev.to/nurhaksenturk/baculabaculum-kurulumu-2lob</guid>
      <description>&lt;p&gt;Bu yazımda açık kaynak kodlu yedekleme yazılımı olan Bacula kurulumu ve yönetim arayüzü olan Baculum kurulumunu anlatacağım.&lt;/p&gt;

&lt;p&gt;Kurulumu Ubuntu Server 20.04 üzerinden yapacağız.&lt;/p&gt;

&lt;p&gt;Öncelikle Ubuntu Server kurulumunu yaparak temel ayarlarını (IP, Hostname, Depo Tanımları) tamamlıyoruz.&lt;/p&gt;

&lt;h2&gt;
  
  
  BACULA KURULUMU
&lt;/h2&gt;

&lt;p&gt;Paket veritabanlarının güncel olduğuna emin oluyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Uygulamanın kullanacağı veritabanı olarak PostgreSql kurulumu yapıyoruz. Sadece kurulum yapacağız. Gerekli konfigurasyonlar otomatik olarak tamamlanacaktır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; apt-get install postgresql -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bacula kurulumunu yapıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apt-get install bacula -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kurulum sonrasında aldığımız yedeklerin saklanacağı dizini oluşturuyoruz. Bu alan Storage üzerinden linux sunucuya mount edebileceğiniz herhangi bir alan(nfs gibi) olabilir.Biz kuruluma standart Linux file sisteminden dizin oluşturarak devam edeceğiz.İlgili dizin için yetkilendirme yapacağız.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir /backup
chown -R bacula:bacula /backup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;/etc/bacula/bacula-sd.conf&lt;/code&gt; konfigurasyon dosyasında &lt;code&gt;Archive Device&lt;/code&gt; gördüğümüz tüm satırların karşılıklarını yedeklerin saklanacağı dizin olarak ayarlıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Device {
  Name = FileChgr2-Dev2
  Media Type = File2

  Archive Device = /bacula   ####################

  LabelMedia = yes;                   
  Random Access = Yes;
  AutomaticMount = yes;               
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Store alanı ile ilgili konfigurasyon değişikliğinden sonra ilgili servisi yeniden başlatarak bacula konsola bağlanıp test yapabiliriz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;systemctl restart bacula-sd.service
bconsole 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  BACULUM KURULUMU
&lt;/h2&gt;

&lt;p&gt;Baculum reposunun public key'ini APT repomuzun güvenilir anahtarlar listesine ekliyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wget -qO - http://www.bacula.org/downloads/baculum/baculum.pub | apt-key add -
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Baculum depo adreslerini ekleyebilmek için dosya oluşturuyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;touch /etc/apt/sources.list.d/baculum.list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Oluşturduğumuz dosyanın içeriğini düzenliyoruz. &lt;code&gt;nano /etc/apt/sources.list.d/baculum.list&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;deb [ arch=amd64 ] http://www.bacula.org/downloads/baculum/stable-11/ubuntu focal main
deb-src http://www.bacula.org/downloads/baculum/stable-11/ubuntu focal main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paket veritabanlarını güncelliyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Baculum Web ve API uygulaması için paket kurulumlarımızı yapıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apt-get install baculum-common baculum-web baculum-api baculum-web-apache2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Gerekli konfigurasyonların otomatik olarak yapılması için aşağıdaki komutları çalıştırıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a2enmod rewrite
a2ensite baculum-web
a2ensite baculum-api
systemctl restart apache2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu aşamada apache servisi aracılığıyla 9095 portundan web uygulamasının, 9096 portundan ise API'nin ayağa kalktığını görmemiz gerekiyor.Cli üzerinden portun hizmet verdiğini kontrol etmek için aşağıdaki komutu kullanabilirsiniz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ss -tlpn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Apache'nin bacula servislerini yönetebilmesi için &lt;code&gt;/etc/sudoers.d/&lt;/code&gt;'nin altına &lt;code&gt;baculum-api&lt;/code&gt; isminde bir dosya oluşturarak içeriğini aşağıdaki şekilde düzenliyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano /etc/sudoers.d/baculum-api
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Defaults:www-data !requiretty
www-data ALL = (root) NOPASSWD: /usr/bin/bconsole
www-data ALL = (root) NOPASSWD: /opt/bacula/bin/bdirjson
www-data ALL = (root) NOPASSWD: /opt/bacula/bin/bsdjson
www-data ALL = (root) NOPASSWD: /opt/bacula/bin/bfdjson
www-data ALL = (root) NOPASSWD: /opt/bacula/bin/bbconsjson
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl start bacula-dir
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl stop bacula-dir
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl restart bacula-dir
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl start bacula-sd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl stop bacula-sd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl restart bacula-sd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl start bacula-fd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl stop bacula-fd
www-data ALL = (root) NOPASSWD: /usr/bin/systemctl restart bacula-fd

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(Extra Bilgi)Yetki verdiğimiz dosya içerisinde belirtilen bacula çalıştırılabilir dosyalarının (bdirjson,bsdjson,bfdjson,bbconsjson) dizinleri değişkenlik gösterebiliyor. Bu sebeple ilgili dosyaların dizinlerini mlocate paketi ile tespit edebilirsiniz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   apt install mlocate
   updatedb
   locate bfdjson
   locate bacula-fd.conf
   locate bbconsjson
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kurulumun bundan sonraki adımlarına arayüz üzerinden devam ediliyor.&lt;br&gt;
Kurumulum yaptığımız sunucunun IP adresinin 9096 portuna Web Browser üzerinden istekte bulunuyoruz.Karşımıza kullanıcı adı ve parola ekranı geliyor.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#API SERVER YAPILANDIRMA ICIN
http://Server_IP:9096
Username:admin
Password:admin

#WEB SERVER YAPILANDIRMA ICIN
http://Server_IP:9095
Username:admin
Password:admin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Her iki servis için ekrana gelen adımları Test butonundan Başarılı cevabını alacak şekilde doldurarak tamamlıyoruz.&lt;br&gt;
Gelen formlarda bazı dosyaların bulunduğu dizinlerde hatalar olabiliyor. Yukarıda extra bilgi kısmında paylaştığım gibi &lt;code&gt;mlocate&lt;/code&gt; paketi ile doğru dizinleri bulabilirsiniz.&lt;/p&gt;

&lt;p&gt;Tüm adımları tamamladıktan sonra Sunucunun 9095 portuna istek attığınızda aşağıdaki gibi bir ekran ile karşılaşmanız gerekmetedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1pz2-UsJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7jhc6izyqkf7bdxvdt18.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1pz2-UsJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7jhc6izyqkf7bdxvdt18.png" alt="Image description" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>bacula</category>
      <category>baculum</category>
      <category>backup</category>
      <category>installation</category>
    </item>
    <item>
      <title>Zabbix Server Kurulumu</title>
      <dc:creator>Nurhak Şentürk</dc:creator>
      <pubDate>Tue, 25 Jul 2023 13:20:31 +0000</pubDate>
      <link>https://dev.to/nurhaksenturk/zabbix-server-kurulumu-2opn</link>
      <guid>https://dev.to/nurhaksenturk/zabbix-server-kurulumu-2opn</guid>
      <description>&lt;p&gt;Bu yazıdaki amacım hem Türkçe kaynak hazırlamak, hemde Zabbix Web sayfasından yaptığım kurulumda yaşadığım sorunların yaşanmaması için daha açık bir kurulum dökümanı hazırlamaktır.&lt;/p&gt;

&lt;p&gt;Öncelikle kurulumu Ubuntu Server 20.04 üzerinden yapacağım. Normalde Ubuntu Server 22.04'te yapmayı planlamıştım fakat Zabbix'in kendi sayfasındaki dökümanda kurulumda eksik paketler çıkmaktadır.Ayrıca dökümanda tüm servis ve uygulamaların kurulumları yazmamaktadır.Bu yazıya bunları da ekleyeceğim.&lt;/p&gt;

&lt;p&gt;Öncelikle Ubuntu Server kurulumunu yaparak temel ayarlarını (IP, Hostname, Depo Tanımları) tamamlıyoruz.&lt;/p&gt;

&lt;p&gt;Ardından sunucumuzu en güncel paketler ile güncelliyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sunucuyu güncelledikten sonra apache web server paketini kuruyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apt install apache2 -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Zabbix paketlerinin kurulumu için zabbix repo tanımlarını sunucumuza ekliyoruz.Bu aşamada ortamınızda güvenlik ile ilgili bir tedbir bulunuyorsa sertifikayı görmezden gelebilmek için &lt;code&gt;wget&lt;/code&gt; komuta &lt;code&gt;--no-check-certificate&lt;/code&gt; parametresini ekleyebilirsiniz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb
dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb
apt update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Zabbix paketlerini kuruyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Zabbix arka verilerini saklayabilmek için bir veritabanına ihtiyaç duyar. Kendi web sayfasında PostgreSQL veya MySql seçenekleri ile gelmektedir.Biz kurulumumuza mysql ile devam edeceğiz. MySql veritabanı paketini kuruyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apt install mysql-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Veritabanı sunucusuna bağlanarak aşağıdaki komutları sırasıyla çalıştırıyoruz.İlk komutu çalıştırdığımzda bizden parola oluşturmamız beklenilecek. İlerleyen aşamalarda parola ile işlem yapacağımız için unutmayacağınız bir parola vermenizi öneriyorum.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# mysql -uroot -p
password
mysql&amp;gt; create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql&amp;gt; create user zabbix@localhost identified by 'password';
mysql&amp;gt; grant all privileges on zabbix.* to zabbix@localhost;
mysql&amp;gt; set global log_bin_trust_function_creators = 1;
mysql&amp;gt; quit;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu aşamada Zabbix veritabanına ilk şemayı ve verileri aktaracak komutu çalıştırıyoruz. Komutu çalıştırdığınızda yeni oluşturduğunuz parolayı girmeniz beklenilecektir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Veritabanını oluşturduktan sonra &lt;code&gt;log_bin_trust_function_creators&lt;/code&gt;parametresini kapalı konuma getiriyoruz. Sırasıyla aşağıdaki komutları çalıştırıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# mysql -uroot -p
password
mysql&amp;gt; set global log_bin_trust_function_creators = 0;
mysql&amp;gt; quit;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Zabbix konfigurasyon dosyasında(&lt;code&gt;/etc/zabbix/zabbix_server.conf&lt;/code&gt;) MySql şifresini giriyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DBPassword=password
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Son olarak servisleri yeniden başlatıp, sunucunun yeniden başlaması durumunda servislerin otomatik olarak çalışabilmesi için servisleri enable ediyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; systemctl restart zabbix-server zabbix-agent apache2
 systemctl enable zabbix-server zabbix-agent apache2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tüm adımları tamamladıktan sonra bir web browser açarak ;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; SUNUCU_IP/zabbix/index.php 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;adresine giriş yaptığımız zaman Zabbix arayüzü ile karşılaşmamız gerekiyor. Bu adımda ekrandaki formları doğru bilgiler ile doldurarak ilerleyip Zabbix kurulumunu tamamlayabilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ygb0xUr9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y8qf790smzgsc0j9gju7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ygb0xUr9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y8qf790smzgsc0j9gju7.png" alt="Image description" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>zabbix</category>
      <category>devops</category>
      <category>monitoring</category>
      <category>mysql</category>
    </item>
    <item>
      <title>Graphite aracılığı ile Grafana'da Apache SPARK ve Hadoop Monitoring</title>
      <dc:creator>Nurhak Şentürk</dc:creator>
      <pubDate>Wed, 21 Jun 2023 12:07:03 +0000</pubDate>
      <link>https://dev.to/nurhaksenturk/graphite-araciligi-ile-grafanada-apache-spark-ve-hadoop-monitoring-554a</link>
      <guid>https://dev.to/nurhaksenturk/graphite-araciligi-ile-grafanada-apache-spark-ve-hadoop-monitoring-554a</guid>
      <description>&lt;p&gt;Bu yazının amacı,Apache Spark ve Hadoop metriklerini kaynak kabul edip, bu verilerin Grafana ortamında görselleştirilmesini sağlamaktır.Bu nedenle ismi geçen uygulamalar ile ilgili kısa bilgi verip, yapmak istediğimiz ana konuya odaklanmak istiyorum.Tüm adımlar standart(monolitik) mimari ile kurgulanmıştır.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Grafana:&lt;/strong&gt; Desteklenen veri kaynaklarından metrik verileri girdi olarak sağladığımızda analitik ve etkileşimli görseller oluşturabileceğimiz açık kaynak kodlu bir uygulamadır.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Graphite:&lt;/strong&gt; Metrik verilerin toplanması, depolanması, görselleştirilmesi ve analiz edilmesi için kullanılan bir açık kaynaklı yazılım platformudur. Genellikle sistem performansı, ağ izleme, uygulama izleme ve zaman serisi verilerinin analizi gibi alanlarda kullanılır. Graphite, metrik verilerini çeşitli kaynaklardan alabilir, ölçeklenebilirlik sağlayabilir ve esnek bir şekilde özelleştirilebilir. Aynı zamanda Grafana, Kibana gibi diğer araçlarla da entegre edilebilir. Bu sayede, sistemlerinizi izlemek, performansı analiz etmek ve trendleri görselleştirmek için kullanabileceğiniz güçlü bir araçtır.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apache SPARK:&lt;/strong&gt; Büyük veri işleme ve analizi için hızlı ve genel amaçlı bir açık kaynak kodlu veri işleme motorudur. Spark, yüksek hızda paralel veri işleme yapabilen dağıtık sistemler üzerinde çalışır. Yoğun veriye sahip uygulamarda veriyi hızlı bir şekilde işleyebilir.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hadoop:&lt;/strong&gt; Büyük miktardaki verilerin depolanması ve işlenmesi için kullanılan bir açık kaynaklı yazılım çerçevesidir. Hadoop, ölçeklenebilir, dağıtık bir sistem üzerinde çalışır ve birçok düşük maliyetli bilgisayar düğümünden oluşan bir küme üzerinde veri işleme işlerini gerçekleştirir.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kurulumlar Ubuntu 22.04 ortamlarında yapılmıştır. Ayrıca kullanılan sunucunun(sunucuların) üzerindeki firewall servisi kapalı konumda olmalıdır. Aksi halde firewall kurallarını yazmanız gerekebilir.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  GRAFANA KURULUMU
&lt;/h2&gt;

&lt;p&gt;Öncelikle Ubuntu sistemimizin güncel olduğundan emin oluyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;İmzalı paketleri kurmak amacıyla Grafana gpg anahtarını ekliyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install -y gnupg2 curl software-properties-common
curl -fsSL https://packages.grafana.com/gpg.key|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/grafana.gpg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Grafana APT repository'sini depo tanımlarımız arasına ekliyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;APT repository'sini ekledikten sonra kullanılan paket veritabanları güncelleyip ve Grafana kurulumu yapıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update 
sudo apt -y install grafana
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Grafana servisini başlangıçta otomatik olarak başlatılacak şekilde yapılandırmak ve başlatmak için aşağıdaki komutu çalıştırıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl enable --now grafana-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu şekilde Grafana kurulumunu tamamlamış oluyoruz. Grafanaya erişim için arayüzlü bir istemcinin Web Browser'una Grafana kurulumu yaptığımız Ubuntu 22.04 sunucunun IP adresini yazarak sonuna port bilgisi olarak :3000 ekliyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;UBUNTU_SERVER_IP_ADRES:3000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kurduğumuz Grafana sunucusunun default kullanıcı adı:admin, parola:admin şeklindedir. İlk girişte sizden yeni bir parola oluşturmanız beklenmektedir. Bu adımı atlama seçeneği de mevcuttur.&lt;/p&gt;

&lt;p&gt;Grafanayı kurduktan sonra ortamınızın değişkenleri doğrultusunda isterseniz aynı sunucu üzerinde isterseniz farklı bir sunucuda Graphite kurulumlarına başlayabilirsiniz. Ben aynı sunucu üzerinde devam edeceğim.&lt;/p&gt;

&lt;h2&gt;
  
  
  GRAPHITE KURULUM VE KONFIGURASYONU
&lt;/h2&gt;

&lt;p&gt;Farklı bir zamanda kuruluma devam edilebileceği veya farklı bir sunucu üzerinden devam edilebileceği için yine ilk olarak Ubuntu sistemimizin güncel olduğundan emin oluyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paketlerin depoda olduğunu ve sürüm bilgilerini görüntülemek amacıyla aşağıdaki komutlar çalıştırılabilir.Bu komutların kuruluma doğrudan bir etkisi yoktur.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-cache search graphite | grep "graphite-"
sudo apt-cache madison graphite-carbon graphite-web
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paket kurulumları yapıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install graphite-carbon graphite-web
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu aşamadan sonra Graphite uygulamasının konfigurasyonlarını yapmaya başlıyoruz.Graphite Carbon uygulamasına ait yapılandırma dosyasının ve diğer yapılandırma ayarlarını görüntülemek için aşağıdaki komutu çalıştırıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cat /etc/carbon/carbon.conf | egrep -v '#' | sed '/^$/d'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sunucun veya servislerin yeniden başlaması durumunda carbon-cache.py servisinin yeniden başlaması için aşağıdaki düzenlemeyi yapıyoruz.Bu adım kurulumun devamı açısından zorunlu değildir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo vim /etc/default/graphite-carbon
# Change to true, to enable carbon-cache on boot
CARBON_CACHE_ENABLED=true  ## Ihtiyac duyulmasi haline "true" yapilabilir.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dosyayı kaydetip kapattıktan sonra servis yeniden başlatılır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl start carbon-cache
sudo systemctl status carbon-cache
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paket kurulumu sırasında bağımlılıklardan bir tanesi SQLite Veritabanıdır. Graphite uygulaması bir veritabanına ihtiyaç duyar.Uygulama geniş bir altyapıda cluster kullanılacaksa PostgreSQL veya MySQL kullanılabilir. Biz default yapı üzerinden yani SQLite üzerinden kuruluma devam edeceğiz. Bu aşamada Graphite uygulamasının veritabanı oluşturma ve SQL ayarlarını yapıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo django-admin migrate --settings=graphite.settings
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SQLite veritabanı dosyasının sahipliğini, veritabanı işlemlerini çalıştırmak için kullanılacak olan _graphite kullanıcısına yeniden atıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo chown _graphite:_graphite /var/lib/graphite/graphite.db
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Graphite uygulamasının Web konfigurasyonlarını düzenliyoruz. Default olarak oluşturulmuş anahtarı kendi belirlediğimiz bir anahtar ile değiştiriyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo vim /etc/graphite/local_settings.py
...
SECRET_KEY = 'MY_SECRET' # kendi anahtarimizi giriyoruz.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Graphite Web kurulum dizinini düzenlemek için sembolik link oluşturuyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo ln -s /etc/graphite/local_settings.py /usr/lib/python3/dist-packages/graphite/local_settings.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Graphite uygulamasının arayüzünün görüntülenmesi için bir web sunucusuna ihtiyaç duyar. Bu birkaç farklı şekilde yapılabilir. Biz bu kılavuz için “Apache + mod_wsgi” yığınını kullanacağız.&lt;br&gt;
Apache kurulumu ve konfigurasyonu için şu adımlar takip edilmelidir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install apache2 libapache2-mod-wsgi-py3

sudo cp /usr/share/graphite-web/apache2-graphite.conf /etc/apache2/sites-available

sudo a2dissite 000-default

sudo a2ensite apache2-graphite

sudo systemctl reload apache2 

sudo chown _graphite:_graphite /var/log/graphite/info.log

sudo chown _graphite:_graphite /var/log/graphite/exception.log

sudo systemctl reload apache2 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu adımdan sonra Web Browser'dan Graphite sunucusunun bulunduğu sununun IP'sine istek attığımız zaman arayüze erişimin açık olması gerekmekte. Fakat Apache'nin loglarını incelediğimiz zaman bir hata göreceğiz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tail -f  /var/log/apache2/graphite-web_error.log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu hatanın çözümü için aşağıdaki adım uygulanabilir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo vi /etc/apache2/sites-available/apache2-graphite.conf
...
        WSGIProcessGroup _graphite
        WSGIApplicationGroup %{GLOBAL}     ## Bu satır eklenecek. 
        WSGIImportScript /usr/share/graphite-web/graphite.wsgi process-group=_graphite application-group=%{GLOBAL}
...

sudo systemctl reload apache2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu adımdan sonra loga tekrar baktığımızda hata olmadığını göreceğiz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tail -f  /var/log/apache2/graphite-web_error.log -c 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu adımla birlikte Web Sunucusu kurulumunu tamamlamış olduk.Şimdiye kadar Graphite'i metrikleri görüntülemek için yapılandırmıştık, ancak grafikleri kaydetmek veya panolar oluşturmak için kullanacak yapıyı oluşturmadık. Sıradan kullanıcıları ekleyebilmemiz ve daha gelişmiş işlemler yapabilmemiz için önce bir Graphite admin kullanıcısı oluşturmamız gerekiyor.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo django-admin createsuperuser --settings=graphite.settings
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Default yapıda admin sayfası Grapite Web sunucu ayarlarından farklı olarak Django Admin Dashboard'undan erişilmektedir.Bu sebeple bir sembolik link oluşturarak bu sorunu da çözüyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo ln -s /usr/lib/python3/dist-packages/django/contrib/admin/static/admin/ /usr/share/graphite-web/static/admin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Apache SPARK Metriklerini Graphite'ye Yönlendirme
&lt;/h2&gt;

&lt;p&gt;Apache SPARK metriklerini  Graphite'ye yönlendirmek için SPARK'ın konfigurasyon dosyalarından bazılarında düzenlemeler yapacağız.&lt;/p&gt;

&lt;p&gt;Öncelikle SPARK metric.properties dosyasını düzenleyelim. Bu dosya SPARK'ın kurulu olduğu dizinde conf dizinin altında bulunmaktadır.Eğer bu metric.properties dosyası yoksa metric.properties.template'den kopyalayarak üretebilir veya elle oluşturabilirsiniz. metric.properties dosyasının içeriği aşağıdaki gibi olmalıdır.Diğer satırlar silinebilir veya yorum olarak kalabilir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;driver.sink.graphite.class=org.apache.spark.metrics.sink.GraphiteSink
executor.sink.graphite.class=org.apache.spark.metrics.sink.GraphiteSink
worker.sink.graphite.class=org.apache.spark.metrics.sink.GraphiteSink
master.sink.graphite.class=org.apache.spark.metrics.sink.GraphiteSink
# Example configuration for Graphite sink
*.sink.graphite.class=org.apache.spark.metrics.sink.GraphiteSink
*.sink.graphite.host=&amp;lt;HOSTNAME VEYA IP&amp;gt;
*.sink.graphite.port=2003
*.sink.graphite.period=10
*.sink.graphite.unit=seconds
*.sink.graphite.prefix=&amp;lt;KEY&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yine aynı dizinde bulunan spark-default.conf dosyasına aşağıdaki satırları ekliyoruz.Benim ortamımda SPARK, /opt/spark dizininde kurulu olduğu için bu şekilde düzenledim. İkinci satırı kendi ortamınıza göre düzenlemelisiniz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;spark.metrics.namespace spark
spark.metrics.conf /opt/spark/conf/metrics.properties
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SPARK'ı yeniden başlattıktan sonra Graphite arayüzünden SPARK'ın metriklerini görüntüleyebiliyor olmalıyız.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hadoop Metriklerini Graphite'ye Yönlendirme
&lt;/h2&gt;

&lt;p&gt;Hadoop metriklerini  Graphite'ye yönlendirmek için Hadoop'un konfigurasyon dosyalarından bazılarında düzenlemeler yapacağız.&lt;/p&gt;

&lt;p&gt;Öncelikle Hadoop hadoop.metric2.properties dosyasını düzenleyelim. Bu dosya Hadoop'un kurulu olduğu dizinde ./etc/hadoop dizinin altında bulunmaktadır.Eğer bu hadoop.metric2.properties dosyası yoksa hadoop.metric2.properties.template'den kopyalayarak üretebilir veya elle oluşturabilirsiniz. hadoop.metric2.properties dosyasının içeriği aşağıdaki gibi olmalıdır.Diğer satırlar silinebilir veya yorum olarak kalabilir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# GraphiteReporter ayarları
*.sink.graphite.class=org.apache.hadoop.metrics2.sink.GraphiteSink
*.sink.graphite.host=&amp;lt;HOSTNAME VEYA IP&amp;gt;
*.sink.graphite.port=2003
*.sink.graphite.period=10
*.sink.graphite.prefix=HADOOP
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yine aynı dizinde bulunan core-site.xml, hdfs-site.xml, yarn-site.xml, mapred-site.xml dosylarına aşağıdaki satırların eklenmesi durumunda ilgili metrikler Graphite'ye aktarılmış olacaktır..Benim ortamımda Hadoop, /opt/hadoop dizininde kurulu olduğu için bu şekilde düzenledim.  değerini kendi ortamınıza göre düzenlemelisiniz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;property&amp;gt;
  &amp;lt;name&amp;gt;hadoop.metrics2.file.filename&amp;lt;/name&amp;gt;
  &amp;lt;value&amp;gt;/opt/hadoop/etc/hadoop/hadoop-metrics2.properties&amp;lt;/value&amp;gt;
&amp;lt;/property&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  GRAFANA ARAYUZUNDEN METRIKLERIN GORUNTULENMESI
&lt;/h2&gt;

&lt;p&gt;Şimdi sırada Grafana arayüzünden bu metrikleri kullanabilmeye geldi. Bu kısımda çok çeşitli kombinasyonlar yapılabileceği için kısa bir örnek göstereceğim.&lt;/p&gt;

&lt;p&gt;Öncelikle daha önce kurduğumuz Grafana arayüzüne bağlanarak giriş yapmalıyız. &lt;br&gt;
Ardından sol tarafta açılabilir menü de bulunan &lt;strong&gt;Administration&lt;/strong&gt; sekmesine tıklıyoruz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qfDyjKDr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bui9xocunt4er4lx50in.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qfDyjKDr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bui9xocunt4er4lx50in.PNG" alt="Image description" width="598" height="670"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Açılan pencere DataSource'a tıklayıp Arama çubuğuna Graphite yazarak buluyoruz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RDmfBzam--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n91cdjyva9zdnaamb9b1.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RDmfBzam--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n91cdjyva9zdnaamb9b1.PNG" alt="Image description" width="800" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Açılan formda URL kısmına başında "http://" olacak şekilde Graphite sunusunun ip adresini yazarak bağlantıyı kaydediyoruz.İsterseniz Name kısmını da değiştirebilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gxNX_-CU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p5wkazfixivgae0umaff.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gxNX_-CU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p5wkazfixivgae0umaff.PNG" alt="Image description" width="800" height="616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Son olarak Grafana'da Dashboard hazırlayarak metriklerimizi izleyebiliriz. Bunun için Grafana arayüzünde, sağ üstte bulunan "+" işaretine tıklıyoruz ve New Dashboard'u seçiyoruz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qtPJPybD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ii4efxxad997qk6dwja4.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qtPJPybD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ii4efxxad997qk6dwja4.PNG" alt="Image description" width="554" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Açılan pencerede "+Add Visualization" u seçerek devam ediyoruz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---O8CNxFW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wl89h854d3p7ztokj30l.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---O8CNxFW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wl89h854d3p7ztokj30l.PNG" alt="Image description" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Burada karşımıza DataSource seçim ekranı geliyor. DataSource olarak Graphite'yi seçerek devam ediyoruz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9ko7NNnF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ituv7wiwwjkilvxnoehq.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9ko7NNnF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ituv7wiwwjkilvxnoehq.PNG" alt="Image description" width="598" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Açılan sayfada Graphite anahtarımızı , hangi metriği izleyeceğimizi ve hangi formatta görüntüleyeceğimizi seçerek tamamlıyoruz. Birden fazla metrik aynı yöntem takip edilerek farklı şekillerde düzenlenebilir.&lt;/p&gt;

&lt;p&gt;Bu şekilde Apache SPARK veya Hadoop metriklerini Grafana üzerinden görüntüleyebilmek için adımları tamamlamış olduk. &lt;/p&gt;

</description>
      <category>grafana</category>
      <category>graphite</category>
      <category>spark</category>
      <category>hadoop</category>
    </item>
  </channel>
</rss>
