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çinsyslog-ng
yapılandırma dosyası şeklindedir/etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf
. - Azure İzleyici Aracısı, 'den
rsyslog
/syslog-ng
olay almak için bir TCP bağlantı noktasını dinler. Bu iletişimin bağlantı noktası konumunda/etc/opt/microsoft/azuremonitoragent/config-cache/syslog.port
gü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çindekirsyslog
çı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 veyaseverity
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
rsyslog
syslog-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.err
hata 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/sda1
kullanı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/syslog
olayları 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.conf
iletilir.
Örneğin, veya
/var/log/messages
konumunda/var/log/syslog
günlüğe kaydedilen olayları kaldırmaklocal4
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
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
- 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.
- 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.
- 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.
- İleri'yi seçin ve yardımcı olup olmadığını görmek için önerilen çözümleri gözden geçirin.
- Yardımcı olmazlarsa İleri'yi seçin ve sonraki ayrıntı kümesini doldurun.
- İleri'yi seçin, son ayrıntıları gözden geçirin ve Oluştur'u seçin.