Compartilhar via


Upload usage data to Azure in indirect mode

Periodicamente, você pode exportar informações de uso. A exportação e o upload dessas informações criam e atualizam o controlador de dados e a instância gerenciada de SQL.

Note

Usage information is automatically uploaded for Azure Arc data controller deployed in direct connectivity mode. The instructions in this article only apply to uploading usage information for Azure Arc data controller deployed in indirect connectivity mode..

Aguarde pelo menos 24 horas depois de criar o controlador de dados do Azure Arc para carregar dados de uso.

Criar uma entidade de serviço e atribuir funções

Antes de prosseguir, você precisa ter criado a entidade de serviço principal e atribuído a função apropriada a ela. Para obter detalhes, confira:

Os exemplos neste artigo usam colchetes angulares < ... > para identificar valores que você precisa substituir antes de executar o script. Substitua os colchetes e os valores dentro dos colchetes.

Carregar dados de uso

Informações de uso, como inventário e uso de recursos, podem ser carregadas no Azure na seguinte maneira de duas etapas:

  1. Exporte os dados de uso usando o comando az arcdata dc export, da seguinte maneira:

Note

Para exportar métricas, logs e informações de uso/faturamento, o uso do comando az arcdata dc export requer bypass da verificação SSL por enquanto. Será solicitado o bypass da verificação SSL, ou é possível definir a variável de ambiente AZDATA_VERIFY_SSL=no para evitar a solicitação. No momento, não é possível configurar um certificado SSL para a API de exportação do controlador de dados.

az arcdata dc export --type usage --path usage.json --k8s-namespace <namespace> --use-k8s

Esse comando cria um usage.json arquivo com todos os recursos de dados habilitados para Azure Arc, como instâncias gerenciadas de SQL que são criadas no controlador de dados.

Por enquanto, o arquivo não está criptografado, para que você possa ver o conteúdo. Para ver o conteúdo, abra o arquivo em um editor de texto.

Você vai notar que há dois conjuntos de dados: resources e data. As resources são o controlador de dados e as Instâncias Gerenciadas do SQL. Os registros resources nesses dados capturam os eventos relevantes no histórico de um recurso – quando ele foi criado, quando foi atualizado e quando foi excluído. Os registros data capturam quantos núcleos estavam disponíveis para serem usados em uma determinada instância para cada hora.

Exemplo de uma entrada do tipo resource:

    {
        "customObjectName": "<resource type>-2020-29-5-23-13-17-164711",
        "uid": "4bc3dc6b-9148-4c7a-b7dc-01afc1ef5373",
        "instanceName": "sqlInstance001",
        "instanceNamespace": "arc",
        "instanceType": "<resource>",
        "location": "eastus",
        "resourceGroupName": "production-resources",
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "isDeleted": false,
        "externalEndpoint": "32.191.39.83:1433",
        "vCores": "2",
        "createTimestamp": "05/29/2020 23:13:17",
        "updateTimestamp": "05/29/2020 23:13:17"
    }

Exemplo de uma entrada do tipo data:

        {
          "requestType": "usageUpload",
          "clusterId": "4b0917dd-e003-480e-ae74-1a8bb5e36b5d",
          "name": "DataControllerTestName",
          "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
          "resourceGroup": "production-resources",
          "location": "eastus",
          "uploadRequest": {
            "exportType": "usages",
            "dataTimestamp": "2020-06-17T22:32:24Z",
            "data": "[{\"name\":\"sqlInstance001\",
                       \"namespace\":\"arc\",
                       \"type\":\"<resource type>\",
                       \"eventSequence\":1, 
                       \"eventId\":\"50DF90E8-FC2C-4BBF-B245-CB20DC97FF24\",
                       \"startTime\":\"2020-06-17T19:11:47.7533333\",
                       \"endTime\":\"2020-06-17T19:59:00\",
                       \"quantity\":1,
                       \"id\":\"4BC3DC6B-9148-4C7A-B7DC-01AFC1EF5373\"}]",
           "signature":"MIIE7gYJKoZIhvcNAQ...2xXqkK"
          }
        }
  1. Carregar os dados de uso usando o comando upload.

    az arcdata dc upload --path usage.json
    

Upload frequency

In the indirect mode, usage information needs to be uploaded to Azure at least once in every 30 days. É altamente recomendável carregar com mais frequência, como diariamente. Se informações de uso não forem carregadas em 32 dias, você verá alguma degradação no serviço, por exemplo, não conseguir provisionar novos recursos.

Haverá dois tipos de notificações de uploads de uso atrasados: fase de aviso e fase de degradação. Na fase de aviso, haverá uma mensagem como Billing data for the Azure Arc data controller has not been uploaded in {0} hours. Please upload billing data as soon as possible..

Na fase de degradação, a mensagem será semelhante a Billing data for the Azure Arc data controller has not been uploaded in {0} hours. Some functionality will not be available until the billing data is uploaded..

Note

Você verá a mensagem de aviso se o uso não tiver sido carregado por mais de 48 horas.

A página de visão geral do portal do Azure para o Controlador de Dados e o status do Recurso Personalizado do Controlador de Dados no cluster do Kubernetes indicarão a data do último upload e as mensagens de status.

Automatizar uploads (opcional)

Se você quiser carregar as métricas e os logs de maneira agendada, crie um script e execute-o em um temporizador a cada poucos minutos. Veja abaixo um exemplo de como automatizar os carregamentos usando um script de shell do Linux.

No seu editor de texto/código favorito, adicione o script a seguir ao arquivo e salve como um arquivo executável de script, como .sh (Linux/Mac) ou .cmd, .bat ou .ps1.

az arcdata dc export --type usage --path usage.json --force --k8s-namespace <namespace> --use-k8s
az arcdata dc upload --path usage.json

Torne o arquivo de script executável

chmod +x myuploadscript.sh

Execute o script todos os dias para uso:

watch -n 1200 ./myuploadscript.sh

Você também pode usar um agendador de trabalho como cron ou um Agendador de Tarefas do Windows ou um orquestrador como Ansible, Puppet ou Chef.

Carregar métricas e logs no Azure Monitor

Carregar logs para o Azure Monitor

Carregar dados de cobrança no Azure e exibi-los no portal do Azure

Exibir recurso do controlador de dados do Azure Arc no portal do Azure