A Linuxhoz készült Azure Monitor Agent syslog hibaelhárítási útmutatója

Figyelemfelhívás

Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Ennek megfelelően fontolja meg a használatot és a tervezést. További információ: CentOS End Of Life útmutató.

Az Azure Monitor Agent for Linux Syslog-gyűjtemény és a támogatott RFC-szabványok áttekintése:

  • Az Azure Monitor Agent a telepítési folyamat során telepíti a rendszer Syslog démonjának kimeneti konfigurációját. A konfigurációs fájl meghatározza, hogy az események hogyan haladnak a Syslog démon és az Azure Monitor-ügynök között.
  • A rsyslog (legtöbb Linux-disztribúció esetén) a konfigurációs fájl a ./etc/rsyslog.d/10-azuremonitoragent-omfwd.conf A syslog-ngkonfigurációs fájl a következő /etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf: .
  • Az Azure Monitor Agent egy TCP-portot figyel az események fogadásához.rsyslog / syslog-ng A kommunikáció portja a következő helyen /etc/opt/microsoft/azuremonitoragent/config-cache/syslog.portvan naplózva: .

    Feljegyzés

    Az Azure Monitor Agent 1.28-es verziója előtt a TCP-port helyett egy Unix tartományi szoftvercsatornát használt az rsyslog eseményeinek fogadásához. omfwd kimeneti modul a rsyslog jobb megbízhatóság érdekében kínál sorbaállító és újrapróbálkozási mechanizmusokat.

  • A Syslog démon üzenetsorokat használ, ha az Azure Monitor-ügynök betöltése késik, vagy ha az Azure Monitor-ügynök nem érhető el.
  • Az Azure Monitor Agent a korábban említett szoftvercsatornán keresztül betölti a Syslog-eseményeket, és az adatgyűjtési szabály (DCR) konfigurációjának létesítmény- vagy súlyossági kombinációi alapján szűri őket./etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/ A DCR-ben bármely facility vagy severity nem található el lesz ejtve.
  • Az Azure Monitor Agent RFC3164 és RFC5424 szerint próbálja elemezni az eseményeket. Azt is tudja, hogyan elemezheti a webhelyen felsorolt üzenetformátumokat.
  • Az Azure Monitor Agent azonosítja a Syslog-események célvégpontját a DCR-konfigurációból, és megpróbálja feltölteni az eseményeket.

    Feljegyzés

    Az Azure Monitor Agent alapértelmezés szerint helyi adatmegőrzést használ. Ha nem sikerül feltölteni az eseményeket, az összes fogadott rsyslog esemény várólistára /var/opt/microsoft/azuremonitoragent/events kerül, vagy syslog-ng azok várólistára kerülnek.

Problémák

Az alábbi problémákat tapasztalhatja.

A rendszer nem tölti fel az Rsyslog-adatokat, mert a linuxos Azure Monitor Agent teljes lemezterülettel kapcsolatos problémája van

A következő szakaszok ismertetik a problémát.

Tünet

A syslog-adatok feltöltése nem történik meg: Amikor megvizsgálja a hibanaplókat a következő helyen /var/opt/microsoft/azuremonitoragent/log/mdsd.err, a hiba bejegyzései megjelennek, amikor elemet szúr be a helyi állandó tárolóba... Az eszközön nem maradt hely a következő kódrészlethez hasonló módon:

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

Ok

A Linuxhoz készült Azure Monitor Agent a betöltés előtt puffereli az /var/opt/microsoft/azuremonitoragent/events eseményeket. A Linuxhoz készült alapértelmezett Azure Monitor-ügynök esetében ez a könyvtár körülbelül 650 MB lemezterületet foglal tétlen állapotban. A lemez mérete akkor nő, ha tartós naplózási terhelés alatt van. Körülbelül 60 másodpercenként tisztítja meg, és ~650 MB-ra csökkenti vissza, amikor a terhelés inaktív állapotba kerül.

Teljes lemez problémájának megerősítése

