Logs Ingestion API az Azure Monitorban

Az Azure Monitor Logs Ingestion API-jával REST API-hívással vagy ügyfélkódtárak használatával adatokat küldhet egy Log Analytics-munkaterületre. Az API lehetővé teszi, hogy adatokat küldjön a támogatott Azure-táblákba vagy a létrehozott egyéni táblákba. Az Azure-táblák sémáját egyéni oszlopokkal is bővítheti, hogy további adatokat fogadjon el.

Alapművelet

Az adatok a Logs Ingestion API-ba bármely olyan alkalmazásból elküldhetők, amely REST API-hívást indíthat. Ez lehet egy ön által létrehozott egyéni alkalmazás, vagy lehet egy alkalmazás vagy ügynök, amely megérti, hogyan küldhet adatokat az API-nak. Az alkalmazás adatokat küld egy adatgyűjtési végpontnak (DCE), amely az Azure-előfizetés egyedi csatlakozási pontja. Egy olyan adatgyűjtési szabályt (DCR) határoz meg, amely tartalmazza a céltáblát és a munkaterületet, valamint az alkalmazásregisztráció hitelesítő adatait a megadott DCR-hez való hozzáféréssel.

Az alkalmazás által az API-nak küldött adatokat JSON formátumban kell formázni, és meg kell egyeznie a DCR által várt struktúrával. Nem feltétlenül kell egyeznie a céltábla szerkezetével, mert a DCR tartalmazhat egy átalakítást, amely átalakítja az adatokat a tábla szerkezetének megfelelően. A céltáblát és a munkaterületet úgy módosíthatja, hogy az API-hívás vagy a forrásadatok módosítása nélkül módosítja a DCR-t.

A naplóbetöltési API áttekintését bemutató ábra.

Konfiguráció

Az alábbi táblázat az Azure minden olyan összetevőjét ismerteti, amelyet konfigurálnia kell a Logs Ingestion API használata előtt.

Feljegyzés

Az összetevők konfigurációját automatizáló PowerShell-szkriptek esetében tekintse meg a Logs ingestion API használatával az Azure Monitorba adatküldési mintakódot.

Összetevő Függvény
Alkalmazásregisztráció és titkos kód Az alkalmazásregisztráció az API-hívás hitelesítésére szolgál. Engedélyt kell adni az alább ismertetett DCR-nek. Az API-hívás tartalmazza az alkalmazás (ügyfél) azonosítóját és címtár-(bérlői) azonosítóját , valamint az alkalmazás titkos kódjának értékét .

Lásd: Microsoft Entra-alkalmazás és szolgáltatásnév létrehozása, amely hozzáfér az erőforrásokhoz , és új alkalmazáskulcs létrehozása.
Adatgyűjtési végpont (DCE) A DCE egy végpontot biztosít az alkalmazás számára, amelybe elküldheti az alkalmazást. Egyetlen DCE több DCR-t is támogathat, így meglévő DCE-t is használhat, ha már van egy a Log Analytics-munkaterületével azonos régióban.

Lásd: Adatgyűjtési végpont létrehozása.
Tábla a Log Analytics-munkaterületen A Log Analytics-munkaterület táblájának léteznie kell ahhoz, hogy adatokat küldjön neki. Használhatja a támogatott Azure-táblák egyikét, vagy létrehozhat egy egyéni táblát az elérhető módszerek bármelyikével. Ha az Azure Portallal hozza létre a táblát, a DCR létrejön Önnek, beleértve az átalakítást is, ha szükséges. Bármely más módszerrel manuálisan kell létrehoznia a DCR-t a következő szakaszban leírtak szerint.

Lásd: Egyéni tábla létrehozása.
Adatgyűjtési szabály (DCR) Az Azure Monitor az adatgyűjtési szabályt (DCR) használja a bejövő adatok szerkezetének és azokkal kapcsolatos teendőknek a megértéséhez. Ha a tábla struktúrája és a bejövő adatok nem egyeznek, a DCR tartalmazhat átalakítást a forrásadatok céltáblának való konvertálásához. Az átalakítással szűrheti a forrásadatokat, és bármilyen más számítást vagy átalakítást hajthat végre.

Ha egyéni táblát hoz létre az Azure Portal használatával, a rendszer a megadott mintaadatok alapján hozza létre a DCR-t és az átalakítást. Ha egy meglévő táblát használ, vagy egy másik módszerrel hoz létre egyéni táblát, akkor manuálisan kell létrehoznia a DCR-t a következő szakaszban található részletekkel.

A DCR létrehozása után hozzáférést kell adnia ahhoz az alkalmazáshoz, amelyet az első lépésben hozott létre. Az Azure Portal Monitor menüjében válassza az Adatgyűjtési szabályokat, majd a létrehozott DCR-t. Válassza a Hozzáférés-vezérlés (IAM) lehetőséget a DCR-hez, majd válassza a Szerepkör-hozzárendelés hozzáadása lehetőséget a figyelési metrikák közzétevői szerepkörének hozzáadásához.

DCR manuális létrehozása

Ha már létező táblába küld adatokat, akkor manuálisan kell létrehoznia a DCR-t. Kezdje a Logs Ingestion API minta DCR-jével, és módosítsa a következő paramétereket a sablonban. Ezután a DCR létrehozásához használja az Azure Monitor adatgyűjtési szabályainak létrehozása és szerkesztése című cikkben leírt módszereket.

Paraméter Leírás
region Régió a DCR létrehozásához. Ennek meg kell egyeznie a DCE régiójával és a Log Analytics-munkaterületével.
dataCollectionEndpointId A DCE erőforrás-azonosítója.
streamDeclarations Módosítsa az oszloplistát a bejövő adatok oszlopaira. Nem kell módosítania a stream nevét, mivel ennek csak egyeznie kell a névvel a streams következőben dataFlows: .
workspaceResourceId A Log Analytics-munkaterület erőforrás-azonosítója. Nem kell módosítania a nevet, mivel ennek csak egyeznie kell a névvel a destinations következőben dataFlows: .
transformKql A bejövő adatokra alkalmazni kívánt KQL-lekérdezés. Ha a bejövő adatok sémája megegyezik a tábla sémáján, akkor használhatja source az átalakítást, amely változatlanul továbbítja a bejövő adatokat. Ellenkező esetben használjon olyan lekérdezést, amely átalakítja az adatokat a táblaséma alapján.
outputStream Az adatokat küldő tábla neve. Egyéni tábla esetén adja hozzá a Custom-table-name<> előtagot. Beépített tábla esetén adja hozzá a Microsoft-table-name előtagot>.<

Ügyfélkódtárak

A REST API-híváson kívül az alábbi ügyfélkódtárak használatával adatokat küldhet a Logs ingestion API-nak. A kódtárakhoz a Konfigurációban ismertetett összetevők szükségesek. Az egyes kódtárakat használó példákat a Logs ingestion API használatával az Azure Monitorba küldő mintakódban tekintheti meg.

REST API-hívás

Ha REST API-hívással szeretne adatokat küldeni az Azure Monitornak, küldjön POST-hívást HTTP-en keresztül. A híváshoz szükséges részleteket ebben a szakaszban ismertetjük.

Végpont URI-ja

A végpont URI-ja a következő formátumot használja, ahol a Data Collection Endpoint DCE és DCR Immutable ID a DCR található. A rendszer a létrehozáskor létrehozza a nem módosítható azonosítót a DCR-hez. Az Azure Portalon a DCR JSON nézetéből kérhető le. Stream Name az egyéni adatokat kezelő DCR-ben lévő adatfolyamra hivatkozik.

{Data Collection Endpoint URI}/dataCollectionRules/{DCR Immutable ID}/streams/{Stream Name}?api-version=2023-01-01

Példa:

https://my-dce-5kyl.eastus-1.ingest.monitor.azure.com/dataCollectionRules/dcr-000a00a000a00000a000000aa000a0aa/streams/Custom-MyTable?api-version=2023-01-01

Fejlécek

Az alábbi táblázat az API-hívás fejléceit ismerteti.

Fejléc Kötelező? Leírás
Engedélyezés Igen Az ügyfél hitelesítő adatainak folyamatán keresztül beszerzett tulajdonosi jogkivonat. Használja a jogkivonat célközönségének értékét a felhőhöz:

Nyilvános Azure-felhő – https://monitor.azure.com
A 21Vianet-felhő által üzemeltetett Microsoft Azure - https://monitor.azure.cn
Azure US Government-felhő – https://monitor.azure.us
Content-Type Igen application/json
Tartalomkódolás Nem gzip
x-ms-client-request-id Nem Sztring formátumú GUID. Ez egy kérésazonosító, amelyet a Microsoft bármilyen hibaelhárítási célra használhat.

Törzs

A hívás törzse tartalmazza az Azure Monitornak küldendő egyéni adatokat. Az adatok alakjának olyan JSON-tömbnek kell lennie, amelynek elemszerkezete megegyezik a DCR-ben lévő stream által várt formátummal. Ha egyetlen elemet kell elküldeni az API-híváson belül, az adatokat egyelemes tömbként kell elküldeni.

Példa:

[
{
    "TimeGenerated": "2023-11-14 15:10:02",
    "Column01": "Value01",
    "Column02": "Value02"
}
]

Győződjön meg arról, hogy a kérelem törzse megfelelően van kódolva az UTF-8-ban az adatátvitelsel kapcsolatos problémák elkerülése érdekében.

Példa

A PowerShell használatával történő API-hívás példáját a Logs ingestion API használatával az Azure Monitorba küldő mintakódban tekintheti meg.

Támogatott táblák

A betöltési API-nak küldött adatok a következő táblákba küldhetők:

Táblák Leírás
Egyéni táblák A Log Analytics-munkaterületen létrehozott egyéni táblák. A céltáblának léteznie kell, mielőtt adatokat küldhet neki. Az egyéni tábláknak utótagot _CL kell tartalmazniuk.
Azure-táblák Jelenleg az alábbi Azure-táblák támogatottak. Más táblák is hozzáadhatók a listához, mivel a támogatásuk implementálva van.

Feljegyzés

Az oszlopneveknek betűvel kell kezdődniük, és legfeljebb 45 alfanumerikus karakterből és aláhúzásból (_) állhatnak. _ResourceId, , _ResourceIdid, _SubscriptionId, TenantId, Type, UniqueId, és Title fenntartott oszlopnevek. Az Azure-táblához hozzáadott egyéni oszlopoknak utótagot _CFkell tartalmazniuk.

Korlátok és korlátozások

A Logs Ingestion API-val kapcsolatos korlátozásokért tekintse meg az Azure Monitor szolgáltatáskorlátjait.

Következő lépések