Megosztás a következőn keresztül:


Naplók gyűjtése szövegfájlból az Azure Monitor-ügynökkel

Az egyéni szövegnaplók az adatgyűjtési szabályban (DCR) használt adatforrások egyike. A DCR létrehozásának részleteit az Adatok gyűjtése az Azure Monitor-ügynökkel című témakörben találja. Ez a cikk további részleteket tartalmaz a szövegnaplók típusával kapcsolatban.

Számos alkalmazás és szolgáltatás a szabványos naplózási szolgáltatások, például a Windows-eseménynapló vagy a Syslog helyett szöveges fájlokba naplózza az adatokat. Ezek az adatok összegyűjthetők az Azure Monitor-ügynökkel, és egy Log Analytics-munkaterületen tárolhatók más forrásokból gyűjtött adatokkal.

Előfeltételek

Alapművelet

Az alábbi ábra a naplóadatok szöveges fájlból történő gyűjtésének alapműveletét mutatja be.

  1. Az ügynök figyeli azokat a naplófájlokat, amelyek megfelelnek a helyi lemez megadott névmintájának.
  2. A napló minden bejegyzését összegyűjtjük és elküldjük az Azure Monitornak. A bejövő stream egyetlen oszlopban tartalmazza a teljes naplóbejegyzést.
  3. Ha az alapértelmezett átalakítást használja, a rendszer a teljes naplóbejegyzést a céltábla egyetlen oszlopára küldi.
  4. Ha egyéni átalakítást használ, a naplóbejegyzés a céltábla több oszlopába is elemezhető.

Az Azure Monitor-ügynök által készített szöveges naplók gyűjteményét bemutató ábra, amely egyszerű gyűjteményt és vesszővel tagolt fájl átalakítását mutatja be.

Szövegfájlokkal kapcsolatos követelmények és ajánlott eljárások

Az Azure Monitor-ügynök által figyelt fájlnak meg kell felelnie a következő követelményeknek:

  • A fájlt a számítógép helyi meghajtóján kell tárolni az Azure Monitor-ügynökkel a figyelt könyvtárban.
  • Minden rekordot sorvéggel kell elhatároltnak lennie.
  • A fájlnak ASCII vagy UTF-8 kódolást kell használnia. Más formátumok, például az UTF-16 nem támogatottak.
  • Az új rekordokat hozzá kell fűzni a fájl végéhez, és nem szabad felülírni a régi rekordokat. A felülírás adatvesztést fog okozni.

Tartsa be az alábbi ajánlásokat, hogy ne tapasztaljon adatvesztéssel vagy teljesítménnyel kapcsolatos problémákat:

  • Minden nap hozzon létre egy új naplófájlt, hogy könnyen törölhesse a régi fájlokat.
  • A naplófájlok folyamatos törlése a figyelt címtárban. Számos naplófájl nyomon követése felgyorsíthatja az ügynök processzor- és memóriahasználatát. Várjon legalább 2 napot, hogy elegendő időt hagyjon az összes napló feldolgozására.
  • Ne nevezze át a fájlvizsgálati mintának megfelelő fájlt egy másik névre, amely szintén megfelel a fájlvizsgálati mintának. Ez duplikált adatok betöltését eredményezi.
  • Ne nevezze át vagy másolja a fájlvizsgálati mintának megfelelő nagyméretű naplófájlokat a figyelt könyvtárba. Ha kell, ne lépje túl a percenkénti 50 MB-ot.

Bejövő stream

Feljegyzés

Mostantól elérhető a többsoros támogatás, amely időbélyeggel tagolt eseményeket használ. Erőforrás-kezelési sablon üzembe helyezését addig kell használnia, amíg a portál felhasználói felületén nem lesz támogatás.

A bejövő adatfolyam az alábbi táblázat oszlopait tartalmazza.

Oszlop Típus Leírás
TimeGenerated dátum/idő A rekord létrehozásának időpontja. Ez az érték automatikusan fel lesz töltve azzal az időponttal, amikor a rekord bekerül a Log Analytics-munkaterületre. Ezt az értéket egy átalakítással felülbírálhatja egy másik értékre való beállításhoz TimeGenerated .
RawData húr A teljes naplóbejegyzés egyetlen oszlopban. Az átalakítást akkor használhatja, ha több oszlopra szeretné bontani ezeket az adatokat, mielőtt elküldené őket a táblába.
FilePath húr Ha hozzáadja ezt az oszlopot a bejövő streamhez a DCR-ben, az a naplófájl elérési útjával lesz feltöltve. Ez az oszlop nem jön létre automatikusan, és nem vehető fel a portálon. Manuálisan kell módosítania a portál által létrehozott DCR-t, vagy létre kell hoznia a DCR-t egy másik módszerrel, ahol explicit módon definiálhatja a bejövő streamet.
Computer húr Ha hozzáadja ezt az oszlopot a bejövő streamhez a DCR-ben, az a naplófájlt tartalmazó számítógép nevével lesz feltöltve. Ez az oszlop nem jön létre automatikusan, és nem vehető fel a portálon. Manuálisan kell módosítania a portál által létrehozott DCR-t, vagy létre kell hoznia a DCR-t egy másik módszerrel, ahol explicit módon definiálhatja a bejövő streamet.

Egyéni tábla

Mielőtt naplóadatokat gyűjthet egy szövegfájlból, létre kell hoznia egy egyéni táblát a Log Analytics-munkaterületen az adatok fogadásához. A táblasémának meg kell egyeznie a gyűjtött adatokkal, vagy hozzá kell adnia egy átalakítást, hogy a kimeneti séma megfeleljen a táblának.

Figyelmeztetés

Az adatvesztés elkerülése érdekében fontos, hogy ne használjon olyan meglévő egyéni naplótáblát, amelyet az MMA-ügynökök jelenleg használnak. Ha egy AMA-ügynök egy meglévő egyéni naplótáblába ír, az MMA-ügynökök már nem tudnak írni a táblába. Ehelyett létre kell hoznia egy új táblát kifejezetten az AMA-ügynökök számára, hogy zökkenőmentes átmenetet biztosítson az egyik ügynökről a másikra.

Az alábbi PowerShell-szkripttel például létrehozhat egy egyéni táblát a következővel RawData: , FilePathés Computer. Ehhez a táblához nincs szükség átalakításra, mert a séma megfelel a bejövő stream alapértelmezett sémájának.

$tableParams = @'
{
    "properties": {
        "schema": {
               "name": "{TableName}_CL",
               "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "DateTime"
                    }, 
                    {
                        "name": "RawData",
                        "type": "String"
                    },
                    {
                        "name": "FilePath",
                        "type": "String"
                    },
                    {
                        "name": "Computer",
                        "type": "String"
                    }
              ]
        }
    }
}
'@

Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{WorkspaceName}/tables/{TableName}_CL?api-version=2021-12-01-preview" -Method PUT -payload $tableParams

Adatgyűjtési szabály létrehozása szövegfájlhoz

Hozzon létre egy adatgyűjtési szabályt az Adatok gyűjtése az Azure Monitor-ügynökkel című cikkben leírtak szerint. A Gyűjtési és kézbesítési lépésben válassza az Egyéni szövegnaplók lehetőséget az Adatforrás típusa legördülő listában.

Beállítás Leírás
Fájlminta Azonosítja a naplófájlok helyét és nevét a helyi lemezen. Használjon helyettesítő karaktert a különböző fájlnevekhez, például ha minden nap új fájl jön létre új névvel. Több fájlmintát is megadhat vesszővel elválasztva.

Példák:
- C:\Logs\MyLog.txt
- C:\Logs\MyLog*.txt
- C:\App01\AppLog.txt, C:\App02\AppLog.txt
- /var/mylog.log
- /var/mylog*.log
Tábla neve A Log Analytics-munkaterület céltáblájának neve.
Rekordelválasztó Jelenleg nincs használatban, de a jövőbeli potenciális használatra van fenntartva, így a jelenleg támogatott vonalvégtől (/r/n) eltérő elválasztójelek használhatók.
Átalakítás Betöltési idő átalakítás rekordok szűréséhez vagy a céltábla bejövő adatainak formázásához. A source bejövő adatok változatlan maradnak.

Tagolt naplófájlok

Sok szöveges naplófájl olyan bejegyzéseket tartalmaz, amelyeket egy karakter, például egy vessző tagolt. Ha ezeket az adatokat külön oszlopokba szeretné elemezni, használjon egy átalakítást a felosztott függvénnyel.

Vegyük például az alábbi vesszővel tagolt adatokat tartalmazó szövegfájlt. Ezek a mezők a következőképpen írhatók le: Time, Code, Severity,Module és Message.

2024-06-21 19:17:34,1423,Error,Sales,Unable to connect to pricing service.
2024-06-21 19:18:23,1420,Information,Sales,Pricing service connection established.
2024-06-21 21:45:13,2011,Warning,Procurement,Module failed and was restarted.
2024-06-21 23:53:31,4100,Information,Data,Nightly backup complete.

Az alábbi átalakítás külön oszlopokba elemzi az adatokat. Mivel split dinamikus adatokat ad vissza, olyan függvényeket kell használnia, mint például tostring toint az adatok megfelelő skaláris típussá alakításához. Minden bejegyzésnek meg kell adnia egy nevet is, amely megfelel a céltáblában szereplő oszlopnévnek. Vegye figyelembe, hogy ez a példa értéket ad TimeGenerated . Ha ez nem lett megadva, a betöltési időt kell használni.

source | project d = split(RawData,",") | project TimeGenerated=todatetime(d[0]), Code=toint(d[1]), Severity=tostring(d[2]), Module=tostring(d[3]), Message=tostring(d[4])

A vessző által tagolt fájlgyűjtemény konfigurációját bemutató képernyőkép.

Ha naplólekérdezéssel szeretné beolvasni ezeket az adatokat, az alábbi eredményeket adja vissza.

Képernyőkép a napló lekérdezéséről, amely vesszővel tagolt fájlgyűjtemény eredményeit adja vissza.

Hibaelhárítás

Ha nem gyűjt adatokat a várt szövegnaplóból, kövesse az alábbi lépéseket.

  • Ellenőrizze, hogy az adatok a gyűjtött naplófájlba lesznek-e írva.
  • Ellenőrizze, hogy a naplófájl neve és helye megegyezik-e a megadott fájlmintával.
  • Ellenőrizze, hogy a céltábla sémája megegyezik-e a bejövő streammel, vagy hogy van-e olyan átalakítás, amely a bejövő streamet a megfelelő sémává alakítja.
  • Tekintse meg a Művelet ellenőrzése című témakört annak ellenőrzéséhez, hogy az ügynök működik-e, és hogy az adatok érkeznek-e.

Következő lépések

További információk: