Los registros de uso están disponibles en la página de configuración de Compute Engine como archivos CSV. En los registros, se describe el uso a nivel de los recursos, como el tiempo de ejecución de una instancia de máquina virtual, el espacio de almacenamiento de un disco persistente y la información sobre otras funciones de Compute Engine.
Antes de comenzar
- Si deseas usar los ejemplos de línea de comandos de esta guía, haz lo siguiente:
- Instala la versión más reciente de la herramienta de línea de comandos de gcloud.
- Configura una región y una zona predeterminadas.
- Si deseas usar los ejemplos de la API de esta guía, configura el acceso a la API.
Descripción general
Cuando habilitas los informes de uso, Compute Engine entrega dos tipos de informes al depósito de Google Cloud Storage que especifiques:
Informes de uso diario
Estos informes se envían diariamente y contienen datos de uso del día anterior. Cada informe es un archivo separado que contiene datos del último período. Los datos en estos informes son inmutables, lo que significa que Compute Engine no actualizará ni reescribirá el archivo de registro si hay errores. En cambio, los datos se corrigen en el próximo informe nuevo que se entrega al depósito.
Los informes de uso diario tienen el siguiente formato de nombre:
<bucket>/<report_prefix>_<numeric_project_id>_<YYYYMMDD>.csv
Informe acumulativo mensual
Se entrega un solo informe acumulativo mensual, que contiene los datos de uso mensual para ese proyecto hasta ese día, pero sin incluirlo. El informe de uso mensual se sobrescribe cada día con nuevos datos que reflejan el uso mensual de los recursos hasta esa fecha. Solo habrá un archivo de datos de uso mensual por proyecto, por mes.
Los informes acumulativos mensuales tienen el siguiente formato de nombre:
<bucket>/<report_prefix>_<numeric_project_id>_<YYYYMM>.csv
Los archivos de informes diarios y mensuales tienen un aspecto muy similar, excepto por la diferencia en el formato de fecha: los informes acumulativos mensuales se fechan con el año y el mes (
YYYYMM
), mientras que los informes de uso diario se fechan con el año, el mes y el día (YYYYMMDD
).
Todos los informes de uso se entregan en formato de valores separados por comas (CSV) y los archivos de informes de uso tienen el prefijo <report_prefix>
. <report_prefix>
es un valor personalizable elegido por el usuario. Si no se especifica un prefijo de informe, se usará el prefijo usage_gce
de forma predeterminada. Todas las horas se expresan según la hora del Pacífico (PST).
Métricas admitidas
Los informes de uso diario proporcionan información de uso sobre los siguientes recursos:
- Máquinas virtuales
- Discos persistentes
- Imágenes
- Instantáneas
- Direcciones IP estáticas
- Balanceadores de cargas
Cada recurso se describe según las siguientes métricas:
Nombre de la métrica | Propiedades de la métrica |
---|---|
Fecha del informe |
|
MeasurementId |
|
Cantidad |
|
Unidad |
|
URI de recursos |
|
ResourceId |
|
Ubicación |
|
Una entrada de ejemplo en el informe tendría el siguiente aspecto:
Fecha del informe | ID de medición | Cantidad | Unidad | URI de recursos | ID del recurso | Ubicación |
---|---|---|---|---|---|---|
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 |
Control de acceso
Cuando habilitas la función de exportación de uso para un depósito de Cloud Storage, Compute Engine se agrega automáticamente al depósito con acceso de escritura para entregar informes de uso. Mientras Compute Engine tenga acceso al depósito y la función de exportación de uso esté habilitada, Compute Engine continuará exportando informes de uso al depósito de Cloud Storage especificado.
Si ves que se agrega la siguiente identidad a la lista de control de acceso al depósito, significa que Compute Engine tiene acceso al depósito:
cloud-cluster-analytics-export@google.com
Cualquier usuario que sea propietario del proyecto tiene acceso completo al depósito de Google Cloud Storage. Otros usuarios, como escritores y lectores, tienen diferentes grados de acceso al depósito. Si deseas obtener información sobre las LCA para un depósito, consulta la documentación de control de acceso de Cloud Storage.
Si inhabilitas la función de exportación de uso, Compute Engine quitará automáticamente el acceso de escritura de Compute Engine al depósito. Si modificas los permisos en la cuenta cloud-cluster-analytics-export@google.com y, luego, inhabilitas la función de exportación de uso, Compute Engine inhabilitará la función de exportación de uso, pero no quitará la cuenta de la lista de acceso al proyecto. Si lo deseas, puedes quitar la cuenta manualmente.
Requisitos previos
Antes de que puedas comenzar a usar la exportación de uso de Compute Engine, debes registrarte en Google Cloud Storage, si aún no lo hiciste.
Configura la exportación de uso
Cuando habilitas por primera vez la función de exportación de uso, el primer informe se enviará al día siguiente y contendrá información detallada sobre el uso del día anterior. Luego, recibirás informes cada 24 horas.
Para configurar la característica de exportación de uso, habilítala en la herramienta gcloud compute
. Cuando habilitas la característica, debes definir dos propiedades:
El depósito de Google Cloud Storage al que deseas enviar tus informes.
Puedes seleccionar cualquier depósito de Cloud Storage del que seas propietario, incluidos los depósitos en diferentes proyectos. Este depósito debe existir antes de que puedas comenzar a exportar informes y debes tener acceso de propietario al depósito. Google Cloud Storage cobra por el uso, por lo tanto, deberás consultar la hoja de precios de Cloud Storage para obtener información sobre los gastos que puede generar el servicio.
Cualquier usuario que tenga acceso de lectura al depósito de Cloud Storage podrá ver los informes de uso en él. Cualquier usuario que tenga acceso de escritura al depósito podrá crear, ver y modificar archivos existentes en el depósito. Para obtener más información, consulta la sección Control de acceso.
El prefijo de informe para tus archivos
Puedes especificar el prefijo de informe para usar en tus informes de uso. Los informes de uso tendrán nombres de archivo que incluirán este prefijo. Por ejemplo, si especificas “my-cool-project-report” como el prefijo de tu informe, se obtiene un nombre de archivo similar al formato
my-cool-project-report_1234567890_20131230.csv
. Si no especificas un prefijo de informe, se usa el prefijo predeterminadousage_gce
.
Después de definir estas dos propiedades, puedes habilitar la función de exportación de uso de las siguientes maneras:
Console
- Ve a la página de Configuración de Compute Engine.
- Haz clic en Habilitar exportación de uso.
- Completa los campos que solicitan un nombre de depósito y un prefijo de informe, si lo deseas. Si dejas vacío el prefijo del informe, se usará el prefijo predeterminado
usage_gce
. - Haz clic en Guardar.
gcloud
En gcloud compute
, usa el comando gcloud compute project-info set-usage-bucket
para habilitar esta característica:
gcloud compute project-info set-usage-bucket --bucket URI [--prefix PREFIX]
El URI del depósito puede tener el formato gs://<bucket-name>
o https://storage.googleapis.com/<bucket-name>
.
API
Bibliotecas cliente
Con las bibliotecas cliente, establece el método setUsageExportBucket()
en la colección Projects
para habilitar la exportación de uso. Por ejemplo, en la biblioteca cliente de Python, puedes habilitar la característica de esta manera:
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
También puedes realizar una solicitud HTTP directa al método setUsageExportBucket
. En el siguiente ejemplo, se usa la biblioteca httplib2
para habilitar la exportación 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 obtener más información, consulta la documentación de referencia de la API.
Comprueba si los informes de uso están habilitados
Puedes verificar la configuración de exportación de uso de un proyecto si obtienes información sobre él:
gcloud compute project-info describe
Busca el 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 | | +-------------------------+----------------------------------------------------+
Inhabilita los informes de uso
Cuando inhabilitas los informes de uso, Compute Engine quita de forma automática el acceso de escritura de Compute Engine a tu depósito de Cloud Storage y deja de enviar informes nuevos.
Console
- Ve a la página de Configuración de Compute Engine.
- Haz clic en Inhabilitar exportación de uso.
gcloud
En gcloud compute
, puedes inhabilitar la característica de exportación de uso mediante el comando gcloud compute project-info set-usage-bucket
con la marca --no-bucket
:
gcloud compute project-info set-usage-bucket --no-bucket
API
Bibliotecas cliente
Para usar las bibliotecas cliente, realiza una solicitud al método setUsageExportBucket()
con un nombre de depósito en blanco. Por ejemplo, en la biblioteca cliente de Python, puedes inhabilitar la función de esta manera:
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
También puedes realizar una solicitud HTTP directa al método setUsageExportBucket
. En el siguiente ejemplo, se usa la biblioteca httplib2 para realizar una solicitud que permita inhabilitar el depósito de exportación 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": ""
}
formattedBody = dumps(body)
resp,content = http.request(url,
"POST",
headers=listOfHeaders,
body=formattedBody)
print str(content)
if __name__ == "__main__":
main(sys.argv)