<?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>Forem: Emine Nur Arıcı</title>
    <description>The latest articles on Forem by Emine Nur Arıcı (@emine_nurarc_ca7d62402).</description>
    <link>https://forem.com/emine_nurarc_ca7d62402</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%2F3505509%2Fa0e65c7b-fddf-408d-ae7d-ca45a4ce46b9.jpg</url>
      <title>Forem: Emine Nur Arıcı</title>
      <link>https://forem.com/emine_nurarc_ca7d62402</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/emine_nurarc_ca7d62402"/>
    <language>en</language>
    <item>
      <title>Kafka Kurulumu ve Zabbix JMX Entegrasyonu</title>
      <dc:creator>Emine Nur Arıcı</dc:creator>
      <pubDate>Mon, 08 Dec 2025 10:45:43 +0000</pubDate>
      <link>https://forem.com/emine_nurarc_ca7d62402/kafka-kurulumu-ve-zabbix-jmx-entegrasyonu-3mod</link>
      <guid>https://forem.com/emine_nurarc_ca7d62402/kafka-kurulumu-ve-zabbix-jmx-entegrasyonu-3mod</guid>
      <description>&lt;p&gt;Bu doküman; Ubuntu ortamında Kafka kurulumunu, JMX portunun aktif edilmesini, Zabbix Java Gateway kurulumunu ve metriklerin doğrulanmasını kapsar.&lt;/p&gt;




&lt;h2&gt;
  
  
  BÖLÜM 1: Kafka Sunucusu Kurulumu ve Yapılandırması (Host Tarafı)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Java Kurulumu ve Hazırlık
&lt;/h3&gt;

&lt;p&gt;Kafka'nın çalışması için Java gereklidir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;openjdk-17-jdk &lt;span class="nt"&gt;-y&lt;/span&gt;
java &lt;span class="nt"&gt;-version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Kafka'nın İndirilmesi ve Kurulması
&lt;/h3&gt;

&lt;p&gt;Kafka 3.6.1 sürümü indirilir, arşivden çıkarılır ve /opt dizinine taşınır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /tmp
wget https://archive.apache.org/dist/kafka/3.6.1/kafka_2.13-3.6.1.tgz

&lt;span class="c"&gt;# Çıkart&lt;/span&gt;
&lt;span class="nb"&gt;tar&lt;/span&gt; &lt;span class="nt"&gt;-xvzf&lt;/span&gt; kafka_2.13-3.6.1.tgz

&lt;span class="c"&gt;# Taşı&lt;/span&gt;
&lt;span class="nb"&gt;sudo mv &lt;/span&gt;kafka_2.13-3.6.1 /opt/kafka

&lt;span class="c"&gt;# Klasöre gir&lt;/span&gt;
&lt;span class="nb"&gt;cd&lt;/span&gt; /opt/kafka
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Servislerin Başlatılması (JMX Aktif)
&lt;/h3&gt;

&lt;p&gt;Önce Zookeeper, ardından JMX portu (9999) tanımlanarak Kafka başlatılır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Zookeeper başlat&lt;/span&gt;
bin/zookeeper-server-start.sh &lt;span class="nt"&gt;-daemon&lt;/span&gt; config/zookeeper.properties

&lt;span class="c"&gt;# JMX Portunu tanımla ve Kafka'yı başlat&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;JMX_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;9999
bin/kafka-server-start.sh &lt;span class="nt"&gt;-daemon&lt;/span&gt; config/server.properties
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Kontroller
&lt;/h3&gt;

&lt;p&gt;Servislerin ve portun çalıştığı doğrulanır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Processleri gör (Kafka ve QuorumPeerMain görmelisin)&lt;/span&gt;
jps

&lt;span class="c"&gt;# 9999 Portu dinleniyor mu? (Çıktı boş dönmemeli)&lt;/span&gt;
ss &lt;span class="nt"&gt;-tpln&lt;/span&gt; | &lt;span class="nb"&gt;grep &lt;/span&gt;9999
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  BÖLÜM 2: Zabbix Server Tarafı Yapılandırması
&lt;/h2&gt;

&lt;p&gt;Zabbix sunucusunun Java uygulamalarıyla konuşabilmesi için Java Gateway kurulmalı ve yapılandırılmalıdır.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Java Gateway Kurulumu
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;zabbix-java-gateway &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable&lt;/span&gt; &lt;span class="nt"&gt;--now&lt;/span&gt; zabbix-java-gateway
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Zabbix Server Konfigürasyonu
&lt;/h3&gt;

&lt;p&gt;Konfigürasyon dosyası düzenlenerek Java Gateway tanıtılır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;nano /etc/zabbix/zabbix_server.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dosya içerisinde aşağıdaki satırlar bulunur ve düzenlenir (veya eklenir):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;&lt;span class="c"&gt;# Gateway'in nerede olduğu (Aynı makinede olduğu için 127.0.0.1)
&lt;/span&gt;&lt;span class="py"&gt;JavaGateway&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;127.0.0.1&lt;/span&gt;

&lt;span class="c"&gt;# Gateway'in dinlediği port (Varsayılan 10052)
&lt;/span&gt;&lt;span class="py"&gt;JavaGatewayPort&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;10052&lt;/span&gt;

&lt;span class="c"&gt;# Java izleyecek işçi sayısı (Burası 0 ise çalışmaz, en az 5 yap)
&lt;/span&gt;&lt;span class="py"&gt;StartJavaPollers&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;5&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Servisi Yeniden Başlatma
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl restart zabbix-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  BÖLÜM 3: Zabbix Web Arayüzü Konfigürasyonu
&lt;/h2&gt;

&lt;p&gt;Kafka hostunun Zabbix'e eklenmesi adımlarıdır.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Menüye Git:&lt;/strong&gt; Data Collection (veya Configuration) &amp;gt; Hosts yolunu izle. Sağ üstteki Create host butonuna tıkla.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Host Bilgilerini Gir:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Host name:&lt;/strong&gt; emine-kafka (veya istenilen isim).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Templates:&lt;/strong&gt; Apache Kafka by JMX (Verilerin gelmesini sağlayan kritik şablon).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Host groups:&lt;/strong&gt; Applications veya Linux servers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Bağlantı Ayarlarını (Interface) Yap:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interfaces satırındaki Add butonuna bas ve JMX seç.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IP Address:&lt;/strong&gt; 192.168.100.1 (Kafka makinesinin IP'si).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port:&lt;/strong&gt; 9999&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foda6c886nuvd8srdcorh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foda6c886nuvd8srdcorh.png" alt=" " width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kaydet ve İzle:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add butonuna tıkla.&lt;/li&gt;
&lt;li&gt;Listede Availability sütunundaki JMX ikonunun gri renkten YEŞİL renge dönmesi beklenir (1-2 dakika sürebilir).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  BÖLÜM 4: Sorun Giderme (SSL/Auth Hatası)
&lt;/h2&gt;

&lt;p&gt;Eğer ikon yeşil yanmazsa ve aşağıdaki hata alınırsa: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HATA:&lt;/strong&gt; SSL peer shut down incorrectly: service:jmx:rmi:///jndi/rmi://192.168.100.1:9999/jmxrmi&lt;/p&gt;

&lt;h3&gt;
  
  
  Çözüm Adımları:
&lt;/h3&gt;

&lt;p&gt;Kafka durdurulur ve SSL/Kimlik doğrulama devre dışı bırakılarak IP adresi sabitlenir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /opt/kafka
bin/kafka-server-stop.sh

&lt;span class="c"&gt;# SSL ve Auth kapatılır, Hostname sabitlenir (IP adresini kendi yapınıza göre düzenleyin)&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;KAFKA_JMX_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.100.1"&lt;/span&gt;

&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;JMX_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;9999
bin/kafka-server-start.sh &lt;span class="nt"&gt;-daemon&lt;/span&gt; config/server.properties
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  BÖLÜM 5: Veri Doğrulama (JmxTool Testi)
&lt;/h2&gt;

&lt;p&gt;Zabbix'e gelen verinin doğruluğunu teyit etmek için Kafka sunucusu üzerinde JmxTool kullanılır. Zabbix'teki değer ile terminal çıktısı karşılaştırılır.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Senaryo:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Item:&lt;/strong&gt; Produce request total time, mean&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key:&lt;/strong&gt; jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce","Mean"]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zabbix'te görülen değer:&lt;/strong&gt; 0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6exlmtwv1bfx7j1z62c1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6exlmtwv1bfx7j1z62c1.png" alt=" " width="800" height="39"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Doğrulama Komutu (Kafka Sunucusu):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ubuntu@ubuntu:/opt/kafka&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /opt/kafka

