Como ver relatórios de uso

Com o Google Compute Engine, é possível exportar relatórios detalhados de uso dessa plataforma para um intervalo do Google Cloud Storage utilizando o recurso correspondente. Os relatórios de uso fornecem informações sobre a duração dos seus recursos. Por exemplo, você pode ver quantas instâncias estão executando uma imagem n1-standard-1 e quanto tempo de execução cada uma delas tem. Relatórios de uso não fornecem informações de faturamento nem de atividade, como informações sobre solicitações de API. Para ver informações de faturamento, consulte o recurso exportação de faturamento. Para ver os registros de atividade, consulte Registros de atividade.

Os registros de uso estão disponíveis como arquivos CSV na página de configurações do Compute Engine. Esses registros contêm descrições do uso no nível do recurso, como tempo de execução de uma instância de máquina virtual e o espaço de armazenamento de um disco permanente, além de informações sobre outros recursos do Compute Engine.

Antes de começar

Visão geral

Ao ativar os relatórios de uso, o Compute Engine envia dois tipos de relatórios para o intervalo do Google Cloud Storage que você especificar:

  1. Relatórios de uso diário

    Esses relatórios são enviados diariamente e incluem dados de uso do dia anterior. Cada relatório é um arquivo separado que contém os dados do último período. Os dados nesses relatórios são imutáveis, o que significa que o Compute Engine não atualizará nem regravará o arquivo de registro em caso de imprecisões. Em vez disso, os dados serão corrigidos no próximo relatório novo que for enviado ao intervalo.

    Relatórios de uso diário têm o seguinte formato de nome:

    <bucket>/<report_prefix>_<numeric_project_id>_<YYYYMMDD>.csv
    
  2. Relatório cumulativo mensal

    Um único relatório cumulativo mensal é enviado diariamente, contendo dados mensais de uso para o projeto até o dia, sem incluí-lo. O relatório de uso mensal é substituído a cada dia com novos dados que refletem o uso mensal de recursos até aquela data. Haverá apenas um arquivo mensal de dados de uso por projeto e por mês.

    Relatórios cumulativos mensais têm o formato de nome a seguir:

    <bucket>/<report_prefix>_<numeric_project_id>_<YYYYMM>.csv
    

    Os arquivos de relatórios diário e mensal são muito parecidos, exceto pela diferença no formato da data. Os relatórios cumulativos mensais são datados usando o ano e o mês (YYYYMM) e os relatórios de uso diário são datados usando o ano, o mês e o dia (YYYYMMDD).

Todos os relatórios de uso são enviados no formato de valores separados por vírgulas (CSV, na sigla em inglês, link em inglês), e os arquivos de relatório de uso recebem o prefixo <report_prefix>. <report_prefix> é um valor personalizável escolhido pelo usuário. Se você não especificar um prefixo de relatório, o prefixo usage_gce será usado por padrão. Todos os horários são indicados no horário do Pacífico (PST, na sigla em inglês).

Métricas compatíveis

Os relatórios de uso diário fornecem informações de uso sobre os recursos a seguir:

  • Máquinas virtuais
  • Discos permanentes
  • Imagens
  • Instantâneos
  • Endereços IP estáticos
  • Balanceadores de carga

Cada recurso é descrito usando as métricas a seguir:

Nome da métrica Propriedades da métrica
Data do relatório
  • Tipo de métrica: string
  • Descrição: a data do uso.
  • Exemplo: 2013-08-15
MeasurementId
  • Tipo de métrica: string
  • Descrição: o ID do tipo de recurso que está sendo medido. Por exemplo, VmimageN1Standard_1 para representar um tipo de máquina n1-standard-1.
  • Exemplo: com.google.cloud/services/compute‑engine/VmimageN1Standard_1
Quantity
  • Tipo de métrica: inteiro
  • Descrição: a quantidade de uso na data especificada.
  • Exemplo: 86400
Unit
  • Tipo de métrica: string
  • Descrição: o tipo de unidade, como contagem, segundos, horas e assim por diante.
  • Exemplo: segundos
Resource URI
  • Tipo de métrica: string
  • Descrição: o URI do recurso especificado
  • Exemplo: https://compute.googleapis.com/compute/v1/projects/<project‑id>/zones/<zone>/instances/<instance>
ResourceId
  • Tipo de métrica: inteiro
  • Descrição: um ID numérico que identifica o recurso específico.
  • Exemplo: 16557630484925648021
Local
  • Tipo de métrica: string
  • Descrição: a localização do recurso. Pode ser o nome da zona ou da região, ou GLOBAL para recursos globais.
  • Exemplo: us-central1-a

