Migrálás a HTTP Data Collector API-ból a Log Ingestion API-ba az adatok Azure Monitor-naplókba való küldéséhez
Az Azure Monitor Naplóbetöltési API nagyobb feldolgozási teljesítményt és nagyobb rugalmasságot biztosít a naplók betöltéséhez és a táblák kezeléséhez, mint az örökölt HTTP Data Collector API. Ez a cikk a Data Collector API és a Log Ingestion API közötti különbségeket ismerteti, és útmutatást és ajánlott eljárásokat tartalmaz az új Log Ingestion API-ba való migráláshoz.
Feljegyzés
Morten Waltorp Knudsen Microsoft MVP-ként hozzájárult a cikkhez, és jelentős visszajelzést adott. A Log Ingestion API beállításának és folyamatos használatának automatizálására példaként tekintse meg Morten nyilvánosan elérhető AzLogDcrIngestPS PowerShell-modulját.
A Log Ingestion API előnyei
A Log Ingestion API az alábbi előnyöket nyújtja a Data Collector API-val szemben:
- Támogatja az átalakításokat, amelyek lehetővé teszik az adatok módosítását, mielőtt betöltené őket a céltáblába, beleértve a szűrést és az adatmanipulációt.
- Lehetővé teszi, hogy több célhelyre küldjön adatokat.
- Lehetővé teszi a céltábla sémájának kezelését, beleértve az oszlopneveket, valamint azt, hogy a forrásadatséma módosításakor új oszlopokat adjon-e hozzá a céltáblához.
Előfeltételek
A cikkben ismertetett migrálási eljárás feltételezi, hogy rendelkezik a következőkkel:
- Log Analytics-munkaterület, ahol legalább közreműködői jogosultságokkal rendelkezik.
- Adatgyűjtési szabályok létrehozására vonatkozó engedélyek a Log Analytics-munkaterületen.
- Egy Microsoft Entra-alkalmazás API-hívások vagy bármely más Resource Manager-hitelesítési séma hitelesítéséhez.
A szükséges engedélyek
Művelet | A szükséges engedélyek |
---|---|
Adatgyűjtési végpont létrehozása. | Microsoft.Insights/dataCollectionEndpoints/write a Monitorozási közreműködő beépített szerepköre által biztosított engedélyek, például. |
Adatgyűjtési szabály létrehozása vagy módosítása. | Microsoft.Insights/DataCollectionRules/Write a Monitorozási közreműködő beépített szerepköre által biztosított engedélyek, például. |
A Data Collector API-t használó táblázat átalakítása adatgyűjtési szabályokká és a Log Ingestion API-vá. | Microsoft.OperationalInsights/workspaces/tables/migrate/action a Log Analytics-közreműködő beépített szerepköre által biztosított engedélyek, például. |
Hozzon létre új táblákat, vagy módosítsa a táblázatsémákat. | microsoft.operationalinsights/workspaces/tables/write a Log Analytics-közreműködő beépített szerepköre által biztosított engedélyek, például. |
Hívja meg a Log Ingestion API-t. | Lásd: Engedélyek hozzárendelése DCR-hez. |
A Naplóbetöltési API-hoz szükséges új erőforrások létrehozása
A Log Ingestion API-hoz két új típusú erőforrást kell létrehoznia, amelyeket a HTTP Data Collector API nem igényel:
- Adatgyűjtési végpontok, amelyekből az összegyűjtött adatok feldolgozásra kerülnek a folyamatba.
- Adatgyűjtési szabályok, amelyek adatátalakításokat határoznak meg, valamint azt a céltáblát, amelybe az adatokat betöltik.
Meglévő egyéni táblák migrálása vagy új táblák létrehozása
Ha rendelkezik egy meglévő egyéni táblával, amelybe jelenleg adatokat küld a Data Collector API használatával, a következőket teheti:
Migrálja a táblát, hogy a Log Ingestion API használatával továbbra is ugyanabba a táblába betöltse az adatokat.
Tartsa karban a meglévő táblát és adatokat, és állítson be egy új táblát, amelybe a Log Ingestion API használatával betölti az adatokat. Ha elkészült, törölheti a régi táblát.
Ez az előnyben részesített beállítás, különösen akkor, ha módosítania kell a meglévő táblát. A meglévő adattípusok módosítása és a meglévő Data Collector API-táblák sémamódosításai hibákhoz vezethetnek.
Tipp.
A Data Collector API-t használó táblák azonosításához tekintse meg a táblatulajdonságokat. A Data Collector API-t használó táblák Típus tulajdonsága Egyéni tábla (klasszikus) értékre van állítva. Vegye figyelembe, hogy az örökölt Log Analytics-ügynökkel (MMA) való adatbetöltést lehetővé tevő táblák Típus tulajdonsága egyéni tábla (klasszikus) értékre van állítva. Az MMA-táblák konvertálása előtt mindenképpen migráljon a Log Analytics-ügynökből az Azure Monitor-ügynökbe. Ellenkező esetben a táblaátalakítás után nem kell adatokat beszüntetnie ezekben a táblákban lévő egyéni mezőkbe.
Ez a táblázat összefoglalja az egyes beállításokkal kapcsolatos megfontolandó szempontokat:
Táblázatmigrálás | Egymás melletti megvalósítás | |
---|---|---|
Tábla- és oszlopelnevezés | Használja újra a meglévő táblanevet. Oszlopelnevezési beállítások: – Használjon új oszlopneveket, és adjon meg egy átalakítást a bejövő adatoknak az újonnan elnevezett oszlopba való irányításához. - Folytassa a régi nevek használatát. |
Állítsa be szabadon az új táblanevet. Az új táblára való váltás előtt módosítania kell az integrációkat, az irányítópultokat és a riasztásokat. |
Migrálási eljárás | Egyszeri táblamigrálás. Migrált tábla nem gördülhet vissza. | A migrálás táblázatonként fokozatosan végezhető el. |
Migrálás utáni | A HTTP Data Collector API használatával továbbra is betölthet adatokat meglévő oszlopokkal, kivéve az egyéni oszlopokat. Adatok betöltése új oszlopokba csak a Log Ingestion API használatával. |
A régi táblában lévő adatok a megőrzési időszak végéig érhetők el. Amikor először állít be egy új táblát, vagy sémamódosításokat hajt végre, 10–15 percet vehet igénybe, amíg az adatmódosítások megjelennek a céltáblában. |
A Data Collector API-t adatgyűjtési szabályokká és a Log Ingestion API-t használó táblák konvertálásához adja ki ezt az API-hívást a táblához:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{tableName}/migrate?api-version=2021-12-01-preview
Ez a hívás idempotens, ezért nincs hatása, ha a táblát már konvertálták.
Az API-hívás lehetővé teszi a tábla összes DCR-alapú egyéni naplófunkcióját. A Data Collector API továbbra is betölti az adatokat a meglévő oszlopokba, de nem hoz létre új oszlopokat. A korábban definiált egyéni mezők nem lesznek továbbra is kitöltve. Egy meglévő tábla adatgyűjtési szabályokkal való migrálásának másik módja, de nem feltétlenül a Log Ingestion API egy munkaterület-átalakítást alkalmaz a táblára.
Fontos
- Az oszlopneveknek betűvel kell kezdődniük, és legfeljebb 45 alfanumerikus karakterből és aláhúzásból (
_
) állhatnak. _ResourceId
, ,_ResourceId
id
,_SubscriptionId
,TenantId
,Type
,UniqueId
, ésTitle
fenntartott oszlopnevek.- Az Azure-táblához hozzáadott egyéni oszlopoknak utótagot
_CF
kell tartalmazniuk. - Ha frissíti a táblázatsémát a Log Analytics-munkaterületen, az adatgyűjtési szabály bemeneti streamdefinícióját is frissítenie kell, hogy az adatokat új vagy módosított oszlopokba betöltse.
A Log Ingestion API meghívása
A Log Ingestion API segítségével hívásonként legfeljebb 1 MB tömörített vagy tömörítetlen adatot küldhet. Ha 1 MB-nál több adatot kell küldenie, több hívást is küldhet párhuzamosan. Ez a Data Collector API módosítása, amellyel hívásonként legfeljebb 32 MB adatot küldhet.
A Log Ingestion API meghívásáról további információt a Log Ingestion REST API-hívásban talál.
Táblaséma és adatgyűjtési szabályok módosítása a forrásadat-objektum módosítása alapján
Bár a Data Collector API automatikusan módosítja a céltábla sémáját a forrásadat-objektum sémájának módosításakor, a Log Ingestion API nem. Ez biztosítja, hogy ne gyűjtsön új adatokat olyan oszlopokba, amelyeket nem kívánt létrehozni.
A forrásadatséma megváltozásakor a következőket teheti:
- Módosítsa a céltábla sémáit és adatgyűjtési szabályait a forrásadatséma változásaihoz igazodva.
- Adjon meg egy átalakítást az adatgyűjtési szabályban, hogy az új adatokat a céltábla meglévő oszlopaiba küldje.
- Hagyja változatlanul a céltáblát és az adatgyűjtési szabályt. Ebben az esetben nem fogja betöltésre az új adatokat.
Feljegyzés
Az oszlopnév nem használható újra olyan adattípussal, amely eltér az oszlophoz definiált eredeti adattípustól.