Bilgi Bankası Profitserver hizmetiyle çalışmak için basit talimatlar
Ana Bilgi Bankası Linux günlükleri nasıl okunur ve nerede bulunur

Linux günlükleri nasıl okunur ve nerede bulunur


Sunucunuzun performansıyla ilgili herhangi bir sorunla karşılaştığınızda, yapmanız gereken ilk şey Linux günlüklerini kontrol etmektir . Sistem günlüğünde, çekirdek veya çeşitli hizmetler gibi işletim sisteminin farklı bileşenlerinden gelen bazı yararlı teşhis mesajları bulabilirsiniz, bu nedenle arıza nedenini büyük olasılıkla orada bulacaksınız.

Günlükteki her mesaj, işletim sistemindeki belirli olayların sonucunda üretilir: kullanıcıdan, hizmet kapatma yetkisinden veya uygulama arızasından. Bu olayların ne kadar kritik olduklarına bağlı olarak farklı öncelikleri vardır. Linux'ta aşağıdaki olay türleri vardır:

  1. emerg - başarısızlık, en yüksek öncelik;
  2. alert - acil uyarı;
  3. crit - kritik olay;
  4. err - sıradan hata;
  5. warn - olağan uyarı;
  6. notice - bildiri;
  7. info - bilgi mesajı;
  8. debug - hata ayıklama bilgileri;

Şu anda Linux'ta günlük kaydı toplama için kullanılan başlıca hizmetler rsyslog ve systemd-journald'dır . Bunlar modern dağıtım paketlerinin çoğuyla birlikte gelir ve bağımsız olarak çalışırlar.

rsyslog

Bu servisin günlükleri, sıradan metin dosyaları şeklinde " /var/log/ " klasöründe bulunur. Günlük mesajları, olay türüne bağlı olarak farklı dosyalara yerleştirilir. Örneğin, " /var/log/auth.log " sistemdeki kullanıcı yetkilendirmesi hakkında bilgi içerirken, " /var/log/kern.log " çekirdek mesajlarını içerir. Dosya adları dağıtım paketlerine göre farklılık gösterebilir, bu nedenle nerede ne olduğunu anlamak için yapılandırma dosyasına bir göz atalım: " /etc/rsyslog.d/50-default.conf ".

Сбор логов Linux утилитой rsyslog

Bu kurallar, her tür günlük mesajının hangi dosyada bulunduğunu gösterir. Sol kısım, mesaj türünü şu biçimde gösterir: “ [Kaynak].[Öncelik] ”, sağ kısım ise günlük dosyasının adını gösterir. Mesaj türünü yazarken “ * ” karakteri eklenebilir. Bu, boş değer veya listeden kaldıran “ yok ” anlamına gelir. İlk iki kurala daha yakından bakalım.

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

İlk kural, yetkilendirme mekanizmasından alınan tüm mesajların “ /var/log/auth.log ” dosyasına kaydedileceği anlamına gelir . Tüm yetkilendirme girişimleri (hem başarılı hem de başarısız olanlar) bu dosyaya kaydedilecektir. İkinci kural, yetkilendirme ile ilgili olanlar dışındaki tüm mesajların “ /var/log/syslog ” dosyasına kaydedileceğini belirtir. Bu iki dosya genellikle en yaygın olanlardır. Aşağıdaki kurallar, çekirdek günlükleri “ kern.* ” ve posta hizmeti günlükleri “ mail.* ” dosyalarının depolanacağı yolu tanımlar.

Günlük dosyaları less , cat , tail gibi herhangi bir metin düzenleyici yardımıyla açılabilir . Şimdi " /var/log/auth.log " dosyasını açalım.

less /var/log/auth.log
Линукс о неудачной попытке авторизации SSH'YE giriş yapın

Dosyanın her satırı uygulamadan veya servisten alınan ayrı bir mesajdır. Kaynağı ne olursa olsun tüm mesajların tek bir formatı vardır ve 5 parçadan oluşur. Ekran görüntüsünde vurgulanan mesajı örnek olarak ele alalım.

  1. Mesaj zaman damgası - “12 Şub 06:18:33”
  2. Mesajı gönderen bilgisayarın adı - “vds”
  3. Mesajı gönderen uygulama veya servisin adı - “sshd”
  4. İşlem Kimliği - [653]
  5. Mesaj metni - “mihail için 188.19.42.165 port 2849 ssh2'den kabul edilen parola”

Bu, SSH'ye başarılı bir bağlantının örneğiydi.

Başarısız bir giriş girişiminin görünümü şöyledir:

Çin logoları Linux

Bu dosya ayrıca gelişmiş izinlere sahip komutları da kaydeder

Linux'ta oturum açmak mümkün

Şimdi /var/log/syslog dosyasını açalım.

Ekran görüntüsünde vurgulanan mesaj, ağ arayüzünün kapatılmasıyla ilgili mesajdır.

Logorotate'i kullan

Uzun metin dosyalarında bilgi aramak için grep yardımcı programını kullanın. pptpd servisinden alınan tüm mesajları “ /var/log/syslog ” dosyasında bulabilirsiniz.

grep 'pptpd' /var/log/syslog
şu şekilde “/etc/logrotate.d/rsyslog”

Teşhis sırasında , dosyaların son birkaç satırını görüntüleyebilen `tail` yardımcı programını kullanabilirsiniz . " tail -f /var/log/syslog " komutu, günlük kayıtlarını gerçek zamanlı olarak izlemenizi sağlar.

rsyslog servisi oldukça esnek ve güçlüdür. Hem yerel sistemlerde hem de kurumsal düzeyde log toplama için kullanılabilir. Tam dokümantasyona resmi web sitesi https://www.rsyslog.com/ adresinden ulaşabilirsiniz.

Linux'ta günlük rotasyonu

Kayıt işlemi sürekli olarak gerçekleştiğinden, dosyaların boyutu sürekli olarak artmaktadır. Döndürme mekanizması, eski kayıtların otomatik olarak arşivlenmesini ve yeni dosyaların oluşturulmasını sağlar. Kurallara bağlı olarak, bu işlem günlük, haftalık, aylık veya boyut sınırına göre gerçekleşebilir. Yeni kayıtlar oluşturulduğunda, eski kayıtlar silinebilir veya e-posta ile gönderilebilir. Kayıt döndürme işlemi, logrotate yardımcı programı tarafından gerçekleştirilir. Ana yapılandırmayı “ /etc/logrotate.conf ” dosyasında bulabilirsiniz . Dosya içeriği de “ /etc/logrotate.d/ ” klasöründe işlenir.

Yeni kurallar ana yapılandırma dosyasına kaydedilebilir. Ancak, " /etc/logrotate.d/ " dizininde ayrı bir dosya oluşturmak en iyisidir. Varsayılan olarak, bu dizinde birkaç dosya bulunur.

Линукс'da Настраиваем ротацию logolar

Rsyslog hizmetinin günlük dosyaları için döndürme kurallarını içeren " /etc/logrotate.d/rsyslog " dosyasına bir göz atalım.

Пример вывода всех ошибок pptpd в лог-файлах

Öncelikle kural, log dosyasının yolunu içermeli ve ardından tüm yönergeleri eğri parantez içinde göstermelidir.

  • 7 döndür - saklanacak dosya sayısı - 7
  • günlük - her gün yeni bir dosya oluştur
  • sıkıştırmak - eski dosyaları sıkıştırın ve arşivleyin
Учимся читать логи Линукс

Ekran görüntüsünde de görebileceğiniz gibi, " /var/log/ " klasöründe ana günlük dosyası " syslog " ve yapılandırma dosyasındaki kurallara uygun 7 arşiv bulunmaktadır .

Logrotate hakkında daha detaylı bilgi için kılavuza bakabilir ve " man logrotate " komutunu çalıştırabilirsiniz.

Linux günlüklerinin toplanması - journald

Systemd-journald adlı günlük toplama hizmeti, systemd başlatma sisteminin bir parçasıdır . Linux günlük dosyaları " /var/log/journal/ " dizininde özel bir biçimde saklanır ve journalctl yardımcı programı ile açılabilir . Kayıtların biçimi, rsyslog'dakiyle tamamen aynıdır.

Öznitelik belirtilmeden kullanılan `journalctl` komutu tüm kayıtları gösterir ancak daha büyük günlükler için uygun değildir. Bu yardımcı programın bazı seçeneklerine göz atalım.

  • journalctl -b - son başlangıçtan bu yana tüm kayıtları göster
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - belirli bir zaman dilimindeki kaydı göster
  • journalctl -u pptpd - belirli bir hizmetin kayıtlarını göster
  • journalctl -k - çekirdek mesajlarını göster
  • journalctl -p err - belirli bir önceliğe sahip mesajları göster, bu durumda daha yüksek önceliğe sahip mesajlar (kritik, uyarı, acil durum)
  • journalctl -f - mesajları gerçek zamanlı olarak göster

Daha fazla esneklik için bu seçenekleri birleştirebilirsiniz. pptpd hizmetinin tüm hatalarını gösterelim.

journalctl -u pptpd -p err
sonuncusu

Çalıştırılabilir dosyanın yolunu bir özellik olarak belirtirseniz, yardımcı program bu dosya tarafından gönderilen tüm mesajları gösterecektir. Örneğin, 18 Şubat 2020 saat 04:15'ten itibaren " /usr/bin/sudo " dosyası tarafından gönderilen tüm mesajları gösterelim. Aslında, daha yüksek izinlerle yürütülen tüm komutları gösterecektir.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
Komutan Lastb

Günlük dosyalarının ne kadar disk alanı kapladığını bulmak için aşağıdaki komutu çalıştırın

journalctl --disk-usage

Günlük dosyasını 1 GB ile sınırlamak için aşağıdaki komutu çalıştırın

journalctl --vacuum-size=1G

İkili dosyaları açma

Şimdi, tüm giriş denemelerinin saklandığı " /var/log/ " klasöründeki bazı özel dosyalara göz atalım . Bu dosyalar ikili dosyalardır ve yalnızca özel programlarla açılabilirler.

/var/log/wtmp dosyası, başarılı oturum açma girişimlerine ilişkin bilgiler içerir. Bu dosyayı açmak için last yardımcı programını kullanın.

lastlog'u kullan

/var/log/btmp - tüm başarısız giriş denemelerini içerir. Gelişmiş izinlerle lastb komutuyla açılabilir. -n özniteliği, dosyanın sonundan itibaren görüntülenen satır sayısını tanımlar.

/var/log/lastlog - her hesap kaydı için son giriş işleminin zamanını içerir. lastlog komutuyla açılabilir.

❮ Önceki makale Linux metin editörleri
Sonraki makale ❯ CentOS'ta ağ arayüzleri nasıl yapılandırılır

VPS hakkında bize sorun

Sorularınızı günün veya gecenin herhangi bir saatinde cevaplamak için her zaman hazırız.