Sunucunuzun performansıyla ilgili herhangi bir sorunla karşılaştığınızda yapmak isteyeceğiniz ilk şey, Linux günlüklerinizi kontrol edinSistem günlüğünde, işletim sisteminin çekirdek veya çeşitli servisler gibi farklı bileşenlerinden gelen bazı yararlı tanılama mesajları bulabilirsiniz, dolayısıyla büyük olasılıkla arıza nedenini 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:
emerg- başarısızlık, en yüksek öncelik;alert- acil uyarı;crit- kritik olay;err- sıradan hata;warn- olağan uyarı;notice- bildiri;info- bilgi mesajı;debug- hata ayıklama bilgileri;
Şu anda Linux'taki ana günlük toplama hizmetleri şunlardır: rsyslog ve sistem günlüğüÇoğu modern dağıtım paketiyle uyumludur ve bağımsız olarak çalışırlar.
rsyslog
Bu hizmetin kayıtları şu konumda bulunur: “/ var / log /” klasörü sıradan metin dosyaları biçimindedir. Günlük mesajları, olayın türüne bağlı olarak farklı dosyalara konur. Örneğin, “/var/log/auth.log” kullanıcıların sistemdeki yetkilendirmelerine ilişkin bilgileri içerir ve “/var/log/kern.log” çekirdek mesajları içerir. Dosya adları dağıtım paketleri arasında farklılık gösterebilir, bu yüzden neyin nerede olduğunu anlamak için yapılandırma dosyasına bir göz atalım./etc/rsyslog.d/50-default.conf anlayışının sonucu olarak, buzdolabında iki üç günden fazla durmayan küçük şişeler elinizin altında bulunur.
Bu kurallar, hangi dosyanın her günlük mesajı türünü içerdiğini gösterir. Sol kısım, mesaj türünü şu biçimde gösterir: “[Kaynak].[Öncelik]” ve sağ tarafta günlük dosyasının adı görüntülenir. Mesaj türünü yazarken “*” karakteri eklenebilir. Boş değer veya “ anlamına gelirYok"bu onu listeden çıkarır. İ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ı. Tüm yetkilendirme girişimleri (hem başarılı hem de başarısız) bu dosyaya kaydedilecektir. İkinci kural, yetkilendirmeyle bağlantılı olanlar hariç tüm iletilerin “ dosyasına kaydedileceğini belirtir./ Var / log / syslog” dosyası. Bu iki dosya genellikle en popüler olanlardır. Aşağıdaki kurallar çekirdek günlüklerini depolamak için yolu tanımlar “çekirdek.*” ve posta hizmeti günlükleri “posta.*başlıklı bir kılavuz yayınladı
Günlük dosyaları herhangi bir metin düzenleyicinin yardımıyla açılabilir, örneğin: az, kedi, kuyruk. "'ı açalım/var/log/auth.log" dosya
less /var/log/auth.log
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.
- Mesaj zaman damgası - “12 Şub 06:18:33”
- Mesajı gönderen bilgisayarın adı - “vds”
- Mesajı gönderen uygulama veya servisin adı - “sshd”
- İşlem Kimliği - [653]
- 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:
Bu dosya ayrıca gelişmiş izinlere sahip komutları da kaydeder
hadi açalım / Var / log / syslog dosya
Ekran görüntüsünde vurgulanan mesaj, ağ arayüzünün kapatılmasıyla ilgili mesajdır.
Uzun metin dosyalarında bilgi aramak için şunu kullanın: grep yardımcı programı. Alınan tüm mesajları bulabilirsiniz pptpd “hizmet”/ Var / log / syslog" dosya.
grep 'pptpd' /var/log/syslog
Tanılama sırasında şunları kullanabilirsiniz: kuyruk dosyaların son birkaç satırını görüntüleyebilen yardımcı program. Komut “tail -f / var / log / syslog” günlük kayıtlarını gerçek zamanlı olarak izlemenizi sağlayacaktır.
Hizmet rsyslog çok esnek ve güçlüdür. Yerel sistemlerde ve kurumsal düzeyde günlükleri toplamak için kullanılabilir. Resmi web sitesinde tam dokümanları bulabilirsiniz https://www.rsyslog.com/
Linux'ta günlük rotasyonu
Günlük kaydı sürekli olarak gerçekleştiğinden, dosyaların boyutu sürekli olarak büyür. Döndürme mekanizması eski günlüklerin otomatik olarak arşivlenmesini ve yeni dosyaların oluşturulmasını sağlar. Kurallara bağlı olarak günlük, haftalık, aylık veya boyut sınırına göre gerçekleşebilir. Yeni günlükler oluşturuldukça, eskileri silinebilir veya e-postayla gönderilebilir. Günlüklerin döndürülmesi şu şekilde gerçekleştirilir: elde edildi yardımcı program. Ana yapılandırmayı “/etc/logrotate.conf” dosyası. Dosyaların içeriği ayrıca “/etc/logrotate.d/" Klasör
Yeni kurallar ana yapılandırma dosyasına kaydedilebilir. Ancak, “/etc/logrotate.d/”. Varsayılan olarak, bu dizinde birkaç dosya vardır
"Dosyaya bir göz atalım"/etc/logrotate.d/rsyslog" logaritmaları için dönüş kurallarını içeren rsyslog hizmet.
Ö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 "/ var / log /” klasöründe ana günlük var “syslog” ve config dosyasındaki kurallara uyan 7 arşiv.
Logrotate'in daha ayrıntılı bir açıklamasını kılavuzda bulabilirsiniz, "adam logrotateemretmek
Linux günlüklerinin toplanması - journald
Kütük hasat hizmeti sistem günlüğü başlatma sisteminin bir parçasıdır systemd. Linux günlük dosyaları “/var/log/günlük/”özel bir formattadır ve yardımıyla açılabilir Journalctl yardımcı program. Kayıt biçimi tam olarak aynıdır rsyslog.
Komuta Journalctl özniteliksiz 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 bir göz atalım.
journalctl -b- son başlangıçtan bu yana tüm kayıtları gösterjournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- belirli bir zaman dilimindeki kaydı gösterjournalctl -u pptpd- belirli bir hizmetin kayıtlarını gösterjournalctl -k- çekirdek mesajlarını gösterjournalctl -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 iyi esneklik için bu seçenekleri birleştirebilirsiniz. Tüm hataları gösterelim pptpd hizmet
journalctl -u pptpd -p err
Yürütülebilir dosyanın yolunu bir öznitelik olarak belirtirseniz, yardımcı program bu dosya tarafından gönderilen tüm iletileri gösterecektir. " dosyası tarafından gönderilen tüm iletileri gösterelim/usr/bin/sudo” 04 Şubat 15 18:2020'ten beri. 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
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 "" içindeki bazı özel dosyalara bir göz atalım/ var / log /” klasörü tüm oturum açma girişimlerinin saklandığı yerdir. Bu dosyalar ikili olup yalnızca özel programlarla açılabilir.
/var/günlük/wtmp başarılı oturum açma girişimleri hakkında bilgi içerir. Açmak için son yardımcı programı kullanın.
/var/günlük/btmp - tüm başarısız oturum açma girişimlerini içerir. Gelişmiş izinlerle lastb ile açılabilir. Öznitelik -n dosyanın sonundan itibaren gösterilecek satır sayısını tanımlar.
/var/log/loadlog - her hesap kaydı için son oturum açma eyleminin zamanını içerir. ile açılabilir son kayıt