Este é um exemplo de entrada no relatório:

Data do relatório MeasurementId Quantity Unit Resource URI Resource ID Local
02/13/2014 com.google.cloud/services/compute-engine/VmimageN1Standard_1 86400 segundos https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/my-instance 16557630484 us-central1-a

Controle de acesso

Ao ativar o recurso de exportação de uso para um intervalo do Cloud Storage, o Compute Engine automaticamente adiciona a si mesmo ao intervalo para enviar relatórios de uso. Enquanto o Compute Engine tiver acesso ao intervalo e o recurso de exportação de uso estiver ativado, o Compute Engine continuará a exportar relatórios de uso para o intervalo especificado do Cloud Storage.

Se o Compute Engine tiver acesso a um intervalo, você verá a identidade a seguir adicionada à lista de controle de acesso do intervalo:

cloud-cluster-analytics-export@google.com

Qualquer usuário que seja proprietário do projeto tem acesso completo ao intervalo do Google Cloud Storage. Outros usuários, como gravadores e leitores, têm diferentes graus de acesso ao intervalo. Para saber mais sobre ACLs de um intervalo, leia a documentação sobre controle de acesso do Cloud Storage.

Se você desativar o recurso de exportação de uso, o Compute Engine removerá automaticamente o acesso de gravação do Compute Engine no intervalo. Se você modificar as permissões na conta cloud-cluster-analytics-export@google.com e desativar o recurso de exportação de uso, o Compute Engine desativará o recurso de exportação de uso, mas não removerá a conta da lista de acesso do projeto. Se desejar, você poderá remover a conta manualmente.

Pré-requisitos

Antes de usar a exportação de uso do Compute Engine, você precisa se inscrever no Google Cloud Storage, caso ainda não tenha feito isso.

Como configurar a exportação de uso

Quando você ativar o recurso de exportação de uso, o primeiro relatório será enviado no dia seguinte detalhando o uso do dia anterior. Depois disso, você receberá relatórios em intervalos de 24 horas.

Para configurar o serviço de exportação de uso, ative-o na ferramenta gcloud compute: Ao ativar o recurso, é preciso definir duas propriedades:

  1. O intervalo do Google Cloud Storage para onde quer que os relatórios sejam enviados.

    É possível selecionar qualquer intervalo do Cloud Storage de que seja proprietário, incluindo intervalos de projetos diferentes. Esse intervalo deve existir antes que você possa começar a exportar relatórios. Além disso, você deve ter acesso de proprietário no intervalo. O Google Cloud Storage cobra pelo uso, portanto, revise a página de preços do Cloud Storage para ver informações sobre como poderá incorrer em custos pelo serviço.

    Qualquer usuário que tenha acesso de leitura no intervalo do Cloud Storage poderá ver os relatórios de uso armazenados nele. Qualquer usuário que tenha acesso de gravação no intervalo poderá criar, ver e modificar arquivos existentes nele. Para mais informações, consulte a seção Controle de acesso.

  2. O prefixo de relatório dos arquivos.

    Você pode especificar o prefixo de relatório para os seus relatórios de uso. Os relatórios de uso terão nomes de arquivo contendo esse prefixo. Por exemplo, especificar "my-cool-project-report" como o prefixo de relatório resulta em um nome de arquivo semelhante a my-cool-project-report_1234567890_20131230.csv. Se você não especificar um prefixo de relatório, será usado o prefixo padrão usage_gce.

Depois de decidir sobre essas duas propriedades, será possível ativar o recurso de exportação de uso das maneiras a seguir:

Console


  1. Acesse a página Configurações do Compute Engine (em inglês)
  2. Clique em Ativar exportação de uso.
  3. Preencha os campos que solicitam um Nome de intervalo e um Prefixo do relatório, se preferir. Se você não informar o prefixo de relatório, será usado o prefixo padrão usage_gce.
  4. Clique em Salvar.

gcloud


Em gcloud compute, use o comando gcloud compute project-info set-usage-bucket para ativar este recurso:

 gcloud compute project-info set-usage-bucket --bucket URI [--prefix PREFIX]

O URI do intervalo pode estar no formato gs://<bucket-name> ou https://storage.googleapis.com/<bucket-name>.

API

Bibliotecas de cliente

Usando as bibliotecas de cliente, configure o método setUsageExportBucket() na coleção Projects para ativar a exportação de uso. Por exemplo, na Biblioteca de cliente Python, ative o recurso da maneira a seguir:

def setUsageExport(gce_service, auth_http):
  body = {
    "bucketName": "https://storage.googleapis.com/usage-export-sample",
    "reportNamePrefix": "exampleprefix"
  }

request = gce_service.projects().setUsageExportBucket(project=PROJECT_ID, body=body)
response = request.execute(http=auth_http)

print response

HTTP

Também é possível fazer uma solicitação HTTP diretamente para o método setUsageExportBucket. O exemplo a seguir usa a biblioteca httplib2 para ativar a exportação de uso:

#!/usr/bin/python

import urllib
import argparse
import logging
import sys
import random
from json import load,dumps
...

PROJECT_ID = "myproject"
API_VERSION = "v1"
API_URL = "https://compute.googleapis.com/compute/" + API_VERSION + "/projects/" + PROJECT_ID
OAUTH_FILE = "oauth-dev.dat"

def main(argv):
  logging.basicConfig(level=logging.INFO)

  parser = argparse.ArgumentParser(
    description=__doc__,
    formatter_class=argparse.RawDescriptionHelpFormatter,
    parents=[tools.argparser])

  # Parse the command-line flags.
  flags = parser.parse_args(argv[1:])

  http = httplib2.Http()

  # Add code to authenticate to the service
  ....

  url = API_URL + "/setUsageExportBucket"

  body = {
    "bucketName": "https://storage.googleapis.com/usage-export-sample",
    "reportNamePrefix": "exampleprefix"
  }

  formattedBody = dumps(body)
  resp,content = http.request(url,
                              "POST",
                              headers=listOfHeaders,
                              body=formattedBody)

  print str(content)

if __name__ == "__main__":
    main(sys.argv)

Para mais informações, consulte a documentação de referência da API.

Verificar se os relatórios de uso estão ativados

É possível verificar as configurações de exportação de uso de um projeto buscando informações sobre ele:

gcloud compute project-info describe

Procure o campo usageExportLocation:

+-------------------------+----------------------------------------------------+
| name                    | myproject                                          |
| description             |                                                    |
| creation-time           | 2012-10-18T16:31:52.308-07:00                      |
| usage                   |                                                    |
|   snapshots             | 1.0/1000.0                                         |
|   networks              | 2.0/2.0                                            |
|   firewalls             | 3.0/10.0                                           |
|...                      |                                                    |
| usageExportLocation     |                                                    |
|   bucketName            | https://storage.googleapis.com/usage-export-sample |
|   reportNamePrefix      |                                                    |
+-------------------------+----------------------------------------------------+

Desativar relatórios de uso

Ao desativar os relatórios de uso, o Compute Engine automaticamente remove o acesso de gravação do Compute Engine ao seu intervalo do Cloud Storage e interrompe o envio de novos relatórios.

Console


  1. Acesse a página Configurações do Compute Engine (em inglês)
  2. Clique em Desativar exportação de uso.

gcloud


Em gcloud compute, desative o recurso de exportação de uso usando o comando gcloud compute project-info set-usage-bucket com a sinalização --no-bucket:

gcloud compute project-info set-usage-bucket --no-bucket

API

Bibliotecas de cliente

Para usar as bibliotecas de cliente, faça uma solicitação para o método setUsageExportBucket() com um nome de intervalo em branco. Por exemplo, na Biblioteca de cliente Python, desative o recurso da maneira a seguir:

def disableUsageExport(gce_service, auth_http):
  body = {
    "bucketName": "",
}

request = gce_service.projects().setUsageExportBucket(project=PROJECT_ID, body=body)
response = request.execute(http=auth_http)

print response

HTTP

Também é possível fazer uma solicitação HTTP diretamente para o método setUsageExportBucket. No exemplo a seguir, a biblioteca httplib2 faz uma solicitação para desativar o intervalo de exportação do uso:

#!/usr/bin/python

import urllib
import argparse
import logging
import sys
import random
from json import load,dumps
...

PROJECT_ID = "myproject"
API_VERSION = "v1"
API_URL = "https://compute.googleapis.com/compute/" + API_VERSION + "/projects/" + PROJECT_ID
OAUTH_FILE = "oauth-dev.dat"

def main(argv):
  logging.basicConfig(level=logging.INFO)

  parser = argparse.ArgumentParser(
    description=__doc__,
    formatter_class=argparse.RawDescriptionHelpFormatter,
    parents=[tools.argparser])

  # Parse the command-line flags.
  flags = parser.parse_args(argv[1:])

  http = httplib2.Http()

  # Add code to authenticate to the service
  ....

  url = API_URL + "/setUsageExportBucket"

  body = {
     "bucketName": ""
  }

  formattedBody = dumps(body)
  resp,content = http.request(url,
                              "POST",
                              headers=listOfHeaders,
                              body=formattedBody)

  print str(content)

if __name__ == "__main__":
    main(sys.argv)
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine