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. 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 adatokat a DCR által megadott végpontra vagy egy adatgyűjtési végpontra (DCE) küldi, ha privát kapcsolatot használ.
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.
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. |
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. |
Végpont
A Logs Ingestion API REST API-végpontja lehet adatgyűjtési végpont (DCE) vagy A DCR-naplók betöltési végpontja.
A DCR-naplók betöltési végpontja akkor jön létre, amikor közvetlen betöltéshez hoz létre DCR-t. A végpont lekéréséhez nyissa meg a DCR-t az Azure Portal JSON-nézetében. Előfordulhat, hogy a végpontok megjelenítéséhez módosítania kell az API-verziót a legújabb verzióra.
DCE-re csak akkor van szükség, ha privát kapcsolattal csatlakozik egy Log Analytics-munkaterülethez, vagy ha a DCR nem tartalmazza a naplóbetöltési végpontot. Ez lehet a helyzet, ha régebbi DCR-t használ, vagy ha a DCR-t a "kind": "Direct"
paraméter nélkül hozta létre. További részletekért lásd az adatgyűjtési szabályt (DCR ).
Feljegyzés
A logsIngestion
tulajdonság 2024. március 31-én lett hozzáadva. Ezen dátum előtt a Naplók betöltési API-hoz DCE-ra volt szükség. A végpontok nem adhatók hozzá egy meglévő DCR-hez, de továbbra is használhat meglévő DCR-eket meglévő tartományvezérlőkkel. Ha egy DCR-végpontra szeretne lépni, akkor létre kell hoznia egy új DCR-t a meglévő helyett. A végpontokkal rendelkező DCR-k DCE-t is használhatnak. Ebben az esetben eldöntheti, hogy a DCE-t vagy a DCR-végpontokat használja-e a DCR-t használó összes ügyfélhez.
Adatgyűjtési szabály (DCR)
Amikor egyéni táblát hoz létre egy Log Analytics-munkaterületen az Azure Portal használatával, létrejön egy DCR, amely a Logs ingestion API-val használható. Ha már létező táblába küld adatokat, akkor manuálisan kell létrehoznia a DCR-t. Kezdje az alábbi minta DCR-vel, és cserélje le a sablon alábbi paramétereinek értékeit. 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 ismertetett módszerek bármelyikét.
Paraméter | Leírás |
---|---|
region |
Régió a DCR létrehozásához. Ennek meg kell egyeznie a Log Analytics-munkaterület és a DCE régióval, ha használ egyet. |
dataCollectionEndpointId |
A DCE erőforrás-azonosítója. Távolítsa el ezt a paramétert, ha a DCR betöltési pontját használja. |
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 céltábla sémájának megfelelően. |
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>.< |
{
"location": "eastus",
"dataCollectionEndpointId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionEndpoints/dce-eastus",
"kind": "Direct",
"properties": {
"streamDeclarations": {
"Custom-MyTable": {
"columns": [
{
"name": "Time",
"type": "datetime"
},
{
"name": "Computer",
"type": "string"
},
{
"name": "AdditionalContext",
"type": "string"
}
]
}
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/cefingestion/providers/microsoft.operationalinsights/workspaces/my-workspace",
"name": "LogAnalyticsDest"
}
]
},
"dataFlows": [
{
"streams": [
"Custom-MyTable"
],
"destinations": [
"LogAnalyticsDest"
],
"transformKql": "source",
"outputStream": "Custom-MyTable_CL"
}
]
}
}
Ü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.
URI
Az URI tartalmazza a régiót, a DCE- vagy DCR-betöltési végpontot, a DCR-azonosítót és a stream nevét. Az API-verziót is megadja.
Az URI a következő formátumot használja.
{Endpoint}/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
A DCR Immutable ID
rendszer a létrehozáskor hozza létre a DCR-et. Lekérheti az Azure Portal DCR-jének Áttekintés lapján.
Stream Name
az egyéni adatokat kezelő DCR-ben lévő adatfolyamra hivatkozik.
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. |
- ADAssessmentRecommendation
- ADSecurityAssessmentRecommendation
- Rendellenességek
- ASimAuditEventLogs
- ASimAuthenticationEventLogs
- ASimDhcpEventLogs
- ASimDnsActivityLogs
- ASimDnsAuditLogs
- ASimFileEventLogs
- ASimNetworkSessionLogs
- ASimProcessEventLogs
- ASimRegistryEventLogs
- ASimUserManagementActivityLogs
- ASimWebSessionLogs
- AWSCloudTrail
- AWSCloudWatch
- AWSGuardDuty
- AWSVPCFlow
- AzureAssessmentRecommendation
- CommonSecurityLog
- DeviceTvmSecureConfigurationAssessmentKB
- DeviceTvmSoftwareVulnerabilitiesKB
- ExchangeAssessmentRecommendation
- ExchangeOnlineAssessmentRecommendation
- GCPAuditLogs
- GoogleCloudSCC
- SCCMAssessmentRecommendation
- SCOMAssessmentRecommendation
- SecurityEvent
- SfBAssessmentRecommendation
- SfBOnlineAssessmentRecommendation
- SharePointOnlineAssessmentRecommendation
- SPAssessmentRecommendation
- SQLAssessmentRecommendation
- StorageInsightsAccountPropertiesDaily
- StorageInsightsDailyMetrics
- StorageInsightsHourlyMetrics
- StorageInsightsMonthlyMetrics
- StorageInsightsWeeklyMetrics
- Syslog
- UCClient
- UCClientReadinessStatus
- UCClientUpdateStatus
- UCDeviceAlert
- UCDOAggregatedStatus
- UCDOStatus
- UCServiceUpdateStatus
- UCUpdateAlert
- WindowsClientAssessmentRecommendation
- WindowsEvent
- WindowsServerAssessmentRecommendation
Feljegyzés
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
, és Title
fenntartott oszlopnevek. Az Azure-táblához hozzáadott egyéni oszlopoknak utótagot _CF
kell 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
- Útmutató adatok Azure Monitor-naplókba való küldéséhez a Logs ingestion API-val az Azure Portalon
- Útmutató egyéni naplók Resource Manager-sablonok és REST API használatával történő küldéséhez
- Útmutatást kaphat a logs ingestion API ügyfélkódtárainak .NET-, Java-, JavaScript- vagy Python-alapú használatához.