Carregar dados de uso no Azure no modo indireto

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

Observação

As informações de uso são carregadas automaticamente no controlador de dados do Azure Arc implantado no modo de conectividade direta. As instruções deste artigo só se aplicam ao upload das informações de uso do controlador de dados do Azure Arc implantado no modo de conectividade indireta.

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:

Observação

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

O comando cria o arquivo usage.json com todos os recursos de dados habilitados para Azure Arc que são criados no controlador de dados, como instâncias gerenciadas de SQL e instâncias do PostgreSQL etc.

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. Os resources são o controlador de dados, o PostgreSQL e Instâncias Gerenciadas de 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": "482c901a-129a-4f5d-86e3-cc6b294590b2",
        "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": "482c901a-129a-4f5d-86e3-cc6b294590b2",
          "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
    

Frequência de upload

No modo indireto, as informações de uso precisam ser carregadas no Azure pelo menos uma vez a cada 30 dias. É 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..

Observação

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 carregamentos (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. Confira abaixo um exemplo de como automatizar os uploads 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

Tornar 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 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