Ajánlott eljárások az Azure Queue Storage monitorozásához
Ez a cikk a Queue Storage gyakori monitorozási forgatókönyveinek gyűjteményét tartalmazza, és gyakorlati tanácsokkal szolgál ezek végrehajtásához.
Üzenetszám figyelése az egyes üzenetsorokban
A metrika használatával figyelheti a tárfiók összes üzenetsorának üzenetszámát QueueMessageCount
. Ez a metrika naponta frissül.
Ha PowerShellt használ, az alábbihoz hasonló parancsot használhat:
(Get-AzMetric -ResourceId /subscriptions/xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/contosogroup/providers/Microsoft.Storage/storageAccounts/contoso/queueServices/default -MetricName "QueueMessageCount").data.Average
Ha dinamikusan kell meghatároznia, hogy a számítási feladatokat az üzenetkötet kezeléséhez szeretné-e módosítani, lekérdezheti az egyes üzenetsorok hozzávetőleges üzenetszámát, majd a megfelelő művelettel válaszolhat. Az üzenetsor metaadatainak lekérése REST művelettel vagy a támogatott Blob Storage SDK-k bármelyikével lekérheti a hozzávetőleges üzenetszámot.
Az alábbi példa az Azure Storage .NET v12 kódtárat használja a hozzávetőleges üzenetszám lekéréséhez.
static async Task<string> RetrieveNextMessageAsync(QueueClient theQueue)
{
if (await theQueue.ExistsAsync())
{
QueueProperties properties = await theQueue.GetPropertiesAsync();
if (properties.ApproximateMessagesCount > 0)
{
QueueMessage[] retrievedMessage = await theQueue.ReceiveMessagesAsync(1);
string theMessage = retrievedMessage[0].MessageText;
await theQueue.DeleteMessageAsync(retrievedMessage[0].MessageId, retrievedMessage[0].PopReceipt);
return theMessage;
}
return null;
}
return null;
}
Fontolja meg a Service Bus használatát is, amely entitásonként támogatja az üzeneteket. További információ: Az Azure Service Bus adathivatkozásának figyelése.
Audit account activity
Sok esetben a tárfiókok tevékenységeit kell naplóznia a biztonság és a megfelelőség érdekében. A tárfiókokon végzett műveletek két kategóriába sorolhatók: vezérlősík és adatsík.
A vezérlősík-művelet bármely Azure Resource Manager-kérés, amely egy tárfiók létrehozására vagy egy meglévő tárfiók tulajdonságának frissítésére kéri. További információ: Azure Resource Manager.
Az adatsík-művelet a tárfiók adatain végzett olyan művelet, amely a tárolási szolgáltatás végpontjára irányuló kérésből ered. Például egy adatsík-művelet akkor lesz végrehajtva, amikor üzenetet ad hozzá az üzenetsorhoz. További információ: Azure Storage API.
A szakasz bemutatja, hogyan azonosíthatja a vezérlő- és adatsík-műveletek "mikor", "ki", "what" és "how" adatait.
A vezérlősík műveleteinek naplózása
A Resource Manager-műveleteket az Azure-tevékenységnapló rögzíti. A tevékenységnapló megtekintéséhez nyissa meg a tárfiókot az Azure Portalon, majd válassza a Tevékenységnapló lehetőséget.
Nyisson meg minden naplóbejegyzést a tevékenységet leíró JSON megtekintéséhez. A következő JSON egy vezérlősík-művelet "mikor", "what" és "how" információját mutatja be:
A "who" információk elérhetősége a vezérlősík-művelet végrehajtásához használt hitelesítési módszertől függ. Ha az engedélyezést egy Microsoft Entra biztonsági tag végezte el, az adott biztonsági tag objektumazonosítója is megjelenik ebben a JSON-kimenetben (például: "http://schemas.microsoft.com/identity/claims/objectidentifier": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
). Mivel előfordulhat, hogy nem mindig jelenik meg más identitással kapcsolatos információ, például e-mail-cím vagy név, az objektumazonosító mindig a legjobb módszer a biztonsági tag egyedi azonosítására.
A biztonsági tag rövid nevét az objektumazonosító értékének figyelembe vételével és a biztonsági tag megkeresésével találja meg az Azure Portal Microsoft Entra ID lapján. Az alábbi képernyőképen egy keresési eredmény látható a Microsoft Entra-azonosítóban.
Adatsík-műveletek naplózása
Az adatsík-műveletek a Storage Azure-erőforrásnaplóiban vannak rögzítve. A diagnosztikai beállítás konfigurálható úgy, hogy naplókat exportáljon a Log Analytics-munkaterületre natív lekérdezési élmény érdekében.
Íme egy Log Analytics-lekérdezés, amely lekéri a "mikor", a "who", a "what" és a "how" adatokat a naplóbejegyzések listájában.
StorageQueueLogs
| where TimeGenerated > ago(3d)
| project TimeGenerated, AuthenticationType, RequesterObjectId, OperationName, Uri
A napló "mikor" részében a TimeGenerated
mező azt mutatja, hogy mikor lett rögzítve a naplóbejegyzés.
Az audit "what" része esetén a Uri
mező azt mutatja, hogy az elem módosult vagy beolvasva lett.
Az audit "how" részében a OperationName
mező azt mutatja, hogy melyik műveletet hajtották végre.
Az audit "who" részében látható, AuthenticationType
hogy milyen típusú hitelesítést használtak a kérések teljesítéséhez. Ez a mező megjelenítheti az Azure Storage által támogatott hitelesítési típusokat, beleértve a fiókkulcsok, SAS-jogkivonatok vagy Microsoft Entra-hitelesítés használatát.
Ha egy kérés hitelesítése a Microsoft Entra-azonosítóval történt, a RequesterObjectId
mező biztosítja a legmegbízhatóbb módot a biztonsági tag azonosítására. A biztonsági tag rövid nevét a mező értékének RequesterObjectId
figyelembe vételével és a biztonsági tag megkeresésével találja meg az Azure Portal Microsoft Entra ID oldalán. Az alábbi képernyőképen egy keresési eredmény látható a Microsoft Entra-azonosítóban.
Bizonyos esetekben előfordulhat, hogy a naplókban egy egyszerű felhasználónév vagy egyszerű felhasználónév jelenik meg. Ha például a biztonsági tag Egy Microsoft Entra-felhasználó, az UPN valószínűleg megjelenik. Más típusú biztonsági tagok, például a felhasználó által hozzárendelt felügyelt identitások, vagy bizonyos esetekben, például a Microsoft Entra-bérlők közötti hitelesítés esetén az UPN nem jelenik meg a naplókban.
Ez a lekérdezés az OAuth biztonsági tagok által végrehajtott összes írási műveletet megjeleníti.
StorageQueueLogs
| where TimeGenerated > ago(3d)
and OperationName == "PutMessage"
and AuthenticationType == "OAuth"
| project TimeGenerated, AuthenticationType, RequesterObjectId, OperationName, Uri
A megosztott kulcs és SAS-hitelesítés nem biztosít lehetőséget az egyéni identitások naplózására. Ezért ha javítani szeretné az identitáson alapuló naplózási képességet, javasoljuk, hogy váltson a Microsoft Entra-azonosítóra, és tiltsa meg a megosztott kulcs- és SAS-hitelesítést. A megosztott kulcs és SAS-hitelesítés megelőzésének módjáról az Azure Storage-fiók megosztott kulcsának engedélyezésének megakadályozása című témakörben olvashat. A Microsoft Entra ID használatának megkezdéséhez lásd : Blobok hozzáférésének engedélyezése a Microsoft Entra-azonosítóval
A ritkán használt lekérdezések költségeinek optimalizálása
A logokat a Log Analyticsbe exportálhatja a natív lekérdezési képességek érdekében. Ha a tárfiókon jelentős tranzakciók vannak, a naplók Log Analytics-lel való használatának költsége magas lehet. Tekintse meg az Azure Log Analytics díjszabását. Ha csak alkalmanként szeretne naplókat lekérdezni (például a megfelelőségi naplózás lekérdezési naplóit), fontolja meg a teljes költség csökkentését a naplók tárfiókba való exportálásával, majd egy kiszolgáló nélküli lekérdezési megoldás használatával a naplóadatokon, például az Azure Synapse-on.
Az Azure Synapse használatával kiszolgáló nélküli SQL-készletet hozhat létre a naplóadatok lekérdezéséhez, ha szükséges. Ez jelentősen csökkentheti a költségeket.
Naplók exportálása tárfiókba. Lásd: Diagnosztikai beállítás létrehozása.
Synapse-munkaterület létrehozása és konfigurálása. See Quickstart: Create a Synapse workspace.
Query logs. Lásd: JSON-fájlok lekérdezése kiszolgáló nélküli SQL-készlet használatával az Azure Synapse Analyticsben.
Here's an example:
select JSON_VALUE(doc, '$.time') AS time, JSON_VALUE(doc, '$.properties.accountName') AS accountName, JSON_VALUE(doc, '$.identity.type') AS identityType, JSON_VALUE(doc, '$.identity.requester.objectId') AS requesterObjectId, JSON_VALUE(doc, '$.operationName') AS operationName, JSON_VALUE(doc, '$.callerIpAddress') AS callerIpAddress, JSON_VALUE(doc, '$.uri') AS uri doc from openrowset( bulk 'https://demo2uswest4log.blob.core.windows.net/insights-logs-storageread/resourceId=/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/mytestrp/providers/Microsoft.Storage/storageAccounts/demo2uswest/blobServices/default/y=2021/m=03/d=19/h=*/m=*/PT1H.json', format = 'csv', fieldterminator ='0x0b', fieldquote = '0x0b' ) with (doc nvarchar(max)) as rows order by JSON_VALUE(doc, '$.time') desc
Kapcsolódó információk
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: