Uygulama

Grafito – Tarayıcınızda Çalışan Journalctl Günlük Görüntüleyicisi

 

Journalctl günlük girişlerinin temiz ve çekici bir kullanıcı arayüzünde sunulmasını ister misiniz?

Öyleyse Grafito’yu deneyin!

Daha önce duymamıştım, bu yüzden ne yapabileceğini görmek için bir şans verdim. Sonuç beni etkiledi. journalctl kendi başına iyi bir iş çıkarıyor, ancak Grafito günlükleri daha kolay okunabilir, filtrelenebilir ve görüntülenebilir hale getirmek için aynı bilgileri görüntüleyebilir, böylece aradığınızı daha kısa sürede bulabilirsiniz. 

Kurulum

Grafito bir sistem paketi, Snap veya Flatpak olmadığından kurulum yok. Sadece Grafito Github sayfasına gidin ve dosyayı indirin. Benim durumumda, bu yazının yazıldığı tarih itibariyle grafito-static-linux-amd64 sürüm v0.9.1’i indirdim. Bir arm64 sürümü de mevcuttur.

İndirdikten sonra dosyaya yürütme iznini ayarlayın ve şununla çalıştırın:

./grafito-static-linux-amd64

Grafito yerel makinenizde bir web sunucusu olarak çalışır. Uzaktan barındırmanıza gerek yoktur.

Grafito Kullanımı

Aynı Linux sisteminde bir web tarayıcısı açın ve 3000 portunu kullanarak URL’yi girin.

localhost:3000

Grafito, yeni bir Linux Mint sanal makinesinde journalctl günlüklerini görüntülüyor.

Buradan, sol bölme kolayca seçilebilen filtreler sunar, böylece analiz etmek istediğiniz günlüklere hızlıca inebilirsiniz. Karmaşık bir şey yok. Grafito, bir şeyi iyi yapan basit bir günlük görüntüleyicisidir. Kullanımı gerçekten basittir ancak iyi sonuçlar sağlar.

Birkaç Özellik

Etkinlik Grafiği

Üstteki dolu mavi çubuğa dikkat edin. Bu, sistem etkinliğini tarihe göre gösteren bir çubuk grafiktir. Ancak, bu örnekteki Grafito yeni bir Linux Mint VM’e yüklendi, bu nedenle yalnızca bir tarih ve dolayısıyla grafikte yalnızca bir çubuk var.

İşte bir süredir var olan farklı bir sistemde çalışan Grafito. Her çubuk farklı bir tarihe karşılık gelir, böylece zaman içindeki sistem etkinliğini tek bakışta görebilirsiniz.

Açık/Koyu Tema

Sol bölmenin alt kısmında bulunan Açık/Koyu anahtarını değiştirerek koyu modu da kullanabilirsiniz.

Mesaj Rengi

Günlük mesajlarının solundaki sarı-gri-turuncu dikey çubuğu fark ettiniz mi? Bu, mesaj türünü gösterir (en yüksek öncelik en üstte, en düşük öncelik en altta):

  • Emergency
  • Alert
  • Critical
  • Error
  • Warning
  • Notice
  • Informational
  • Debug

Mesaj türlerini hızlı bir şekilde tanımlamaya yardımcı olmak için çok kullanışlı.

Mesaj Öncelik Filtreleme

Yukarıdaki mesaj türlerinden herhangi birine göre filtreleme yapabilirsiniz.

Sadece tüm Hataları mı görmeniz gerekiyor? Sorun değil. Sadece Hata’ya göre filtreleyin.

Bu, verilen tüm mesaj önceliğini ve daha yüksek önceliği gösterecektir. Menü, en düşük öncelikten en yüksek önceliğe doğru düzenlenmiştir. Örneğin, Hata Ayıklama’yı seçerseniz, tüm öncelikler görünecektir. Bildirim’i seçerseniz, Bildirim ve üzeri tüm öncelikler görünecektir, ancak Bilgilendirici ve Hata Ayıklama hariç tutulacaktır.

Burada, Uyarı ve üstündeki tüm mesajlar görüntülenir. Tek Hata mesajı da görünür çünkü önceliği Uyarı’dan daha yüksektir. Uyarı’dan daha düşük tüm öncelikler hariç tutulur.

Başka bir sistemde, üç farklı tarih için üç Kritik öncelik kaydedildi. Bu tür filtreleme hızlı aramalar sağlar ve kullanımı kolaydır.

Canlı Güncellemeler

Canlı seçeneğini AÇIK konuma getirdiğinizde, mesajlar eklendikçe günlük mesajları gerçek zamanlı olarak gösterilir.

Birim Filtreleme

Birden fazla servis çalışıyorsa servise (birime) göre filtreleme yapabilirsiniz.

Bu sunucuda Apache2 çalışıyor. Apache2.service birimi ve Bilgi önceliği ile filtreleme yaparak, yalnızca Apache2 web sunucusu günlüklerini analiz etmek için Bilgi önceliği ve üzeri tüm Apache2 mesajları görüntülenir.

Başlangıçta Arkaplanda Grafito Çalıştırma

Grafio’yu kapatmak için çok kullanışlı bulursanız, sistem başlangıcında çalıştırmak için bir servis dosyası oluşturabiliriz. Bunu yapmak için talimatlar Grafito Github sayfasında bulunabilir.

Adım 1. Grafito yürütülebilir dosyasını kök konuma kopyalayın ve yürütme iznini herkes için ayarlayın. (Sudo ayrıcalığına sahip olmalısınız.)

sudo cp grafito-static-linux-amd64 /usr/local/bin/grafito
sudo chmod +rx /usr/local/bin/grafito

Şunu unutmayın ki Grafito artık sistem seviyesinde kuruludur ve herhangi bir kullanıcı çalıştırabilir. Daha basit yazım için adını grafito olarak değiştirdim.

Adım 2. Systemd ile çalıştırılacak bir servis dosyası oluşturun

sudo xed /etc/systemd/system/grafito.service

Grafito.service içeriği (Github sayfasından kopyalanmış ve değiştirilmiştir).

[Unit]
Description=Grafito Log Viewer
After=network.target

[Service]
Type=simple
DynamicUser=yes
# If set to "systemd-journal" it can access all logs in the system
# Change if that is not what you want.
Group=systemd-journal

# --- Authentication Configuration ---
# Set these environment variables to enable Basic Authentication.
# If GRAFITO_AUTH_USER and GRAFITO_AUTH_PASS are not set, Grafito will run without authentication.
Environment="GRAFITO_AUTH_USER=your_grafito_username"
Environment="GRAFITO_AUTH_PASS=your_strong_grafito_password"

# Replace with the actual path to your Grafito directory
WorkingDirectory=/usr/local/bin
# Replace with the actual path and options to the Grafito binary
ExecStart=/usr/local/bin/grafito -b 0.0.0.0 -p 3000
Restart=on-failure

[Install]
WantedBy=multi-user.target

Yaptığım değişiklikler:

  • İki Environment satırını yorumlayarak kimlik doğrulama devre dışı bırakıldı. Etkinleştirilirse, tarayıcının erişime izin vermeden önce soracağı bir kullanıcı adı ve parolayı burada ayarlayabilirsiniz. Bu, Linux sisteminizin oturum açma kullanıcı adı/parolası değildir. Bu, sizin karar verdiğiniz Grafito görüntüleme için özel bir kullanıcı adı/paroladır.
  • WorkingDirectory ve ExecStart’ı Grafito ikili dosyasını yerleştirdiğiniz yere değiştirin.
  • Grafito’nun dinlediği IP adresini ve portu -p 3000 seçeneğini kullanarak değiştirebilirsiniz. -b 0.0.0.0, localhost’a 3000 numaralı porttan bağlanacaktır. Grafito’ya bir web tarayıcısında bağlanmak için localhost:3000 kullanın

Adım 3. Hizmeti Etkinleştirin ve Başlatın

sudo systemctl daemon-reload
sudo systemctl enable grafito.service
sudo systemctl start grafito.service
systemctl status grafito.service

Grafito hizmeti çalışıyor. Kurulum sırasında bunu kontrol edin çünkü başlangıçta hizmet dosyasını kurarken hatalar yaptım ve bu rapor daha sonra düzeltebileceğim hataları listelememe yardımcı oldu.

Adım 4. Yeniden Başlatarak Test Edin

Sistemi yeniden başlatın, bir tarayıcı açın ve Grafito’nun hizmeti manuel olarak başlatmaya gerek kalmadan günlük verilerini listeleyip listelemediğine bakın. Benim durumumda, Standart kullanıcı olarak oturum açtım ve Grafito mükemmel çalıştı. Sistemdeki tüm kullanıcılar günlükleri görüntüleyebilir. Bu istediğiniz şey olmayabilir, ancak benim seçtiğim yaklaşım budur. systemd-journal grubuna herhangi bir kullanıcı eklemedim, ancak bu sisteminize bağlı olarak bir gereklilik olabilir.

Grafito, sistem yeniden başlatılıp giriş yapıldığında normal bir kullanıcı tarafından hemen görüntülenebilir. Sadece bir tarayıcı açın ve günlükleri görüntülenir.

 

 

 

Yazının orijinalini buradan okuyabilirisniz.