&lt;span class="nv"&gt;JMX_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt; bin/kafka-run-class.sh kafka.tools.JmxTool &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--jmx-url&lt;/span&gt; service:jmx:rmi:///jndi/rmi://127.0.0.1:9999/jmxrmi &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--object-name&lt;/span&gt; &lt;span class="s2"&gt;"kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--attributes&lt;/span&gt; Mean &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--date-format&lt;/span&gt; &lt;span class="s2"&gt;"YYYY-MM-dd HH:mm:ss"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Örnek Çıktı:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;WARNING: The 'kafka.tools' package is deprecated...
Trying to connect to JMX url: service:jmx:rmi:///jndi/rmi://127.0.0.1:9999/jmxrmi
"time","kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce:Mean"
2025-12-08 07:21:43,0.0
2025-12-08 07:21:45,0.0
2025-12-08 07:21:47,0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Sonuç:&lt;/strong&gt; Terminal çıktısı da 0.0 döndüğü için Zabbix'e gelen veri doğrudur.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Docker Run İle SSL Sertifikalı Keycloak Kurma</title>
      <dc:creator>Emine Nur Arıcı</dc:creator>
      <pubDate>Wed, 22 Oct 2025 12:19:10 +0000</pubDate>
      <link>https://forem.com/emine_nurarc_ca7d62402/docker-run-ile-ssl-sertifikali-keycloak-kurma-38e4</link>
      <guid>https://forem.com/emine_nurarc_ca7d62402/docker-run-ile-ssl-sertifikali-keycloak-kurma-38e4</guid>
      <description>&lt;p&gt;bu kurulum için bir domain adına ihtiyacımız var benim senaryomda keycloak.local olarak ilerleyeceğim.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Adım:&lt;/strong&gt; Host makinemde, yani browserımla keycloak'a erişeceğim makinede &lt;code&gt;/etc/hosts&lt;/code&gt; dosyasını nano ile açıp en alta şunu ekleyelim:&lt;br&gt;
&lt;code&gt;&amp;lt;ip-adresi&amp;gt; keycloak.local&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Adım:&lt;/strong&gt; Nginx kurulumu&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 install nginx

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Adım:&lt;/strong&gt; SSL sertifikası oluşturma &lt;br&gt;
önce sertifikayı koyacak dosya oluşturalım.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo mkdir -p /etc/ssl/certs/keycloak
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;openssl ile sertifika oluşturalım&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /etc/ssl/certs/keycloak/keycloak.key \
 -out /etc/ssl/certs/keycloak/keycloak.crt \
 -subj "/CN=keycloak.local"

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4. Adım:&lt;/strong&gt; Nginx yapılandırma&lt;/p&gt;

&lt;p&gt;Yeni yapılandırma dosyası oluşturalım&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano /etc/nginx/sites-available/keycloak.conf

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

&lt;/div&gt;



