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
Asyslog-ng
konfigurá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.port
van 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 arsyslog
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ármelyfacility
vagyseverity
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, vagysyslog-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/sda1
kö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.conf
továbbításhoz.
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
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
- 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.
- 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.
- 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.
- Válassza a Tovább lehetőséget, és tekintse át az ajánlott megoldásokat, és ellenőrizze, hogy segítenek-e.
- Ha nem segítenek, válassza a Tovább lehetőséget, és töltse ki a következő részletkészletet.
- 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.