Aceder aos registos de diagnóstico do Azure Data Lake Storage Gen1
Saiba como ativar o registo de diagnósticos para a sua conta do Azure Data Lake Storage Gen1 e como ver os registos recolhidos para a sua conta.
As organizações podem ativar o registo de diagnósticos para a conta Azure Data Lake Storage Gen1 para recolher registos de auditoria de acesso a dados que fornecem informações como a lista de utilizadores que acedem aos dados, a frequência com que os dados são acedidos, a quantidade de dados armazenados na conta, etc. Quando ativado, os diagnósticos e/ou pedidos são registados numa base de melhor esforço. As entradas de registo de Pedidos e Diagnósticos são criadas apenas se existirem pedidos feitos no ponto final de serviço.
Pré-requisitos
- Uma subscrição do Azure. Consulte Obter versão de avaliação gratuita do Azure.
- Azure Data Lake Storage conta Gen1. Siga as instruções em Introdução ao Azure Data Lake Storage Gen1 com o portal do Azure.
Ativar o registo de diagnósticos para a sua conta Data Lake Storage Gen1
Inicie sessão no novo portal do Azure.
Abra a sua conta Data Lake Storage Gen1 e, no painel da sua conta Data Lake Storage Gen1, clique em Definições de diagnóstico.
No painel Definições de diagnóstico, clique em Ativar diagnósticos.
No painel Definições de diagnóstico, faça as seguintes alterações para configurar o registo de diagnósticos.
Em Nome, introduza um valor para a configuração do registo de diagnósticos.
Pode optar por armazenar/processar os dados de formas diferentes.
Selecione a opção Arquivar numa conta de armazenamento para armazenar registos numa conta de Armazenamento do Azure. Utilize esta opção se quiser arquivar os dados que serão processados em lote posteriormente. Se selecionar esta opção, tem de fornecer uma conta de Armazenamento do Azure para guardar os registos.
Selecione a opção para Stream a um hub de eventos para transmitir dados de registo para um Hub de Eventos do Azure. O mais provável é que utilize esta opção se tiver um pipeline de processamento a jusante para analisar os registos recebidos em tempo real. Se selecionar esta opção, tem de fornecer os detalhes do Hub de Eventos do Azure que pretende utilizar.
Selecione a opção Enviar para o Log Analytics para utilizar o serviço Azure Monitor para analisar os dados de registo gerados. Se selecionar esta opção, tem de fornecer os detalhes da área de trabalho do Log Analytics que utilizaria para efetuar a análise de registos. Veja Ver ou analisar os dados recolhidos com os registos do Azure Monitor, procure detalhes sobre como utilizar os registos do Azure Monitor.
Especifique se pretende obter registos de auditoria, registos de pedidos ou ambos.
Especifique o número de dias durante os quais os dados têm de ser retidos. A retenção só é aplicável se estiver a utilizar a conta de armazenamento do Azure para arquivar dados de registo.
Clique em Guardar.
Depois de ativar as definições de diagnóstico, pode watch os registos no separador Registos de Diagnóstico.
Ver registos de diagnósticos da sua conta Data Lake Storage Gen1
Existem duas formas de ver os dados de registo da sua conta Data Lake Storage Gen1.
- Na vista de definições da conta Data Lake Storage Gen1
- A partir da conta de Armazenamento do Azure onde os dados são armazenados
Utilizar a vista Definições do Data Lake Storage Gen1
No painel Definições da conta Data Lake Storage Gen1, clique em Registos de Diagnóstico.
No painel Registos de Diagnóstico , deverá ver os registos categorizados por Registos de Auditoria e Registos de Pedidos.
- Os registos de pedidos capturam todos os pedidos de API efetuados na conta Data Lake Storage Gen1.
- Os Registos de Auditoria são semelhantes aos Registos de pedidos, mas fornecem uma discriminação muito mais detalhada das operações que estão a ser realizadas na conta Data Lake Storage Gen1. Por exemplo, uma única chamada à API de carregamento nos registos de pedidos pode resultar em várias operações "Acrescentar" nos registos de auditoria.
Para transferir os registos, clique na ligação Transferir em cada entrada de registo.
A partir da conta de Armazenamento do Azure que contém dados de registo
Abra o painel Conta de armazenamento do Azure associada a Data Lake Storage Gen1 para registo e, em seguida, clique em Blobs. O painel serviço Blob lista dois contentores.
- O contentor insights-logs-audit contém os registos de auditoria.
- O contentor insights-logs-requests contém os registos de pedidos.
Nestes contentores, os registos são armazenados na seguinte estrutura.
Por exemplo, o caminho completo para um registo de auditoria pode ser
https://adllogs.blob.core.windows.net/insights-logs-audit/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/mydatalakestorage/y=2016/m=07/d=18/h=04/m=00/PT1H.json
Da mesma forma, o caminho completo para um registo de pedidos pode ser
https://adllogs.blob.core.windows.net/insights-logs-requests/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/mydatalakestorage/y=2016/m=07/d=18/h=14/m=00/PT1H.json
Compreender a estrutura dos dados de registo
Os registos de auditoria e pedido estão num formato JSON. Nesta secção, vamos analisar a estrutura do JSON para registos de pedidos e auditorias.
Registos de pedidos
Eis uma entrada de exemplo no registo de pedidos formatado em JSON. Cada blob tem um objeto de raiz chamado registos que contém uma matriz de objetos de registo.
{
"records":
[
. . . .
,
{
"time": "2016-07-07T21:02:53.456Z",
"resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/<data_lake_storage_gen1_account_name>",
"category": "Requests",
"operationName": "GETCustomerIngressEgress",
"resultType": "200",
"callerIpAddress": "::ffff:1.1.1.1",
"correlationId": "4a11c709-05f5-417c-a98d-6e81b3e29c58",
"identity": "1808bd5f-62af-45f4-89d8-03c5e81bac30",
"properties": {"HttpMethod":"GET","Path":"/webhdfs/v1/Samples/Outputs/Drivers.csv","RequestContentLength":0,"StoreIngressSize":0 ,"StoreEgressSize":4096,"ClientRequestId":"3b7adbd9-3519-4f28-a61c-bd89506163b8","StartTime":"2016-07-07T21:02:52.472Z","EndTime":"2016-07-07T21:02:53.456Z","QueryParameters":"api-version=<version>&op=<operationName>"}
}
,
. . . .
]
}
Pedir esquema de registo
Nome | Tipo | Description |
---|---|---|
hora | String | O carimbo de data/hora (em UTC) do registo |
resourceId | String | O ID do recurso em que a operação ocorreu |
categoria | String | A categoria de registo. Por exemplo, Pedidos. |
operationName | String | Nome da operação registada. Por exemplo, getfilestatus. |
resultType | String | O estado da operação, por exemplo, 200. |
callerIpAddress | String | O endereço IP do cliente que faz o pedido |
correlationId | String | O ID do registo que pode ser utilizado para agrupar um conjunto de entradas de registo relacionadas |
identidade | Objeto | A identidade que gerou o registo |
propriedades | JSON | Veja abaixo para obter detalhes |
Pedir esquema de propriedades do registo
Nome | Tipo | Description |
---|---|---|
HttpMethod | String | O Método HTTP utilizado para a operação. Por exemplo, GET. |
Caminho | String | O caminho no qual a operação foi executada |
RequestContentLength | int | A duração do conteúdo do pedido HTTP |
ClientRequestId | String | O ID que identifica exclusivamente este pedido |
StartTime | String | O momento em que o servidor recebeu o pedido |
EndTime | String | O momento em que o servidor enviou uma resposta |
StoreIngressSize | Longo | Tamanho em bytes ingressados no Data Lake Store |
StoreEgressSize | Longo | Tamanho em bytes de saída do Data Lake Store |
QueryParameters | String | Descrição: estes são os parâmetros de consulta http. Exemplo 1: api-version=2014-01-01&op=getfilestatus Exemplo 2: op=APPEND&append=true&syncFlag=DATA&filesessionid=bee3355a-4925-4435-bb4d-ceea52811aeb&leaseid=bee3355a-4925-4435-bb4d-ceea52811aeb&offset=28313319&api-version=2017-08-01 |
Registos de auditoria
Eis uma entrada de exemplo no registo de auditoria formatado em JSON. Cada blob tem um objeto de raiz chamado registos que contém uma matriz de objetos de registo
{
"records":
[
. . . .
,
{
"time": "2016-07-08T19:08:59.359Z",
"resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/<data_lake_storage_gen1_account_name>",
"category": "Audit",
"operationName": "SeOpenStream",
"resultType": "0",
"resultSignature": "0",
"correlationId": "381110fc03534e1cb99ec52376ceebdf;Append_BrEKAmg;25.66.9.145",
"identity": "A9DAFFAF-FFEE-4BB5-A4A0-1B6CBBF24355",
"properties": {"StreamName":"adl://<data_lake_storage_gen1_account_name>.azuredatalakestore.net/logs.csv"}
}
,
. . . .
]
}
Esquema de registo de auditoria
Nome | Tipo | Description |
---|---|---|
hora | String | O carimbo de data/hora (em UTC) do registo |
resourceId | String | O ID do recurso em que a operação ocorreu |
categoria | String | A categoria de registo. Por exemplo, Auditoria. |
operationName | String | Nome da operação registada. Por exemplo, getfilestatus. |
resultType | String | O estado da operação, por exemplo, 200. |
resultSignature | String | Detalhes adicionais sobre a operação. |
correlationId | String | O ID do registo que pode ser utilizado para agrupar um conjunto de entradas de registo relacionadas |
identidade | Objeto | A identidade que gerou o registo |
propriedades | JSON | Veja abaixo para obter detalhes |
Esquema de propriedades do registo de auditoria
Nome | Tipo | Description |
---|---|---|
StreamName | String | O caminho no qual a operação foi executada |
Exemplos para processar os dados de registo
Ao enviar registos do Azure Data Lake Storage Gen1 para os registos do Azure Monitor (consulte Ver ou analisar dados recolhidos com os registos do Azure Monitor procurar detalhes sobre como utilizar os registos do Azure Monitor), a seguinte consulta devolverá uma tabela que contém uma lista de nomes a apresentar pelo utilizador, a hora dos eventos e a contagem de eventos para a hora do evento juntamente com um gráfico visual. Pode ser facilmente modificado para mostrar o GUID do utilizador ou outros atributos:
search *
| where ( Type == "AzureDiagnostics" )
| summarize count(TimeGenerated) by identity_s, TimeGenerated
Azure Data Lake Storage Gen1 fornece um exemplo sobre como processar e analisar os dados de registo. Pode encontrar o exemplo em https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.