Journalctl Nedir? Linux Logları Nasıl İncelenir?

Linux sunucularda meydana gelen hataları anlamanın en önemli yollarından biri log kayıtlarını incelemektir. Journalctl nedir diye merak ediyorsanız, en basit ifadeyle systemd tarafından toplanan Linux sistem ve servis loglarını görüntülemek, filtrelemek ve analiz etmek için kullanılan komut satırı aracıdır.
Bir servis neden durdu, SSH bağlantısında neden hata oluştu, sistem ne zaman yeniden başlatıldı veya Linux kernel hangi problemi raporladı gibi soruların cevabı çoğu zaman log kayıtlarında bulunabilir.
Özellikle VDS sunucularda journalctl; servis hatalarını, kernel olaylarını, authentication problemlerini ve sistemde meydana gelen çeşitli olayları analiz etmek için oldukça kullanışlıdır.
Bu rehberde journalctl nedir, nasıl çalışır, Linux logları nasıl görüntülenir, belirli servislerin kayıtları nasıl incelenir, hata ve kernel logları nasıl filtrelenir, canlı log takibi nasıl yapılır ve journal kayıtlarının disk kullanımını nasıl kontrol edebileceğinizi adım adım ele alacağız.
🔍 Journalctl Nedir?
Journalctl, systemd tarafından yönetilen systemd-journald servisinin topladığı journal kayıtlarını görüntülemek ve analiz etmek için kullanılan Linux komut satırı aracıdır.
Kısaca:
journalctl = Linux sistem ve servis loglarını görüntüleme ve analiz etme aracı
Modern Linux dağıtımlarında sistem açılışları, servisler, kernel olayları, authentication işlemleri ve çeşitli uygulama mesajları journal içerisine kaydedilebilir.
Örneğin bir Linux VDS üzerinde:
- 🔐 SSH girişleri
- ⚙️ Systemd servisleri
- 🖥️ Kernel olayları
- 🚨 Servis hataları
- 🧠 OOM olayları
- 🔄 Sistem yeniden başlatmaları
- 📋 Authentication kayıtları
- 💾 Bazı uygulama ve servis mesajları
gibi olayları incelemek için journalctl kullanılabilir.
En temel kullanım oldukça basittir:
journalctlBu komut mevcut journal kayıtlarını görüntüler.
Ancak üretim ortamındaki bir VDS’de binlerce kayıt bulunabileceği için filtreleme seçeneklerini kullanmak çok daha verimlidir.
⚙️ Journalctl Nedir Nasıl Çalışır?
Journalctl nedir sorusunu tam olarak anlamak için systemd-journald ile journalctl arasındaki farkı bilmek gerekir.
systemd-journald, Linux sistemindeki çeşitli kaynaklardan gelen log kayıtlarını toplar.
journalctl ise bu kayıtları sorgulamanızı, filtrelemenizi ve analiz etmenizi sağlar.
Basitleştirilmiş yapı şu şekildedir:
Linux Servisleri
│
▼
systemd-journald
│
▼
Journal Kayıtları
│
▼
journalctl
│
▼
Sistem YöneticisiYani:
systemd-journald → logları toplar
journalctl → logları görüntüler ve analiz eder
Bu ayrım Linux sunucu yönetiminde önemlidir. Çünkü journalctl’i bir log üreticisi değil, journal verilerine erişmek için kullanılan analiz aracı olarak düşünmek gerekir.
📋 Journalctl Nedir ile Linux Logları Nasıl Görüntülenir?
Tüm journal kayıtlarını görmek için:
journalctlkomutunu kullanabilirsiniz.
Ancak uzun süre çalışan bir VDS’de bu komut oldukça fazla çıktı oluşturabilir.
Son 50 kaydı görüntülemek için:
journalctl -n 50Son 100 kayıt için:
journalctl -n 100kullanabilirsiniz.
Örneğin:
Sep 26 18:42:10 server sshd[1234]: Accepted publickey
Sep 26 18:42:11 server systemd[1]: Started nginx.service
Sep 26 18:42:15 server nginx[1402]: Configuration loadedgibi kayıtlarla karşılaşabilirsiniz.
Bu kayıtların tarih, saat, hostname, servis ve mesaj gibi çeşitli bilgileri içermesi sorun analizini kolaylaştırır.
🔧 Journalctl Nedir ile Servis Logları Nasıl İncelenir?
Journalctl’in en kullanışlı özelliklerinden biri belirli bir systemd servisinin loglarını filtreleyebilmesidir.
Örneğin Nginx için:
journalctl -u nginxMySQL için:
journalctl -u mysqlSSH için:
journalctl -u sshBazı dağıtımlarda SSH servisinin adı sshd olabilir:
journalctl -u sshdBuradaki -u parametresi belirli bir systemd unit için logları filtreler.
Örneğin Nginx başlamıyorsa önce:
systemctl status nginxardından:
journalctl -u nginxkomutlarını kullanabilirsiniz.
Bu şekilde servis durumunu ve servis geçmişindeki hata mesajlarını birlikte değerlendirebilirsiniz.
🚨 Journalctl Nedir ile Hata Logları Nasıl Bulunur?
Büyük bir Linux sisteminde yüzlerce normal log arasında hata aramak zaman kaybettirebilir.
Bu durumda log seviyelerine göre filtreleme yapmak daha kullanışlıdır.
Örneğin error seviyesindeki kayıtları görmek için:
journalctl -p errkullanabilirsiniz.
Daha ciddi kayıtları incelemek için:
journalctl -p warninggibi filtreler kullanılabilir.
Journal içerisindeki yaygın öncelik seviyeleri arasında:
- 🔴
emerg - 🔴
alert - 🔴
crit - 🟠
err - 🟡
warning - 🔵
notice - ⚪
info - ⚙️
debug
bulunur.
Örneğin mevcut boot sırasında error seviyesindeki kayıtları görmek için:
journalctl -p err -bkullanabilirsiniz.
Bu yöntem özellikle servislerin neden başarısız olduğunu araştırırken oldukça faydalıdır.
🕐 Journalctl Nedir ile Tarihe Göre Loglar Nasıl Filtrelenir?
Bir problemin yaklaşık olarak ne zaman başladığını biliyorsanız tüm journal kayıtlarını incelemek yerine belirli bir zaman aralığına odaklanabilirsiniz.
Örneğin belirli bir saatten sonraki kayıtlar:
journalctl --since "2026-09-26 15:00:00"Belirli bir zaman aralığı:
journalctl --since "2026-09-26 15:00:00" --until "2026-09-26 16:00:00"Son bir saatin kayıtları:
journalctl --since "1 hour ago"Bugünkü kayıtlar:
journalctl --since todayşeklinde görüntülenebilir.
Bu özellik özellikle:
“Sunucu saat 15:30 civarında yavaşlamaya başladı.”
gibi bir durumla karşılaştığınızda oldukça değerlidir.
Örneğin 15:20 ile 15:40 arasındaki logları inceleyerek problemin başlangıcına yakın oluşan olayları daha kolay tespit edebilirsiniz.

🔄 Journalctl Nedir ile Canlı Log Takibi Nasıl Yapılır?
Bir servisin loglarını gerçek zamanlı takip etmek istiyorsanız:
journalctl -fkullanabilirsiniz.
Belirli bir servisi canlı takip etmek için:
journalctl -u nginx -fkullanabilirsiniz.
Buradaki -f parametresi yeni log kayıtları oluşturuldukça bunları ekrana getirir.
Örneğin Nginx’i yeniden başlatırken:
journalctl -u nginx -fkomutunu açık bırakabilirsiniz.
Başka bir terminalden:
systemctl restart nginxçalıştırdığınızda oluşan yeni logları anlık olarak görebilirsiniz.
Bu yöntem:
- 🔧 Servis yeniden başlatma
- 🚨 Crash analizi
- 🌐 Web sunucusu problemleri
- 🔐 SSH sorunları
- 📦 Deploy işlemleri
gibi durumlarda oldukça kullanışlıdır.
🖥️ Journalctl Nedir ile Kernel Logları Nasıl İncelenir?
Linux kernel tarafından oluşturulan journal kayıtlarını görmek için:
journalctl -kkomutu kullanılabilir.
Kernel logları özellikle:
- 🧠 Bellek problemleri
- 💽 Disk hataları
- ⚙️ Donanım problemleri
- 🔌 Sürücü sorunları
- 🚨 OOM olayları
- 🔄 Kernel seviyesindeki problemler
gibi durumlarda önemlidir.
Örneğin OOM kayıtlarını aramak için:
journalctl -k | grep -i "oom"kullanabilirsiniz.
Daha geniş bir arama yapmak için:
journalctl -k | grep -Ei "oom|killed|out of memory"kullanılabilir.
AydınCloud’un OOM Killer rehberinde Linux’un bellek yetersizliği durumunda process’leri nasıl sonlandırabildiğini ve kernel loglarının nasıl incelenebileceğini ayrıca ele alıyoruz.
🔐 Journalctl Nedir ile SSH Logları Nasıl Kontrol Edilir?
SSH, VDS sunucuların en önemli yönetim servislerinden biridir.
Bir SSH sunucusunda başarılı ve başarısız bağlantılar, authentication problemleri ve servis olayları loglara yansıyabilir.
SSH servisinin kayıtlarını görmek için:
journalctl -u sshveya sisteminizde servis adı sshd ise:
journalctl -u sshdkullanabilirsiniz.
Canlı takip için:
journalctl -u ssh -fkullanılabilir.
Örneğin başarısız girişleri filtrelemek için:
journalctl -u ssh | grep -i "failed"gibi bir komut kullanılabilir.
SSH güvenliğini daha kapsamlı şekilde ele almak için VDS SSH güvenliği rehberimize de göz atabilirsiniz.
💡 AydınCloud İpucu: SSH servisinin adı dağıtıma göre
sshveyasshdolabilir. Emin değilsenizsystemctl status sshvesystemctl status sshdkomutlarından uygun olanını kontrol edebilirsiniz.
🔎 Journalctl Nedir ile Belirli Bir Kelime Nasıl Aranır?
Journalctl çıktısını grep ile filtrelemek oldukça pratiktir.
Örneğin:
journalctl | grep -i "error"ile error kelimesini içeren kayıtları bulabilirsiniz.
OOM kayıtları:
journalctl | grep -i "oom"SSH hataları:
journalctl -u ssh | grep -i "failed"şeklinde aranabilir.
Buradaki:
-iparametresi büyük/küçük harf duyarlılığını kaldırır.
Örneğin Error, ERROR ve error ifadeleri aynı arama içerisinde eşleşebilir.
📦 Journalctl Nedir Logları Nerede Saklanır?
Journal kayıtlarının saklanma şekli sistem yapılandırmasına bağlıdır.
Kalıcı journal kullanılıyorsa kayıtlar genellikle:
/var/log/journal/altında bulunabilir.
Geçici journal yapılandırmalarında ise:
/run/log/journal/dizini kullanılabilir.
Kalıcı journal dizinini kontrol etmek için:
ls -lah /var/log/journal/komutunu kullanabilirsiniz.
Burada önemli nokta, journal kayıtlarını okumak için bu dosyalara doğrudan müdahale etmenizin gerekmemesidir.
Logları görüntülemek ve filtrelemek için:
journalctlkullanmak daha doğru yöntemdir.
💾 Journalctl Nedir Disk Alanını Neden Doldurur?
Uzun süre çalışan bir Linux sunucuda çok sayıda log üretilebilir.
Örneğin:
- 🌐 Web sunucuları
- 🗄️ Veritabanları
- 🔐 SSH
- 🐳 Docker
- ⚙️ Systemd servisleri
- 📦 Uygulamalar
sürekli log üretiyorsa journal boyutu zamanla büyüyebilir.
Mevcut journal kullanımını görmek için:
journalctl --disk-usagekomutunu kullanabilirsiniz.
Örneğin:
Archived and active journals take up 1.2G in the file system.gibi bir çıktı görebilirsiniz.
Bu komut sayesinde journal kayıtlarının disk üzerinde ne kadar alan kullandığını hızlıca kontrol edebilirsiniz.
🧹 Journalctl Logları Nasıl Temizlenir?
Journal kayıtlarını rastgele silmek yerine journalctl tarafından sağlanan vacuum seçeneklerini kullanmak daha kontrollüdür.
Örneğin journal kullanımını belirli bir boyutla sınırlandırmak için:
sudo journalctl --vacuum-size=500Mkullanılabilir.
Belirli bir süreden eski kayıtları temizlemek için:
sudo journalctl --vacuum-time=7dkullanılabilir.
Burada amaç:
“Bütün logları silmek”
değil,
“Artık ihtiyaç duyulmayan eski kayıtları kontrollü şekilde azaltmak”
olmalıdır.
⚠️ Logları Temizlemeden Önce
Production VDS sunucularda logların geçmiş kayıtları hata analizi ve güvenlik incelemeleri için değerli olabilir.
Bu nedenle:
- Sorun araştırması devam ediyorsa
- Güvenlik olayı inceleniyorsa
- Servis geçmişine ihtiyaç varsa
- Log saklama politikası bulunuyorsa
eski kayıtları temizlemeden önce dikkatli olunmalıdır.
🔒 Journalctl Log Boyutu Nasıl Kontrol Edilir?
Journal boyutunu yalnızca disk dolduğunda temizlemek yerine uygun bir saklama politikası oluşturmak daha sağlıklıdır.
/etc/systemd/journald.conf içerisinde journal davranışını kontrol eden çeşitli ayarlar bulunabilir.
Örneğin:
[Journal]
SystemMaxUse=500Mgibi bir yapılandırmayla journal için kullanılabilecek alan sınırlandırılabilir.
İlgili yapılandırmada:
SystemMaxUse
SystemKeepFree
SystemMaxFileSize
MaxRetentionSecgibi seçenekler bulunabilir.
Ancak production bir VDS’de bu değerleri rastgele değiştirmek yerine:
- 💾 Disk kapasitesi
- 📋 Log yoğunluğu
- 🔍 Hata geçmişine duyulan ihtiyaç
- 🔐 Güvenlik kayıtları
- 🕐 Saklama süresi
birlikte değerlendirilmelidir.
🧠 Journalctl ve OOM Killer Birlikte Nasıl Kullanılır?
Bir VDS’de uygulamanın durduk yere kapandığını düşünelim.
İlk olarak kernel loglarında OOM belirtilerini arayabilirsiniz:
journalctl -k | grep -Ei "oom|out of memory|killed process"Ardından RAM kullanımını:
free -hile kontrol edebilirsiniz.
Process’lerin bellek tüketimini görmek için:
ps aux --sort=-%mem | headkullanılabilir.
Burada journalctl nedir sorusunun VDS yönetimindeki önemi daha net ortaya çıkar: Journalctl RAM kullanımını ölçmez; sistemde gerçekleşen OOM olaylarının izlerini bulmanıza yardımcı olur.
AydınCloud’un OOM Killer rehberinde RAM, Swap, oom_score, kernel logları ve systemd-oomd gibi bileşenleri birlikte inceleyebilirsiniz.
⚙️ Journalctl ve Ulimit Problemleri Nasıl İncelenir?
Linux sistemlerde process veya dosya descriptor limitlerine ulaşıldığında uygulamalar çeşitli hatalar verebilir.
Örneğin:
Too many open filesgibi bir hata görüyorsanız ulimit tarafını kontrol etmek gerekebilir.
Mevcut dosya descriptor limitini görmek için:
ulimit -nkullanabilirsiniz.
Servisin loglarını incelemek için ise:
journalctl -u nginxgibi bir komut kullanılabilir.
AydınCloud’un ulimit rehberinde nofile, nproc ve Linux resource limitlerinin nasıl çalıştığını daha ayrıntılı şekilde ele alıyoruz.
Böylece:
limit → servis → log → zaman
ilişkisini birlikte inceleyebilirsiniz.
📊 Journalctl VDS Performans Analizinde Nasıl Kullanılır?
Bir VDS yavaşladığında yalnızca CPU kullanım yüzdesine bakmak yeterli değildir.
Performans analizi sırasında:
CPU
RAM
Swap
Load Average
I/O Wait
Disk
Process
Network
Loglarbirlikte değerlendirilmelidir.
Burada journalctl, CPU veya RAM ölçen bir araç değildir.
Görevi daha farklıdır:
Sistemde gerçekleşen olayların ve servislerin loglarını analiz etmek.
Örneğin:
VDS Yavaşladı
│
├── CPU → top
├── RAM → free / vmstat
├── Process → pidstat
├── Disk → iostat
└── Loglar → journalctlAydınCloud’un VDS performans sorunu rehberinde CPU, RAM, disk, Load Average ve diğer performans metriklerini birlikte değerlendirme yöntemlerini inceleyebilirsiniz.
Process bazlı analiz gerektiğinde ise pidstat rehberimiz hangi uygulamanın CPU, RAM veya disk kaynaklarını tükettiğini belirlemenize yardımcı olur.
📈 Journalctl ve Load Average Birlikte Nasıl Kullanılır?
Load Average yüksek olduğunda bunun nedenini yalnızca Load Average değerine bakarak belirlemek mümkün değildir.
Örneğin:
Load Average: 8.20
CPU Usage: %35
I/O Wait: %32gibi bir durumda CPU kullanımı çok yüksek görünmezken I/O beklemesi ciddi olabilir.
Böyle bir durumda:
uptimeve:
topile sistem yükünü inceleyebilir, ardından journal kayıtlarında disk, servis veya kernel kaynaklı hata ve uyarıları araştırabilirsiniz.
Load Average’ın nasıl yorumlanacağını daha ayrıntılı öğrenmek için Linux Load Average rehberimize göz atabilirsiniz.
🔎 Journalctl ile Boot Kayıtları Nasıl İncelenir?
Linux sunucunun mevcut açılış kayıtlarını görmek için:
journalctl -bkullanabilirsiniz.
Boot geçmişini listelemek için:
journalctl --list-bootskullanılabilir.
Örneğin sunucu beklenmedik şekilde yeniden başladıysa önceki boot kayıtlarını incelemek oldukça faydalı olabilir.
Bu yöntem özellikle:
- 🔄 Beklenmeyen restart
- 🚨 Kernel problemi
- ⚙️ Açılışta başlamayan servis
- 💽 Disk problemi
- 🧠 Bellek problemi
gibi olaylarda kullanılabilir.
🛠️ Journalctl İçin En Faydalı Komutlar
Günlük Linux sunucu yönetiminde en sık kullanabileceğiniz komutları tek yerde toplayalım:
# Tüm journal kayıtları
journalctl
# Son 50 kayıt
journalctl -n 50
# Son 100 kayıt
journalctl -n 100
# Canlı log takibi
journalctl -f
# Belirli servis
journalctl -u nginx
# Servisi canlı takip
journalctl -u nginx -f
# Kernel logları
journalctl -k
# Hata kayıtları
journalctl -p err
# Bugünkü kayıtlar
journalctl --since today
# Son bir saatin kayıtları
journalctl --since "1 hour ago"
# Belirli zaman aralığı
journalctl --since "2026-09-26 15:00:00" --until "2026-09-26 16:00:00"
# Journal disk kullanımı
journalctl --disk-usage
# Boot kayıtları
journalctl -b
# Boot geçmişi
journalctl --list-bootsBunların tamamını ezberlemek zorunda değilsiniz.
Önemli olan yaşadığınız probleme göre doğru filtreyi seçebilmektir.
🛡️ Journalctl Güvenlik Analizinde Kullanılır mı?
Evet.
Journalctl doğrudan bir güvenlik yazılımı değildir ancak sistemde meydana gelen güvenlik açısından önemli olayların incelenmesine yardımcı olabilir.
Özellikle SSH tarafında:
journalctl -u sshveya:
journalctl -u sshdkullanılabilir.
Başarısız authentication kayıtlarını aramak için:
journalctl -u ssh | grep -i "failed"gibi bir filtre kullanılabilir.
Burada amaç saldırıyı doğrudan engellemek değil, sistemde ne olduğunu anlamaktır.
Firewall, SSH key authentication, kullanıcı izinleri ve diğer güvenlik katmanları ayrıca yapılandırılmalıdır.
❓ Journalctl Hakkında Sık Sorulan Sorular
🔍 Journalctl nedir?
Journalctl nedir sorusunun kısa cevabı; systemd-journald tarafından toplanan Linux sistem ve servis loglarını görüntülemek, filtrelemek ve analiz etmek için kullanılan komut satırı aracıdır.
⚙️ Journalctl hangi Linux dağıtımlarında kullanılır?
Systemd kullanan modern Linux dağıtımlarında journalctl kullanılabilir. Ancak dağıtıma ve servis yapılandırmasına göre servis isimleri ve bazı loglama davranışları değişebilir.
🔧 Journalctl ile servis logları nasıl görülür?
Belirli bir systemd servisinin loglarını görmek için:
journalctl -u servis-adikullanılır.
Örneğin:
journalctl -u nginx🔄 Journalctl ile canlı log nasıl izlenir?
Genel journal kayıtlarını canlı izlemek için:
journalctl -fbelirli bir servisi izlemek için:
journalctl -u nginx -fkullanabilirsiniz.
🚨 Journalctl ile OOM Killer tespit edilir mi?
Evet. Kernel kayıtlarında OOM ile ilgili mesajları arayabilirsiniz:
journalctl -k | grep -Ei "oom|out of memory|killed process"💾 Journalctl logları neden büyür?
Uzun süre çalışan Linux sunucularda servisler, uygulamalar ve kernel sürekli log üretebilir. Bu kayıtlar zaman içerisinde disk alanı kullanabilir.
🧹 Journalctl logları nasıl temizlenir?
Eski journal kayıtlarını kontrollü şekilde azaltmak için:
sudo journalctl --vacuum-size=500Mveya:
sudo journalctl --vacuum-time=7dkullanılabilir.
🖥️ Journalctl ile kernel logları nasıl görülür?
Kernel kayıtlarını görüntülemek için:
journalctl -kkomutu kullanılabilir.
📊 Journalctl performans analizi için yeterli midir?
Hayır. Journalctl log ve olay analizi sağlar. CPU, RAM, disk ve process performansı için top, vmstat, iostat ve pidstatgibi araçlarla birlikte kullanılmalıdır.
🔐 Journalctl güvenlik için kullanılır mı?
Journalctl bir güvenlik yazılımı değildir. Ancak SSH bağlantıları, authentication olayları ve sistemde meydana gelen çeşitli olayların incelenmesinde yardımcı olabilir.

🏁 Sonuç: Journalctl Nedir?
Journalctl nedir sorusunun en kısa cevabı, Linux sistemlerde systemd tarafından toplanan journal kayıtlarını görüntülemek ve analiz etmek için kullanılan güçlü bir komut satırı aracıdır.
Ancak journalctl’i yalnızca bir log görüntüleme komutu olarak düşünmemek gerekir.
Bir VDS üzerinde yaşanan problemin ne zaman başladığını, hangi servisin etkilendiğini, kernel tarafında ne olduğunu veya hangi hata mesajlarının oluştuğunu anlamak için oldukça değerli bilgiler sağlayabilir.
Örneğin bir servis çalışmıyorsa:
systemctl status nginxile mevcut durumu kontrol edip:
journalctl -u nginxile servis geçmişini inceleyebilirsiniz.
Bellek problemi yaşanıyorsa:
journalctl -k | grep -Ei "oom|out of memory"ile kernel tarafındaki OOM kayıtlarını araştırabilirsiniz.
Performans problemi yaşanıyorsa ise journalctl’i CPU, RAM, disk, I/O Wait, Load Average ve process verileriyle birlikte değerlendirmek gerekir.
Kısacası journalctl, Linux VDS yönetiminde hata tespiti, servis analizi, kernel olayları, güvenlik incelemesi ve geçmiş problemlerin araştırılması için bilinmesi gereken temel araçlardan biridir.
Doğru filtrelerle kullanıldığında yüzlerce veya binlerce log kaydı arasından ihtiyacınız olan bilgiyi çok daha hızlı bulabilir ve VDS üzerinde yaşanan problemlerin kaynağını daha sistematik şekilde araştırabilirsiniz.