En este documento, se explica cómo supervisar el consumo de reservas de recursos zonales de Compute Engine con Cloud Monitoring.
La supervisión recopila y almacena información de rendimiento de los servicios de Google Cloud, como Compute Engine. La información de rendimiento se denomina métricas y series temporales. Puedes acceder a las métricas y las series temporales de tus reservas de Compute Engine para hacer lo siguiente:
Usa los paneles de Monitoring para mostrar cómo se consumen tus reservas.
Usa políticas de alertas de supervisión para recibir notificaciones oportunas cuando el consumo de tus reservas esté en un estado específico.
Estos métodos pueden, por ejemplo, ayudarte a verificar que tus reservas se consuman como planificaste o a actuar de forma oportuna para evitar costos innecesarios por recursos desperdiciados o reservas sin usar.
Antes de comenzar
- Revisa los requisitos y las y las restricciones para las reservas.
-
Enable the Monitoring API.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Roles obligatorios
Para obtener los permisos que necesitas para crear paneles de Monitoring o políticas de alertas para supervisar el consumo de reservas, pídele a tu administrador que te otorgue el role de IAM Administrador de Monitoring (
roles/monitoring.admin
) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para crear paneles de Monitoring o políticas de alertas para supervisar el consumo de reservas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear paneles o políticas de alertas de Monitoring para supervisar el consumo de reservas:
-
Para crear paneles, haz lo siguiente:
monitoring.dashboards.create
en el proyecto. -
Para crear alertas de políticas, usa
monitoring.alertPolicies.create
en el proyecto.
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Restricciones
Cuando usas Monitoring para acceder a las series temporales de una reserva y verlas, se aplican las siguientes restricciones:
Después de crear una reserva, su serie temporal estará disponible en un plazo de 30 minutos.
Cuando una serie temporal está disponible, Monitoring comienza a actualizarla al menos una vez cada 30 minutos.
Si borras una reserva, también se borrará su serie temporal y no se podrá recuperar.
Solo puedes acceder y ver las series temporales de una reserva que se creó en el proyecto actual.
Para obtener más información sobre las restricciones de supervisión, consulta Cuotas y límites de Cloud Monitoring.
Métricas de reservas
Cuando crees paneles de Monitoring o políticas de alertas, primero debes seleccionar la métrica de Google Cloud para medir el rendimiento del servicio de Google Cloud. En el caso de las reservas, puedes seleccionar las siguientes métricas de Compute Engine:
Reservadas: La cantidad de instancias de máquina virtual (VM) reservadas en cada reserva del proyecto actual.
Usadas: La cantidad de VMs consumidas en cada reserva en el proyecto actual.
Después de seleccionar una métrica, puedes filtrar o agrupar aún más las mediciones de la métrica de reservas. Para obtener más información sobre los filtros disponibles para las reservas, consulta Filtros de reservas en este documento.
Filtros de reservas
Puedes usar los filtros de supervisión para agrupar o filtrar los datos de las series temporales asociados con una o más reservas. Específicamente, cuando creas paneles de supervisión o políticas de alertas, puedes limitar los datos de series temporales que usan si especificas una o más de las siguientes etiquetas:
Selector Nombre de etiqueta Descripción metadata.system
machine_type
El tipo de máquina especificado en las VMs reservadas para una reserva. metadata.system
name
Es el nombre de una reserva. metadata.system
state
Es el estado de una reserva. Solo puedes supervisar las reservas en el estado ACTIVE
, que es cuando existe una reserva.metric
reserved_resource_type
Es el tipo de recursos zonales reservados por una reserva. Solo puedes supervisar el tipo instance
, que es una instancia de VM.resource
location
La zona en la que se encuentra la reserva. resource
reservation_id
Es el identificador (ID) de una reserva. resource
resource_container
Es el número del proyecto en el que existe una reserva. Solo puedes supervisar las reservas que se crearon en el proyecto actual. Cuando creas un filtro, debes especificar el selector y el nombre de la etiqueta, seguido de un operador de comparación y, luego, el valor que se filtrará. Por ejemplo, si deseas que tu consulta filtre las reservas por zona
us-central1-a
, usa el siguiente filtro:resource.location = "us-central1-a"
Para asegurarte de que el valor que especifiques en un filtro coincida con el valor del campo de una reservación, consulta los detalles de la reserva.
Supervisa el consumo de reservas
Para supervisar el consumo de tus reservas, selecciona uno de los siguientes métodos especificados en este documento:
Crea un panel: crea paneles de Monitoring y agrega widgets a las áreas del gráfico para mostrar los datos de las series temporales vinculados al consumo de tus reservas.
Este método es útil, por ejemplo, cuando deseas verificar que una VM consume correctamente una reserva o comparar la tendencia de consumo de varias reservas.
Crea políticas de alertas: Crea políticas de alertas para enviar alertas cuando los datos de las series temporales vinculados al consumo de tus reservas alcancen un umbral definido.
Este método es útil, por ejemplo, cuando deseas recibir una notificación cuando la cantidad de VMs que se usan en el proyecto actual es inferior a una proporción específica o cuando una reserva permanece sin usarse durante un período específico.
Crea un panel
Puedes crear paneles de Monitoring y ver las series temporales vinculadas al consumo de tus reservas con la consola de Google Cloud (recomendado) y la API de Monitoring.
Cuando definas cómo mostrar los datos de series temporales de un filtro de Monitoring, debes usar uno de los siguientes métodos:
Básica: Este método es útil para configurar rápidamente los datos de series temporales de un widget del panel.
Por ejemplo, puedes usar la Búsqueda básica para mostrar rápidamente cuál de tus reservas en una zona específica aún no se consumió por completo.
MQL: Este método es útil para recuperar, filtrar y manipular datos de series temporales para crear configuraciones más complejas para un widget del panel.
Por ejemplo, puedes usar el lenguaje de consulta de Monitoring (MQL) para mostrar la proporción de las VMs consumidas en las VMs reservadas en tus reservas.
Consulta básica
En el siguiente ejemplo, se describe cómo crear un panel de Monitoring con un widget de gráfico de líneas para mostrar las reservas consumidas en la zona
us-central1-a
.Console
Para crear un panel de Monitoring con la consulta básica, sigue estos pasos:
En la consola de Google Cloud, ve a Paneles.
Haz clic en
Crear panel.Se abrirá la página Nuevo panel.
Haz clic en
Agregar widget.Aparecerá el panel Agregar widget.
Haz clic en uno de los widgets disponibles. Por ejemplo, haz clic en el widget Line.
Aparecerá el panel Configurar widget.
Haz clic en Selecciona una métrica.
En la ventana Seleccionar una métrica, haz lo siguiente:
Ingresa
Reservation
y, luego, selecciona Reservación.En la lista Categorías de métricas activas, vuelve a seleccionar Reserva.
En la lista Métricas activas, selecciona una de las métricas disponibles. Por ejemplo, selecciona Usado.
Haz clic en Aplicar.
Para filtrar tus reservas por una zona específica, haz lo siguiente:
En la lista Agregar filtro, selecciona uno de los filtros para las reservas disponibles. Para este ejemplo, selecciona ubicación.
En la lista Comparator, selecciona uno de los operadores disponibles. Para este ejemplo, selecciona = (equals) (predeterminada).
En la lista Valor, selecciona la zona que deseas usar para filtrar tus reservas. Para este ejemplo, selecciona us-central1.
Haz clic en Aplicar.
Para obtener más opciones para personalizar los paneles de Monitoring con la consola de Google Cloud, consulta Crea y administra paneles personalizados.
REST
Para crear un panel de Monitoring con la Búsqueda básica, realiza una solicitud
POST
al métododashboards.create
.POST https://monitoring.googleapis.com/v1/projects/PROJECT_ID/dashboards { "displayName": "Consumed reservations in zone us-central1-a", "mosaicLayout": { "columns": 12, "tiles": [ { "height": 4, "widget": { "title": "Reservation - Used for us-central1-a [MEAN]", "xyChart": { "chartOptions": { "mode": "COLOR" }, "dataSets": [ { "minAlignmentPeriod": "60s", "plotType": "LINE", "targetAxis": "Y1", "timeSeriesQuery": { "timeSeriesFilter": { "aggregation": { "alignmentPeriod": "60s", "perSeriesAligner": "ALIGN_MEAN" }, "filter": "FILTER", "secondaryAggregation": { "alignmentPeriod": "60s", "perSeriesAligner": "ALIGN_NONE" } } } } ], "timeshiftDuration": "0s", "yAxis": { "scale": "LINEAR" } } }, "width": 6 } ] } }
Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto del proyecto actual.FILTER
: Es el filtro de supervisión que se usará para tu panel. Por ejemplo, para supervisar las reservas consumidas en la zonaus-central1-a
, especifica lo siguiente:resource.type = 'compute.googleapis.com/Reservation' AND metric.type = 'compute.googleapis.com/reservation/used' AND resource.location = 'us-central1-a'
Para obtener más opciones para personalizar los paneles de Monitoring con la API de Monitoring, consulta Cómo crear y administrar paneles con la API.
MQL
En el siguiente ejemplo, se describe cómo crear un panel de Monitoring con un widget de gráfico de líneas para mostrar la proporción de VMs usadas en las VM reservadas en tus reservas.
Console
Para crear un panel de Monitoring con MQL, sigue estos pasos:
En la consola de Google Cloud, ve a Paneles.
Haz clic en
Crear panel.Se abrirá la página Nuevo panel.
Haz clic en
Agregar widget.Aparecerá el panel Agregar widget.
Haz clic en uno de los widgets disponibles. Por ejemplo, haz clic en el widget Line.
Aparecerá el panel Configurar widget.
Haz clic en
MQL.En el editor de consultas, ingresa una consulta de MQL. Por ejemplo, para ver la proporción de VMs usadas en las VMs reservadas en tus reservas, especifica lo siguiente:
fetch compute.googleapis.com/Reservation | { metric compute.googleapis.com/reservation/used | group_by [metadata.system.name], sliding(1m), max(value.used) ; metric compute.googleapis.com/reservation/reserved | group_by [metadata.system.name], sliding(1m), max(value.reserved) } | ratio
Haz clic en Ejecutar consulta.
Haz clic en Aplicar.
Para obtener más opciones para personalizar los paneles de Monitoring con la consola de Google Cloud, consulta Crea y administra paneles personalizados.
REST
Para crear un panel de Monitoring con MQL, realiza una solicitud
POST
al métododashboards.create
.POST https://monitoring.googleapis.com/v1/projects/PROJECT_ID/dashboards { "displayName": "Consumed reservations in zone us-central1-a", "mosaicLayout": { "columns": 12, "tiles": [ { "height": 4, "widget": { "title": "Reservation - Used for us-central1-a [MEAN]", "xyChart": { "chartOptions": { "mode": "COLOR" }, "dataSets": [ { "plotType": "LINE", "targetAxis": "Y1", "timeSeriesQuery": { "timeSeriesQueryLanguage": "MQL_QUERY" } } ], "timeshiftDuration": "0s", "yAxis": { "scale": "LINEAR" } } }, "width": 6, "xPos": 6 } ] } }
Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto del proyecto actual.MQL_QUERY
: la consulta que se usará para el widget del gráfico de líneas. Por ejemplo, para ver la proporción de VMs usadas en las VMs reservadas en tus reservas, especifica lo siguiente:fetch compute.googleapis.com/Reservation | { metric compute.googleapis.com/reservation/used | group_by [metadata.system.name], sliding(1m), max(value.used) ; metric compute.googleapis.com/reservation/reserved | group_by [metadata.system.name], sliding(1m), max(value.reserved) } | ratio
Para obtener más opciones para personalizar los paneles de Monitoring con la API de Monitoring, consulta Cómo crear y administrar paneles con la API.
Crea políticas de alertas
Puedes crear políticas de alertas de Monitoring para recibir notificaciones sobre el consumo de reservas en el proyecto actual con la consola de Google Cloud y la API de Monitoring.
Cuando definas una condición de alerta para una política de alertas, debes usar uno de los siguientes métodos:
Consulta básica: Este método es útil para crear condiciones de alerta simples.
Por ejemplo, puedes usar la consulta básica para crear una condición de alerta que se active cada vez que se consuma una reserva por primera vez.
MQL: Este método es útil para recuperar, filtrar y manipular datos de series temporales para crear condiciones de alerta más complejas.
Por ejemplo, puedes usar el lenguaje de consulta de Monitoring (MQL) para crear una condición de alerta que se activa cuando la proporción de VMs reservadas por encima de las VMs consumidas alcanza un límite específico.
Consulta básica
En el siguiente ejemplo, se crea una política de alertas que envía una notificación de alerta cuando se consume una reserva por primera vez. En particular, la alerta se activa cada vez que la cantidad de VMs consumidas en una reserva es mayor que
0
.Console
Para crear una política de alertas de Monitoring con la Búsqueda básica, sigue estos pasos:
En la consola de Google Cloud, ve a Alertas.
Haz clic en
Crear política.Se abrirá la página Crear política de alertas.
Haz clic en
Selecciona una métrica.Aparecerá la ventana Seleccionar una métrica.
En la ventana Seleccionar una métrica, haz lo siguiente:
En el campo Filtrar por nombre de recurso o métrica, ingresa
Reservation
.Si la métrica Reserva aparece en la lista Recursos activos, selecciónala. De lo contrario, haz lo siguiente:
Habilita Mostrar solo recursos y métricas activos.
Aparecerá la lista Recursos inactivos.
En la lista Recursos inactivos, selecciona Reserva.
En la lista Categorías de métricas activas, vuelve a seleccionar Reserva.
Aparecerá la lista Métricas activas.
En la lista Métricas activas, selecciona una de las métricas disponibles.
Por ejemplo, selecciona Usado.
Haz clic en Aplicar.
Haz clic en
Agregar filtro.Aparecerá la sección Agregar filtro.
En la sección Agregar filtro, haz lo siguiente:
En la lista Etiqueta, selecciona uno de los filtros para las reservas disponibles que se especifican en este documento.
Por ejemplo, para filtrar tus reservas por nombre, selecciona nombre.
En la lista Comparación, selecciona uno de los operadores disponibles.
Por ejemplo, selecciona = (igual) (predeterminado).
En la lista Valor, selecciona el nombre de la reserva que deseas supervisar.
Haz clic en Listo.
Haz clic en Siguiente.
Aparecerá el panel Configurar activador de alertas.
En la sección Tipos de condiciones, selecciona una de las siguientes opciones:
Para activar la condición si una serie temporal supera o es inferior a un valor específico, selecciona Umbral.
Para activar la condición si una serie temporal no tiene datos para un momento específico, selecciona Ausencia de métrica.
Para activar la condición si se proyecta que una serie temporal cruzará el umbral en un futuro cercano, selecciona Pronóstico.
Por ejemplo, selecciona Umbral (predeterminado).
En la lista Activador de alertas, selecciona la condición que activa la alerta.
Por ejemplo, selecciona Cualquier incumplimiento de serie temporal (opción predeterminada).
En la lista Posición del umbral, selecciona cuándo se activa la condición.
Por ejemplo, selecciona Umbral superior.
En el campo Valor del umbral, ingresa un valor para la condición.
Por ejemplo, ingresa
0
.En el campo Nombre de la condición, ingresa un nombre para la condición.
Por ejemplo, ingresa
Reservation RESERVATION_NAME consumed.
.en el que RESERVATION_NAME es el nombre de la reserva que especificaste en los pasos anteriores.
Haz clic en Siguiente.
Aparecerá el panel Configurar notificaciones y finalizar la alerta.
Haz clic en Usar canales de notificaciones.
En el campo Canales de notificación, selecciona los canales en los que deseas recibir notificaciones sobre el incidente.
Si no tienes canales de notificaciones disponibles, haz clic en Administrar canales de notificaciones y, luego, sigue los pasos para crearlos. Para obtener más información, consulta Cómo crear y administrar canales de notificaciones.
En el campo Duración del cierre automático de incidentes, selecciona una duración después de la cual se cierre automáticamente un incidente.
Por ejemplo, selecciona 3 días.
En el campo Nombre de la política de alertas, ingresa un nombre para la política de alertas.
Por ejemplo, ingresa
Alert: you started consuming reservation RESERVATION_NAME!
.en el que RESERVATION_NAME es el nombre de la reserva que especificaste en los pasos anteriores.
Haz clic en Siguiente.
Se abrirá la página de revisión de tu condición de alerta.
Haz clic en Crear política.
La creación de la política de alertas puede tardar unos segundos en completarse. Con esta acción, regresarás a la página Crear política de alertas.
Para obtener más información sobre las opciones que tienes cuando creas políticas de alertas con la consola de Google Cloud y la Búsqueda básica, consulta Crea políticas de alertas basadas en métricas.
REST
Para crear una política de alertas de Monitoring con la Búsqueda básica, realiza una solicitud
POST
al métodoprojects.alertPolicies.create
.POST https://monitoring.googleapis.com/v3/projects/PROJECT_ID/alertPolicies { "displayName": "Alert: you started consuming reservation RESERVATION_NAME!", "conditions": [ { "displayName": "Reservation RESERVATION_NAME consumed.", "conditionThreshold": { "filter": "FILTER", "aggregations": [ { "alignmentPeriod": "300s", "crossSeriesReducer": "REDUCE_NONE", "perSeriesAligner": "ALIGN_MEAN" } ], "comparison": "COMPARISON_GT", "duration": "0s", "trigger": { "count": 1 }, "thresholdValue": 0 } } ], "alertStrategy": { "autoClose": "AUTO_CLOSE_TIME" }, "combiner": "OR", "enabled": true, "notificationChannels": [ "projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL" ] }
Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto del proyecto actual.RESERVATION_NAME
: Es el nombre de una reserva existente que se encuentra en el proyecto actual.FILTER
: Es el filtro de supervisión que se usará para tu política de alertas. Por ejemplo, para supervisar la métricaused
de la reserva RESERVATION_NAME, especifica lo siguiente:resource.type = 'compute.googleapis.com/Reservation' AND metric.type = 'compute.googleapis.com/reservation/used' AND metadata.system.name = 'RESERVATION_NAME'
AUTO_CLOSE_TIME
: es el tiempo en segundos antes de que un incidente se cierre de forma automática. El valor debe estar entre0s
y604800s
(7 días). Por ejemplo, ingresa259200s
(3 días).NOTIFICATION_CHANNEL
: Es el nombre de un canal de notificaciones existente. Para configurar un canal de notificaciones, consulta Cómo crear y administrar canales de notificaciones.
Para obtener más información sobre las opciones que tienes cuando creas políticas de alertas con la API de Monitoring y la Búsqueda básica, consulta Crea políticas de alertas con la API.
MQL
En el siguiente ejemplo, se crea una política de alertas que envía una notificación de alerta cada vez que el porcentaje de VMs usadas en las VMs reservadas en tus reservas supera el 90%.
Console
Para crear una política de alertas de Monitoring con MQL, sigue estos pasos:
En la consola de Google Cloud, ve a Alertas.
Haz clic en
Crear política.Se abrirá la página Crear política de alertas.
En la barra de herramientas, haz clic en MQL.
Aparecerá el panel Editar consulta.
En el panel Editar consulta, ingresa una consulta de MQL.
Por ejemplo, para crear una consulta que agrupe tus reservas por nombre y active una condición de alerta cuando se consuma más del 90% de tus reservas, ingresa la siguiente consulta:
fetch compute.googleapis.com/Reservation | { metric compute.googleapis.com/reservation/used | group_by [metadata.system.name], sliding(1m), max(value.used) ; metric compute.googleapis.com/reservation/reserved | group_by [metadata.system.name], sliding(1m), max(value.reserved) } | ratio | every 1m | condition gt(val(), 0.9)
Para ejecutar la consulta que acabas de ingresar, haz clic en Ejecutar consulta.
Haz clic en Siguiente.
Aparecerá el panel Configurar activador de alertas.
Si es Nombre de la condición, ingresa un nombre para la condición.
Por ejemplo, ingresa
Over 90% of your reservations are consumed.
.Haz clic en Siguiente otra vez.
Aparecerá el panel Configurar notificaciones y finalizar la alerta.
Haz clic en Usar canales de notificaciones.
En el campo Canales de notificación, selecciona los canales en los que deseas recibir notificaciones sobre el incidente.
Si no tienes canales de notificaciones disponibles, haz clic en Administrar canales de notificaciones y, luego, sigue los pasos para crearlos. Para obtener más información, consulta Cómo crear y administrar canales de notificaciones.
En el campo Duración del cierre automático de incidentes, selecciona una duración después de la cual se cierre automáticamente un incidente.
Por ejemplo, selecciona 3 días.
En el campo Nombre de la política de alertas, ingresa un nombre para la política de alertas.
Por ejemplo, ingresa
Alert: over 90% of your reservations are consumed.
.Haz clic en Siguiente.
Se abrirá la página de revisión de tu condición de alerta.
Haz clic en Crear política.
La creación de la política de alertas puede tardar unos segundos en completarse. Con esta acción, regresarás a la página Crear política de alertas.
Para obtener más información sobre cómo crear políticas de alertas con la consola de Google Cloud y MQL, consulta Crea políticas de alertas de MQL (consola).
REST
Para crear una política de alertas de Monitoring con MQL, realiza una solicitud
POST
al métodoprojects.alertPolicies.create
.POST https://monitoring.googleapis.com/v3/projects/PROJECT_ID/alertPolicies { "displayName": "Alert: over 90% of your reservations are consumed.", "conditions": [ { "displayName": "Over 90% of your reservations are consumed.", "conditionMonitoringQueryLanguage": { "duration": "0s", "trigger": { "count": 1 }, "query": "MQL_QUERY" } } ], "alertStrategy": { "autoClose": "AUTO_CLOSE_TIME" }, "combiner": "OR", "enabled": true, "notificationChannels": [ "projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL" ] }
Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto del proyecto actual.MQL_QUERY
: Una consulta de MQL que se usará para la política de alertas. Por ejemplo, para crear una consulta que realice un seguimiento cuando el porcentaje de VMs usadas en comparación con las VMs reservadas supera el 90% en las reservas del proyecto actual, especifica lo siguiente:fetch compute.googleapis.com/Reservation | { metric compute.googleapis.com/reservation/used | group_by [metadata.system.name], sliding(1m), max(value.used) ; metric compute.googleapis.com/reservation/reserved | group_by [metadata.system.name], sliding(1m), max(value.reserved) } | ratio | every 1m | condition gt(val(), 0.9)
AUTO_CLOSE_TIME
: es el tiempo en segundos antes de que un incidente se cierre de forma automática. El valor debe estar entre0s
y604800s
(7 días). Por ejemplo, ingresa259200s
(3 días).NOTIFICATION_CHANNEL
: Es el nombre de un canal de notificaciones existente. Para configurar un canal de notificaciones, consulta Cómo crear y administrar canales de notificaciones.
Para obtener más información sobre cómo crear políticas de alertas con la API de Monitoring y MQL, consulta Crea políticas de alertas de MQL (API).
Solucionar problemas
Obtén más información sobre cómo solucionar problemas con la monitorización de reservas.
¿Qué sigue?
Obtén información sobre cómo consumir reservas.
Obtén más información para adjuntar reservas a los compromisos.
Obtén información sobre cómo modificar reservas.
Obtén más información sobre cómo borrar reservas.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)
-
Para crear paneles, haz lo siguiente: