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


Az Azure Cosmos DB vezérlősík-műveleteinek naplózása

A KÖVETKEZŐKRE VONATKOZIK: NoSQL MongoDB Cassandra Gremlin Asztal

A Control Plane az Azure Cosmos DB-ben egy RESTful szolgáltatás, amely lehetővé teszi különböző műveletek végrehajtását az Azure Cosmos DB-fiókon. Nyilvános erőforrásmodellt (például adatbázist, fiókot) és különböző műveleteket tesz elérhetővé a végfelhasználók számára az erőforrásmodellen végzett műveletek végrehajtásához. A vezérlősík műveletei tartalmazzák az Azure Cosmos DB-fiók vagy -tároló módosításait. Például az olyan műveletek, mint például egy Azure Cosmos DB-fiók létrehozása, régió hozzáadása, átviteli sebesség frissítése, régió feladatátvétele, virtuális hálózat hozzáadása stb. a vezérlősík műveleteinek némelyike. Ez a cikk bemutatja, hogyan naplózhatja a vezérlősík-műveleteket az Azure Cosmos DB-ben. A vezérlősík-műveleteket az Azure Cosmos DB-fiókokon az Azure CLI, a PowerShell vagy az Azure Portal használatával futtathatja, míg tárolók esetében az Azure CLI-t vagy a PowerShellt.

Az alábbiakban néhány példaforgatókönyvet láthat, ahol a naplózási vezérlősík műveletei hasznosak:

  • Riasztást szeretne kapni az Azure Cosmos DB-fiók tűzfalszabályainak módosításakor. A riasztás szükséges ahhoz, hogy jogosulatlan módosításokat találjon az Azure Cosmos DB-fiók hálózati biztonságát szabályozó szabályokon, és gyors lépéseket tegyen.

  • Riasztást szeretne kapni, ha új régiót adnak hozzá vagy távolítanak el az Azure Cosmos DB-fiókból. A régiók hozzáadása vagy eltávolítása hatással van a számlázási és adatelkonvertitási követelményekre. Ez a riasztás segít észlelni a régió véletlen hozzáadását vagy eltávolítását a fiókjában.

  • További részleteket szeretne kapni a diagnosztikai naplókból arról, hogy mi változott. Például egy virtuális hálózatot módosítottak.

Kulcsalapú metaadatok írási hozzáférésének letiltása

Mielőtt az Azure Cosmos DB-ben naplózta a vezérlősík műveleteit, tiltsa le a kulcsalapú metaadatok írási hozzáférését a fiókjában. Ha a kulcsalapú metaadatok írási hozzáférése le van tiltva, a fiókkulcsokon keresztül az Azure Cosmos DB-fiókhoz csatlakozó ügyfelek nem férhetnek hozzá a fiókhoz. A tulajdonság igaz értékre állításával letilthatja az disableKeyBasedMetadataWriteAccess írási hozzáférést. A tulajdonság beállítása után bármely erőforrás módosítása a megfelelő Azure-szerepkörrel és hitelesítő adatokkal rendelkező felhasználótól történhet. A tulajdonság beállításáról további információt az SDK-k módosításainak megakadályozása című cikkben talál.

disableKeyBasedMetadataWriteAccess A bekapcsolás után, ha az SDK-alapú ügyfelek létrehozási vagy frissítési műveleteket futtatnak, a "ContainerNameorDatabaseName" erőforrás "POST" művelete nem engedélyezett az Azure Cosmos DB-végponton keresztül. Be kell kapcsolnia az ilyen műveletekhez való hozzáférést a fiókjához, vagy végre kell hajtania a létrehozási/frissítési műveleteket az Azure Resource Manager, az Azure CLI vagy az Azure PowerShell használatával. A visszaváltáshoz állítsa a disableKeyBasedMetadataWriteAccess beállítást hamisra az Azure CLI használatával, az Azure Cosmos DB SDK-ban végzett módosítások megakadályozása című cikkben leírtak szerint. Ügyeljen arra, hogy a hamis értéket disableKeyBasedMetadataWriteAccess igaz helyett hamis értékre módosítsa.

A metaadatok írási hozzáférésének kikapcsolásakor vegye figyelembe a következő szempontokat:

  • Értékelje ki és győződjön meg arról, hogy az alkalmazások nem kezdeményeznek olyan metaadat-hívásokat, amelyek módosítják a fenti erőforrásokat (például gyűjtést, átviteli sebességet, ...) az SDK vagy a fiókkulcsok használatával.

  • Ha disableKeyBasedMetadataWriteAccess igaz értékre van állítva, az SDK által kiadott metaadat-műveletek le lesznek tiltva. Másik lehetőségként az Azure Portal, az Azure CLI, az Azure PowerShell vagy az Azure Resource Manager-sablon üzembe helyezését is használhatja a műveletek végrehajtásához.

Diagnosztikai naplók engedélyezése vezérlősík-műveletekhez

Az Azure Portalon engedélyezheti a diagnosztikai naplókat a vezérlősík-műveletekhez. Az engedélyezés után a diagnosztikai naplók indítási párként rögzítik a műveletet, és a releváns részletekkel kiegészítik az eseményeket. A RegionFailoverStart és a RegionFailoverComplete például befejezi a régió feladatátvételi eseményét.

A következő lépésekkel engedélyezheti a naplózást a vezérlősíkon:

  1. Jelentkezzen be az Azure Portalra , és lépjen az Azure Cosmos DB-fiókjához.

  2. Nyissa meg a Diagnosztikai beállítások panelt, és adjon meg egy nevet a létrehozandó naplóknak.

  3. A naplótípushoz válassza a ControlPlaneRequests lehetőséget, majd a Küldés a Log Analyticsbe lehetőséget.

  4. Ha szükséges, küldje el a diagnosztikai naplókat az Azure Storage-nak, az Azure Event Hubsnak, az Azure Monitornak vagy egy harmadik félnek.

A naplókat egy tárfiókban is tárolhatja, vagy streamelhet egy eseményközpontba. Ez a cikk bemutatja, hogyan küldhet naplókat a log analyticsbe, majd kérdezheti le őket. Az engedélyezés után néhány percig tart, amíg a diagnosztikai naplók érvénybe lépnek. A pont után végrehajtott vezérlősík-műveletek nyomon követhetők. Az alábbi képernyőkép bemutatja, hogyan engedélyezheti a vezérlősík-naplókat:

Vezérlősík-kérelmek naplózásának engedélyezése

A vezérlősík műveleteinek megtekintése

A naplózás bekapcsolása után az alábbi lépésekkel nyomon követheti egy adott fiók műveleteit:

  1. Jelentkezzen be az Azure Portalra.

  2. Nyissa meg a Figyelés lapot a bal oldali navigációs sávon, majd válassza a Naplók panelt. Megnyitja a felhasználói felületet, ahol egyszerűen futtathat lekérdezéseket az adott fiókkal a hatókörben. Futtassa a következő lekérdezést a vezérlősík naplóinak megtekintéséhez:

    AzureDiagnostics
    | where ResourceProvider=="MICROSOFT.DOCUMENTDB" and Category=="ControlPlaneRequests"
    | where TimeGenerated >= ago(1h)
    

    Az alábbi képernyőképek naplókat rögzítenek, amikor egy Azure Cosmos DB-fiók konzisztenciaszintje módosul. Az activityId_g eredmények értéke eltér a művelet tevékenységazonosítójától:

    Síknaplók vezérlése virtuális hálózat hozzáadásakor

    Az alábbi képernyőképek naplókat rögzítenek, amikor létrejön a kulcstér vagy egy Cassandra-fiók táblája, és mikor frissül az átviteli sebesség. Az adatbázison és a tárolón végzett létrehozási és frissítési műveletek vezérlősík-naplói külön vannak naplózva, ahogyan az alábbi képernyőképen látható:

    A síknaplók vezérlése az átviteli sebesség frissítésekor

Egy adott művelethez társított identitás azonosítása

Ha további hibakeresést szeretne végezni, a tevékenységnaplóban activityId_g egy adott műveletet a művelet időbélyegével vagy időbélyegével azonosíthat. Az időbélyeg olyan Resource Manager-ügyfeleknél használatos, ahol a tevékenységazonosító nem explicit módon lett átadva. A tevékenységnapló részletesen ismerteti azt az identitást, amellyel a műveletet kezdeményezték. Az alábbi képernyőkép bemutatja, hogyan keresheti meg a activityId_g tevékenységnaplóban a hozzá társított műveleteket:

A tevékenységazonosító használata és a műveletek megkeresése

Az Azure Cosmos DB-fiók síkműveleteinek vezérlése

A fiók szintjén elérhető vezérlősík-műveletek a következők. A legtöbb művelet fiókszinten van nyomon követve. Ezek a műveletek metrikákként érhetők el az Azure Monitorban:

  • Régió hozzáadva
  • Régió el lett távolítva
  • Fiók törölve
  • A régió feladatátvétele
  • Létrehozott fiók
  • Virtuális hálózat törölve
  • A fiók hálózati beállításai frissülnek
  • Fiókreplikációs beállítások frissítve
  • Fiókkulcsok frissítve
  • A fiók biztonsági mentési beállításai frissülnek
  • Fiókdiagnosztikai beállítások frissítve

Vezérlősík-műveletek adatbázishoz vagy tárolókhoz

Az alábbi vezérlősík-műveletek érhetők el az adatbázis és a tároló szintjén. Ezek a műveletek metrikákként érhetők el az Azure Monitorban:

  • SQL Database létrehozva
  • Sql Database frissítve
  • Az SQL Database átviteli sebessége frissítve
  • SQL Database törölve
  • SQL-tároló létrehozva
  • SQL-tároló frissítve
  • Sql-tároló átviteli sebessége frissítve
  • SQL-tároló törölve
  • Cassandra Keyspace létrehozva
  • Cassandra Keyspace frissítve
  • A Cassandra keyspace átviteli sebessége frissítve
  • Cassandra Keyspace törölve
  • Cassandra tábla létrehozva
  • Cassandra tábla frissítve
  • Cassandra tábla átviteli sebessége frissítve
  • Cassandra tábla törölve
  • Gremlin Database létrehozva
  • Gremlin-adatbázis frissítve
  • Gremlin-adatbázis átviteli sebessége frissítve
  • Gremlin-adatbázis törölve
  • Gremlin Graph létrehozva
  • Gremlin Graph frissítve
  • Gremlin Graph átviteli sebesség frissítve
  • Gremlin Graph törölve
  • Mongo-adatbázis létrehozva
  • Mongo-adatbázis frissítve
  • Mongo-adatbázis átviteli sebessége frissítve
  • Mongo-adatbázis törölve
  • Mongo-gyűjtemény létrehozva
  • Mongo-gyűjtemény frissítve
  • Mongo-gyűjtemény átviteli sebessége frissítve
  • Mongo-gyűjtemény törölve
  • AzureTable-tábla létrehozva
  • AzureTable tábla frissítve
  • Az AzureTable table átviteli sebessége frissítve
  • AzureTable-tábla törölve

Diagnosztikai naplóműveletek

A különböző műveletek diagnosztikai naplóinak műveletnevei a következők:

  • RegionAddStart, RegionAddComplete
  • RegionRemoveStart, RegionRemoveComplete
  • AccountDeleteStart, AccountDeleteComplete
  • RegionFailoverStart, RegionFailoverComplete
  • AccountCreateStart, AccountCreateComplete
  • AccountUpdateStart, AccountUpdateComplete
  • VirtualNetworkDeleteStart, VirtualNetworkDeleteComplete
  • DiagnosticLogUpdateStart, DiagnosticLogUpdateComplete

AZ API-specifikus műveletek esetében a művelet neve a következő formátumban történik:

  • ApiKind + ApiKindResourceType + OperationType
  • ApiKind + ApiKindResourceType + "Átviteli sebesség" + operationType

Példa

  • CassandraKeyspacesCreate
  • CassandraKeyspacesUpdate
  • CassandraKeyspacesThroughputUpdate
  • SqlContainersUpdate

A ResourceDetails tulajdonság a teljes erőforrástörzset hasznos adatként tartalmazza, és tartalmazza a frissítéshez szükséges összes tulajdonságot

Diagnosztikai napló lekérdezései vezérlősík-műveletekhez

Az alábbiakban néhány példát láthat a vezérlősík-műveletek diagnosztikai naplóinak lekérésére:

AzureDiagnostics 
| where Category startswith "ControlPlane"
| where OperationName contains "Update"
| project httpstatusCode_s, statusCode_s, OperationName, resourceDetails_s, activityId_g
AzureDiagnostics 
| where Category =="ControlPlaneRequests"
| where TimeGenerated >= todatetime('2020-05-14T17:37:09.563Z')
| project TimeGenerated, OperationName, apiKind_s, apiKindResourceType_s, operationType_s, resourceDetails_s
AzureDiagnostics
| where Category == "ControlPlaneRequests"
| where OperationName startswith "SqlContainersUpdate"
AzureDiagnostics
| where Category == "ControlPlaneRequests"
| where OperationName startswith "SqlContainersThroughputUpdate"

Lekérdezés az activityId és a tárolótörlési műveletet kezdeményező hívó lekéréséhez:

(AzureDiagnostics
| where Category == "ControlPlaneRequests"
| where OperationName == "SqlContainersDelete"
| where TimeGenerated >= todatetime('9/3/2020, 5:30:29.300 PM')
| summarize by activityId_g )
| join (
AzureActivity
| parse HTTPRequest with * "clientRequestId\": \"" activityId_g "\"" * 
| summarize by Caller, HTTPRequest, activityId_g)
on activityId_g
| project Caller, activityId_g

Lekérdezés index- vagy ttl-frissítések lekéréséhez. Ezután összehasonlíthatja a lekérdezés kimenetét egy korábbi frissítéssel az index vagy a ttl változásának megtekintéséhez.

AzureDiagnostics
| where Category =="ControlPlaneRequests"
| where  OperationName == "SqlContainersUpdate"
| project resourceDetails_s

output:

{id:skewed,indexingPolicy:{automatic:true,indexingMode:consistent,includedPaths:[{path:/*,indexes:[]}],excludedPaths:[{path:/_etag/?}],compositeIndexes:[],spatialIndexes:[]},partitionKey:{paths:[/pk],kind:Hash},defaultTtl:1000000,uniqueKeyPolicy:{uniqueKeys:[]},conflictResolutionPolicy:{mode:LastWriterWins,conflictResolutionPath:/_ts,conflictResolutionProcedure:}

Következő lépések