Paneles de supervisión y registro de Cloud TPU
Los paneles de supervisión y depuración de Cloud TPU de datos contiene toda la infraestructura y la lógica necesarias depurar flujos de trabajo que se ejecutan en VMs de TPU. Requiere Terraform, una herramienta de código abierto que usa archivos de configuración para definir y administrar Google Cloud de Google Cloud.
Panel de supervisión
En el panel de supervisión, se muestran las siguientes métricas de Cloud TPU:
- Uso de CPU en el trabajador TPU:
cpu/utilization
- Uso de memoria de la VM de TPU:
memory/usage
- Bytes de red que recibió un Pod a través de la red:
network/received_bytes_count
- Bytes de red que envió un Pod a través de la red:
network/sent_bytes_count
- Duración de inactividad de TensorCore del chip TPU:
tpu/tensorcore/idle_duration
Cloud Monitoring genera automáticamente datos de métricas. Para visualizar la configuración ve a la consola de Google Cloud, selecciona Monitoring y, luego, Paneles. Selecciona GCE - TPU Monitoring Dashboard en la sección una lista de paneles. El panel de supervisión de Cloud TPU se compone de un la cantidad de paneles, cada uno de los cuales muestra datos de métricas. Para cada métrica de Cloud TPU, El panel muestra los valores actuales de las métricas, la media y los valores máximos. en paneles separados. Los paneles promedio y máximo te permiten identificar valores atípicos VMs de TPU para una investigación más detallada.
También puedes ver las métricas de TPU con el Explorador de métricas en Cloud Monitoring Consola de Google Cloud Para obtener más información, consulta Supervisa las VMs de Cloud TPU.
Panel de registros
El panel de registros muestra dos secciones:
- Métricas de registro: Muestra el recuento de entradas de seguimiento de pila recopiladas para cada una. Trabajador de VM de TPU.
- Panel de registros: Muestra todas las entradas de seguimiento de pila con columnas para la gravedad.
una marca de tiempo
y un resumen de la entrada. Puedes filtrar este panel de registros por un
o etiquetas de trabajador TPU, como
node_id
,worker_id
. Por ejemplo: agregar un filtroresource.labels.node_id:"testing"
muestra todo el seguimiento entradas recopiladas para el trabajador de la VM de TPU con el ID configurado como “testing”.
Cloud Logging recopila entradas de registro generadas por servicios de Google Cloud, tercero
servicios de terceros, frameworks de AA y tu código. Puedes instalar el
cloud-tpu-diagnostics
PyPi
paquete para escribir seguimientos de pila de Python cuando se produce una falla o excepción, o cuando
si tu carga de trabajo no responde. Para obtener más información, consulta
Depuración de las VM de Cloud TPU.
Para ver el panel de registros, ve a la consola de Google Cloud, selecciona Monitoring. y, luego, en Paneles. Selecciona GCE - TPU Logging Dashboard. la lista de paneles.
Configura los paneles de métricas y registros
Sigue estas instrucciones para configurar las métricas y los paneles de registro.
Clona el repositorio del panel
Puedes clonar el repositorio directamente desde el repositorio de GitHub de supervisión y depuración de Cloud TPU. o desde la línea de comandos:
git clone https://github.com/google/cloud-tpu-monitoring-debugging.git
Instalación de Terraform
- Instala Terraform. en tu máquina local.
- Ejecuta
terraform init
para agregar los complementos necesarios y crear la.terraform
. . - Ejecuta
terraform init –upgrade
para instalar las actualizaciones disponibles.
Configura permisos para la supervisión y el registro
Administrador de Monitoring, editor de configuración del panel de Monitoring y administrador de Logging roles para implementar recursos de supervisión en tu proyecto de Google Cloud. Para obtener más información sobre los roles de supervisión, consulta Otorga acceso a Cloud Monitoring.
Cree un bucket de Cloud Storage
Crear un bucket de Cloud Storage para almacenar archivos de estado de Terraform También puedes usar un bucket existente de Cloud Storage. Usar un bucket de Cloud Storage garantiza que varios usuarios puedan ejecutar Terraform al mismo tiempo y acceder a la misma de Google Cloud.
En Cloud Shell, crea el bucket de Cloud Storage:
gcloud storage buckets create gs://${GCS_BUCKET_NAME}
Habilita el control de versiones de objetos para mantener el historial de tus implementaciones. Habilitando El control de versiones de objetos aumenta los costos de almacenamiento, que puedes mitigar con y configura la Administración del ciclo de vida de los objetos para borrar versiones de estado antiguas.
gcloud storage buckets update gs://${GCS_BUCKET_NAME} --versioning
Inicializa Terraform
Ejecuta terraform init
dentro del directorio gcp_resources/gce
del repositorio.
El comando te solicita que ingreses el nombre del bucket de Cloud Storage para almacenar
los archivos de estado de Terraform.
Implementa los paneles de supervisión y registro
Ejecuta terraform apply
dentro del directorio gcp_resources/gce
para implementar el
y paneles de registro y supervisión
en tu proyecto de Google Cloud. El comando
Se te solicitará que proporciones valores para las siguientes variables:
var.monitoring_dashboard_config
var.project_name
var.stack_trace_bucket_config
Si solo quieres implementar el panel de supervisión, ejecuta terraform init
.
y terraform apply
dentro de gcp_resources/gce/dashboard/monitoring_dashboard
. De manera similar, ejecuta estos comandos dentro del
gcp_resources/gce/dashboard/logging_dashboard
para implementar solo el
panel de control de registros.
Configuración de ejemplo
Cuando ejecutas terraform apply
, Terraform te solicita cierta configuración
de variables categóricas. En esta sección, se proporcionan algunos ejemplos de configuraciones que puedes usar.
En cada ejemplo, también se muestra el resultado que muestra el comando terraform apply
como valores sugeridos para cada variable de configuración en negrita. Entrada
debe estar en formato JSON entre llaves ("{}").
Ejemplo 1
En este ejemplo, se especifica el nombre del proyecto de Google Cloud y se usan los valores predeterminados para el resto de la configuración.
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": <the number of outliers to show on dashboard, default to 10 if not set>
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {}
Ejemplo 2
En este ejemplo, se configura el panel para que muestre 5 VMs de TPU con valores atípicos.
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": <number of outliers to show on dashboard, default to 10 if not set>
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {"outlier_count":5}
Ejemplo 3
Esta configuración crea un panel que muestra 10 VMs de TPU con valores atípicos mediante “probar” como prefijo para los nombres de nodos que genera el panel:
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": <number of outliers to show on dashboard, default to 10 if not set>
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {"node_prefix":"test"}
Ejemplo 4
Esta configuración crea un panel en el que se muestran 5 VMs con valores atípicos que usan “test” como el prefijo para los nombres de los nodos que genera el panel.
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": "number of outliers to show on dashboard, default to 10 if not set"
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {"node_prefix":"test", "outlier_count":5}
Ejemplo 5
En este ejemplo, se configura un bucket de Cloud Storage para almacenar seguimientos de pila. El Los seguimientos de pila tienen una política de retención predeterminada de 30 días.
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {"bucket_name":"stack_trace_log_bucket"}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": "number of outliers to show on dashboard, default to 10 if not set"
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {}
Ejemplo 6
En este ejemplo, se configura un bucket de Cloud Storage con un período de retención de 20 días.
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {"bucket_name":"stack_trace_log_bucket", "retention_days":20}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": "number of outliers to show on dashboard, default to 10 if not set"
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {}