Share via


Linux için Azure İzleyici Aracısı için Syslog sorun giderme kılavuzu

Dikkat

Bu makalede, Kullanım Süresi Sonu (EOL) durumuna yakın bir Linux dağıtımı olan CentOS'a başvuruda bulunur. Lütfen kullanımınızı ve buna uygun planlamayı göz önünde bulundurun. Daha fazla bilgi için bkz . CentOS Kullanım Süresi Sonu kılavuzu.

Linux Syslog için Azure İzleyici Aracısı koleksiyonuna ve desteklenen RFC standartlarına genel bakış:

  • Azure İzleyici Aracısı, yükleme işlemi sırasında sistem Syslog daemon'ı için bir çıkış yapılandırması yükler. Yapılandırma dosyası Syslog daemon ve Azure İzleyici Aracısı arasında olayların akışını belirtir.
  • ( rsyslog Çoğu Linux dağıtımı için) yapılandırma dosyası şeklindedir /etc/rsyslog.d/10-azuremonitoragent-omfwd.conf. için syslog-ngyapılandırma dosyası şeklindedir /etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf.
  • Azure İzleyici Aracısı, 'den rsyslog / syslog-ngolay almak için bir TCP bağlantı noktasını dinler. Bu iletişimin bağlantı noktası konumunda /etc/opt/microsoft/azuremonitoragent/config-cache/syslog.portgünlüğe kaydedilir.

    Not

    Azure İzleyici Aracısı sürüm 1.28'den önce rsyslog'dan olay almak için TCP bağlantı noktası yerine unix etki alanı yuvasını kullanmıştı. omfwd içindeki rsyslog çıkış modülü, daha yüksek güvenilirlik için biriktirme ve yeniden deneme mekanizmaları sunar.

  • Syslog daemon, Azure İzleyici Aracısı alımı geciktiğinde veya Azure İzleyici Aracısı'na ulaşılamadığında kuyrukları kullanır.
  • Azure İzleyici Aracısı syslog olaylarını daha önce bahsedilen yuva aracılığıyla alır ve içindeki veri toplama kuralı (DCR) yapılandırmasından /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/tesis veya önem derecesi bileşimine göre filtreler. facility DCR'de var olan veya severity olmayanlar bırakılır.
  • Azure İzleyici Aracısı olayları RFC3164 ve RFC5424 göre ayrıştırmaya çalışır. Ayrıca bu web sitesinde listelenen ileti biçimlerini ayrıştırma işlemini de bilir.
  • Azure İzleyici Aracısı, DCR yapılandırmasından Syslog olayları için hedef uç noktayı tanımlar ve olayları karşıya yüklemeye çalışır.

    Not

    Azure İzleyici Aracısı varsayılan olarak yerel kalıcılığı kullanır. Veya öğesinden rsyslogsyslog-ng alınan tüm olaylar karşıya yüklenememesi durumunda kuyruğa /var/opt/microsoft/azuremonitoragent/events alınır.

Sorunlar

Aşağıdaki sorunlarla karşılaşabilirsiniz.

Linux için Azure İzleyici Aracısı'nda tam disk alanı sorunu nedeniyle Rsyslog verileri karşıya yüklenemiyor

Sonraki bölümlerde sorun açıklanmaktadır.

Belirti

Syslog verileri yüklenmiyor: konumundaki /var/opt/microsoft/azuremonitoragent/log/mdsd.errhata günlüklerini incelediğinizde, Yerel kalıcı depoya öğe eklerken Hata hakkındaki girdileri görürsünüz... Cihazda aşağıdaki kod parçacığına benzer bir alan kalmadı:

2021-11-23T18:15:10.9712760Z: Error while inserting item to Local persistent store syslog.error: IO error: No space left on device: While appending to file: /var/opt/microsoft/azuremonitoragent/events/syslog.error/000555.log: No space left on device

Neden

Linux için Azure İzleyici Aracısı, alma öncesinde olayları /var/opt/microsoft/azuremonitoragent/events arabelleğe alır. Varsayılan Linux için Azure İzleyici Aracısı yüklemesinde bu dizin boşta yaklaşık 650 MB disk alanı alır. Sürekli günlük yükü altında olduğunda diskin boyutu artar. Yaklaşık her 60 saniyede bir temizlenir ve yük boşta kaldığında yaklaşık 650 MB'a geri döner.

Tam disk sorununu onaylama

Komutu, df aşağıdaki çıkışta gösterildiği gibi üzerinde /dev/sda1kullanılabilir neredeyse hiç alan göstermez. Günlük diziniyle ilişkili satır öğesini incelemeniz gerektiğini unutmayın (örneğin, /var/log veya )./var/

   df -h
Filesystem Size  Used Avail Use% Mounted on
udev        63G     0   63G   0% /dev
tmpfs       13G  720K   13G   1% /run
/dev/sda1   29G   29G  481M  99% /
tmpfs       63G     0   63G   0% /dev/shm
tmpfs      5.0M     0  5.0M   0% /run/lock
tmpfs       63G     0   63G   0% /sys/fs/cgroup
/dev/sda15 105M  4.4M  100M   5% /boot/efi
/dev/sdb1  251G   61M  239G   1% /mnt
tmpfs       13G     0   13G   0% /run/user/1000

Diskin dolmasına du hangi dosyaların neden olduğunu belirlemek için komutunu kullanarak diski inceleyebilirsiniz. Örneğin:

   cd /var/log
   du -h syslog*
6.7G    syslog
18G     syslog.1

Bazı durumlarda, du büyük dosyaları veya dizinleri raporlamayabilir. (Silindi) olarak işaretlenen bir dosyanın yer kaplaması mümkün olabilir. Bu sorun, başka bir işlem bir dosyayı silmeye çalıştığında ancak dosyayla bir işlem hala açık olduğunda oluşabilir. Bu tür dosyaları denetlemek için komutunu kullanabilirsiniz lsof . Aşağıdaki örnekte silindi olarak işaretlendiğini ancak 3,6 GB disk alanı kapladığını görüyoruz /var/log/syslog . PID 1484 içeren bir işlemde dosya hala açık olduğundan silinmedi.

   sudo lsof +L1
COMMAND   PID   USER   FD   TYPE DEVICE   SIZE/OFF NLINK  NODE NAME
none      849   root  txt    REG    0,1       8632     0 16764 / (deleted)
rsyslogd 1484 syslog   14w   REG    8,1 3601566564     0 35280 /var/log/syslog (deleted)

Rsyslog varsayılan yapılandırma tüm tesisleri /var/log/ olarak günlüğe kaydeder

Bazı popüler dağıtımlarda (örneğin, Ubuntu 18.04 LTS), rsyslog, konumundaki neredeyse tüm tesislerden diske /var/log/syslogolayları günlüğe kaydeden bir varsayılan yapılandırma dosyası (/etc/rsyslog.d/50-default.conf ) ile birlikte gelir. RedHat/CentOS ailesi Syslog olayları altında /var/log/ ancak farklı bir dosyada depolanır: /var/log/messages.

Azure İzleyici Aracısı' nda günlüğe kaydedilen Syslog olaylarını /var/log/kullanmaz. Bunun yerine rsyslog hizmetini tcp bağlantı noktası üzerinden olayları doğrudan hizmet işlemine (mdsd) iletecek azuremonitoragent şekilde yapılandırıyor.

Düzeltme: /etc/rsyslog.d/50-default.conf'dan yüksek hacimli tesisleri kaldırma

rsyslog aracılığıyla yüksek günlük birimi gönderiyorsanız ve sisteminiz bu tesisler için olayları günlüğe kaydedecek şekilde ayarlandıysa, altında günlüğe kaydetmeyi ve depolamayı /var/log/önlemek için varsayılan rsyslog yapılandırmasını değiştirmeyi göz önünde bulundurun. rsyslog içine yerleştirilmiş iletme için farklı bir yapılandırma kullandığından, bu tesise yönelik olaylar Azure İzleyici Aracısı'na /etc/rsyslog.d/10-azuremonitoragent-omfwd.confiletilir.

  1. Örneğin, veya /var/log/messageskonumunda /var/log/syslog günlüğe kaydedilen olayları kaldırmak local4 için bu kod parçacığındaki /etc/rsyslog.d/50-default.conf bu satırı değiştirin:

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

    Bu kod parçacığına (ekleyin local4.none;):

    *.*;local4.none;auth,authpriv.none          -/var/log/syslog
    
  2. sudo systemctl restart rsyslog

Linux için Azure İzleyici Aracısı olay arabelleği diski dolduruyor

Dizinin sınırsız (10 GB veya üzeri) büyüdüğünü ve boyutunun küçülmediğini gözlemlerseniz /var/opt/microsoft/azuremonitor/events bir bilet oluşturun. Özet alanına Azure İzleyici Aracısı Olay Arabelleği diski dolduruyor yazın. Sorun türü için VM'den veri toplamayı yapılandırma konusunda yardıma ihtiyacım var yazın.

Bilet oluşturma

  1. Bir veri toplama kuralı açın ve soldaki menüden Yeni Destek İsteği'ni seçin. Ayrıca Yardım + destek bölmesini açıp Destek isteği oluştur'u da seçebilirsiniz.
  2. Seçin:
    • Sorun türü: Teknik.
    • Abonelik: Makinelerinizin bulunduğu aboneliği seçin.
    • Hizmet türü: Veri toplama kuralları ve Azure İzleyici Aracısı.
    • Sorununuz bir kaynakla mı ilgili?: Evet. Kaynak seçiciyi kullanarak makinenizi seçin.
  3. Sorun giderme adımlarından gösterildiği gibi Özet ve Sorun türü girin. Doğru bilgiler sorunun daha hızlı çözülmesini sağlar.
  4. İleri'yi seçin ve yardımcı olup olmadığını görmek için önerilen çözümleri gözden geçirin.
  5. Yardımcı olmazlarsa İleri'yi seçin ve sonraki ayrıntı kümesini doldurun.
  6. İleri'yi seçin, son ayrıntıları gözden geçirin ve Oluştur'u seçin.