A df parancs szinte nincs szabad terület a /dev/sda1következő kimenetben látható módon. Vegye figyelembe, hogy meg kell vizsgálnia a naplókönyvtárral korreláló sorelemet (például /var/log vagy /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

A parancs segítségével du megvizsgálhatja a lemezt annak megállapításához, hogy mely fájlok okozzák a lemez megtelését. Példa:

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

Bizonyos esetekben előfordulhat, du hogy nem jelent nagy fájlokat vagy könyvtárakat. Lehetséges, hogy egy töröltként megjelölt fájl elfoglalja a helyet. Ez a probléma akkor fordulhat elő, ha egy másik folyamat megkísérel törölni egy fájlt, de a fájlt tartalmazó folyamat még mindig meg van nyitva. A parancs segítségével lsof ellenőrizheti az ilyen fájlokat. Az alábbi példában azt látjuk, hogy /var/log/syslog a rendszer töröltként van megjelölve, de 3,6 GB lemezterületet vesz igénybe. Nem törölték, mert a PID 1484-et tartalmazó folyamat még mindig meg van nyitva.

   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)

Az Rsyslog alapértelmezett konfigurációs naplózza az összes létesítményt a /var/log/ címre

Néhány népszerű disztribúcióban (például Ubuntu 18.04 LTS) az rsyslog egy alapértelmezett konfigurációs fájllal (/etc/rsyslog.d/50-default.conf) rendelkezik, amely szinte minden létesítményből naplózza az eseményeket a lemezen /var/log/syslog. A RedHat/CentOS családi Syslog-eseményeket a rendszer egy másik fájlban tárolja /var/log/ : /var/log/messages.

Az Azure Monitor Agent nem támaszkodik a syslog események naplózására /var/log/. Ehelyett úgy konfigurálja az rsyslog szolgáltatást, hogy közvetlenül a szolgáltatásfolyamatba (mdsd) továbbítsa az eseményeket egy azuremonitoragent TCP-porton keresztül.

Javítás: Nagy mennyiségű létesítmény eltávolítása a /etc/rsyslog.d/50-default.conf fájlból

Ha nagy naplókötetet küld az rsyslogon keresztül, és a rendszer be van állítva a naplóeseményekhez ezekhez a létesítményekhez, fontolja meg az alapértelmezett rsyslog konfiguráció módosítását, hogy elkerülje a naplózást és a tárolást a következő alatt /var/log/: . A létesítmény eseményei továbbra is továbbítva lesznek az Azure Monitor-ügynöknek, mert az rsyslog más konfigurációt használ a behelyezett /etc/rsyslog.d/10-azuremonitoragent-omfwd.conftovábbításhoz.

  1. Ha például el szeretné távolítani local4 az események naplózását a naplóból /var/log/syslog/var/log/messages, módosítsa ezt a /etc/rsyslog.d/50-default.conf sort ebből a kódrészletből:

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

    Ehhez a kódrészlethez (hozzáadás local4.none;):

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

Az Azure Monitor Agent for Linux eseménypuffer feltölt egy lemezt

Ha azt tapasztalja, hogy a /var/opt/microsoft/azuremonitor/events címtár kötetlenül növekszik (10 GB vagy magasabb), és nem csökken a méret, küldjön egy jegyet. Összegzésként adja meg, hogy az Azure Monitor-ügynök eseménypuffere feltölti a lemezt. A probléma típusához írja be, hogy segítségre van szükségem az adatgyűjtés virtuális gépről történő konfigurálásához.

Jegy küldése

  1. Nyisson meg egy adatgyűjtési szabályt, és a bal oldali menüben válassza az Új támogatási kérelem lehetőséget. A Súgó + támogatási panelt is megnyithatja, és kiválaszthatja a Támogatási kérelem létrehozása lehetőséget.
  2. Válassza ki:
    • Probléma típusa: Műszaki.
    • Előfizetés: Válassza ki azt az előfizetést, amelyben a gépek találhatók.
    • Szolgáltatás típusa: Adatgyűjtési szabályok és Azure Monitor-ügynök.
    • A probléma egy erőforráshoz kapcsolódik?: Igen. Válassza ki a gépet az erőforrás-választóval.
  3. Adja meg az összegzés és a probléma típusát a hibaelhárítási lépésekben leírtak szerint. A pontos információk a probléma gyorsabb megoldásához vezetnek.
  4. Válassza a Tovább lehetőséget, és tekintse át az ajánlott megoldásokat, és ellenőrizze, hogy segítenek-e.
  5. Ha nem segítenek, válassza a Tovább lehetőséget, és töltse ki a következő részletkészletet.
  6. Válassza a Tovább lehetőséget, tekintse át a végleges részleteket, és válassza a Létrehozás lehetőséget.