&lt;p&gt;aşağıdaki içeriği dosyanın içine yapıştıralım&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;server {
    listen 80;
    server_name keycloak.local;
    # HTTP'den HTTPS'e yönlendir
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name keycloak.local;

    # SSL Sertifikalarının yolu
    ssl_certificate /etc/ssl/certs/keycloak/keycloak.crt;
    ssl_certificate_key /etc/ssl/certs/keycloak/keycloak.key;

    location / {
        # İsteği, Docker'da çalışan Keycloak'a yönlendir
        proxy_pass http://127.0.0.1:8080;

        # Gerekli HTTP başlıklarını ayarla
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5. Adım&lt;/strong&gt;: Yapılandırmayı aktive etme ve nginx'i yeniden başlatma&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/nginx/sites-available/keycloak.conf /etc/nginx/sites-enabled/

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

&lt;/div&gt;



&lt;p&gt;Nginx'in varsayılan "Welcome" sayfasını devre dışı bırakalım (çakışmasın):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo rm /etc/nginx/sites-enabled/default
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;test edelim&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nginx -t

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

&lt;/div&gt;



&lt;p&gt;restart edelim&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 restart nginx

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6. Adım:&lt;/strong&gt; Keycloak'ı kurma ve yapılandırma&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Öncelikle Docker kurmamız lazım.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release &amp;amp;&amp;amp; echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null
sudo apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;kurulumu başlatalım&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 docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;servis kontrolü yapmak istersek bu komutu çalıştıralım&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 status docker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Keycloak'ı docker run komutu ile kuralım. Burada kullanıcı adı şifre ve hostname verilir.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo docker run -d \
  -p 8080:8080 \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  -e KC_PROXY_HEADERS=xforwarded \
  -e KC_HOSTNAME=keycloak.local \
  quay.io/keycloak/keycloak:latest \
  start-dev


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

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;sudo docker ps&lt;/code&gt; ile kontrol yapılabilir.&lt;/p&gt;

&lt;p&gt;son olarak &lt;a href="https://keycloak.local" rel="noopener noreferrer"&gt;https://keycloak.local&lt;/a&gt; adresinden admin admin ile giriş yapalım.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1vd0bs1739b6vkevkxp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1vd0bs1739b6vkevkxp.png" alt=" " width="547" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>docker</category>
      <category>devops</category>
      <category>security</category>
    </item>
    <item>
      <title>Netex Server ve Netex Sensör kurulumu</title>
      <dc:creator>Emine Nur Arıcı</dc:creator>
      <pubDate>Wed, 08 Oct 2025 10:23:12 +0000</pubDate>
      <link>https://forem.com/aciklab/netex-server-ve-netex-sensor-kurulumu-4010</link>
      <guid>https://forem.com/aciklab/netex-server-ve-netex-sensor-kurulumu-4010</guid>
      <description>&lt;h2&gt;
  
  
  NETEX SERVER KURMA ADIMLARI
&lt;/h2&gt;

&lt;p&gt;not: zabbixin LTS sürümünün kurulu olduğu varsayılmıştır. Zabbix kurulumu için: &lt;a href="https://www.zabbix.com/download?zabbix=7.0&amp;amp;os_distribution=ubuntu&amp;amp;os_version=24.04&amp;amp;components=server_frontend_agent&amp;amp;db=pgsql&amp;amp;ws=apache" rel="noopener noreferrer"&gt;zabbix kurulumu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Postgresql kurulumu:&lt;/em&gt;&lt;/strong&gt;&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 install postgresql postgresql-contrib

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

&lt;/div&gt;



&lt;p&gt;veritabanı sunucusuna bağlanma:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo -u postgres psql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kullanıcı ve veritabanımızı oluşturalım&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE USER netex WITH PASSWORD '1';
CREATE DATABASE netex WITH OWNER netex;

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

&lt;/div&gt;



&lt;p&gt;Daha sonrasında &lt;code&gt;\q&lt;/code&gt; ile çıkış yapabiliriz&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NETEX server kurulumu:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;kurulumu size verilen deb dosyası ile yapabilirsiniz.&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 ./netex-sensor-455-x64.deb -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sonra düzenleme yapabilmek için &lt;code&gt;sudo su&lt;/code&gt;ile root kullanıcısına geçiyoruz, oradan &lt;br&gt;
&lt;code&gt;cd /opt/netex&lt;/code&gt; &lt;br&gt;
komutu ile netex klasörüne geçip &lt;code&gt;env.example&lt;/code&gt; içindeki içeriği &lt;code&gt;.env&lt;/code&gt; içerisine kopyalıyoruz.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cp env.example .env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;nano .env&lt;/code&gt; ile .env dosyasını açıp içini düzenliyoruz:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;storage configuration&lt;/code&gt; kısmında farklı isimlerde DB ve USER oluşturulmadıysa değişiklik yapnmaya gerek yoktur. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Zabbix ayarlarını yaparken zabbix kurarken kullandığınız kullanıcı adı ve passwordu giriyoruz. URL kısmındaki ip adresi kısmına da zabbixin kurulu olduğu serverın ipsini giriyoruz.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JWT KEY ‘i bulmak için  Liman'ın  kurulu olduğu makineye gidip&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; sudo su
cd /liman
cd server
cat .env 

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

&lt;/div&gt;



&lt;p&gt;diyoruz ve çıkan .env dosyasının içeriğinde en altta JWT_SECRET’ı buluyoruz. Sonrasında .env dosyasında JWT kısmına  yapıştırıyoruz.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
.env dosyasının aşağıdaki kısımlarını yukarıdaki bilgilere göre düzenliyoruz.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Storage Configuration @required
DB_HOST=127.0.0.1
DB_NAME=netex
DB_PASS=netex
DB_PORT=5432
DB_USER=netex

ZABBIX_USERNAME="&amp;lt;zabbix_username&amp;gt;"
ZABBIX_PASSWORD="&amp;lt;zabbix_password&amp;gt;"
ZABBIX_URL="&amp;lt;http://zabbix_ip_adresi/zabbix/api_jsonrpc.php&amp;gt;"
ZABBIX_SYNC="ON"

# Liman JWT Secret for http admin service usage @not-required
JWT_SECRET= &amp;lt;yukarıda nasıl bulunacağı belirtildi.&amp;gt; 

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

&lt;/div&gt;



&lt;p&gt;Daha sonrasında bu iki komutla restart edip netex server'daki tüm   servisleri kontrol edelim:&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 restart netex@*
sudo systemctl status netex@*

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn3mbpgroo5eahyiitpge.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn3mbpgroo5eahyiitpge.png" alt=" " width="755" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2bpzl7mhgm6qtjlj0pa1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2bpzl7mhgm6qtjlj0pa1.png" alt=" " width="755" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fon5pdoqw26v7wmtpy2u8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fon5pdoqw26v7wmtpy2u8.png" alt=" " width="755" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fanme5pztrw1upqumshn5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fanme5pztrw1upqumshn5.png" alt=" " width="755" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  NETEX SENSÖR KURMA ADIMLARI
&lt;/h2&gt;

&lt;p&gt;netex kurulu makinede şunları yapalım:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo su
cd /opt/netex/clients
ls 

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

&lt;/div&gt;



&lt;p&gt;burada sensör için gerekli kurulum dosyaları sıralanır. Ubuntu cihaza deb dosyası şu şekilde kurulur:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;apt install ./netex-sensor-455-x64.deb -y&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;opt/netex-sensor/.env&lt;/code&gt; dosyasının içeriğini düzenleyelim.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SERVER_URL="https://&amp;lt;netex_server_ip&amp;gt;:7782"
SENSOR_IP="&amp;lt;netex_server_ip&amp;gt;"
DNS_SERVER_URL="&amp;lt;DNS_server_ip&amp;gt;:53"
DEBUG_MODE="OFF"
PORT_MIRRORING_INTERFACE="ens18"

SOURCE_IP_KEY=8
DEST_IP_KEY=12
SOURCE_MAC_KEY=56
DEST_MAC_KEY=57

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

&lt;/div&gt;



&lt;p&gt;Not: Lisans olmadığında netex-sensör çalışmayacaktır.&lt;/p&gt;

&lt;p&gt;** NETEX’İ LİMAN ARAYÜZÜNE EKLEME**&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Limanı kurduğumuz ip adresindeki Liman arayüzüne gidelim.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Öncelikle sunucular ekranına gelelim ve sunucu ekle diyelim.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Bu kısımda portu kendimiz ekliyoruz bu portu bulmak için terminalde netex'i restart ettikten sonra &lt;code&gt;journalctl -u netex@* -f&lt;/code&gt;çalıştırdığımda şöyle bir çıktı alıyoruz ve orada port numarası yazıyor. Onu resimdeki belirtilen alana giriyoruz.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsw34tjt7lpimqx86chof.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsw34tjt7lpimqx86chof.png" alt=" " width="552" height="398"&gt;&lt;/a&gt;&lt;br&gt;
bu durımda bu port 7781&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpl60ase0aabf0nsv84u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpl60ase0aabf0nsv84u.png" alt=" " width="800" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Anahatar Türü kısmında anahtarsız giriş seçelim.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Netex kurulu sunucumuzu ekleyelim ve sol panelden sunucumuza tıklayalım . eklentiler kısmına basalım. buradan da eklenti ekle diyelim.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ekle diyerek ağ keşif seçelim ve böylelikle eklentiyi eklemiş olduk.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Arayüzde sol panelden eklentiye tıkladığımızda lisanslanmamış olsa da anasayfa açılır:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F14iumjznvwf2bax0d0nl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F14iumjznvwf2bax0d0nl.png" alt=" " width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>postgres</category>
      <category>monitoring</category>
      <category>tutorial</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
