Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creazione di metriche di cluster personalizzate SageMaker HyperPod
Il componente aggiuntivo Amazon SageMaker HyperPod (SageMaker HyperPod) observability fornisce centinaia di parametri di salute, prestazioni ed efficienza. out-of-the-box Oltre a queste metriche, potresti dover monitorare metriche personalizzate specifiche per le tue applicazioni o esigenze aziendali che non rientrano nelle metriche predefinite, come gli indicatori di prestazioni specifici del modello, le statistiche di elaborazione dei dati o le misurazioni specifiche delle applicazioni. Per soddisfare questa esigenza, puoi implementare la raccolta di metriche personalizzate OpenTelemetry integrando un frammento di codice Python nella tua applicazione.
Per creare metriche personalizzate, esegui prima il seguente comando shell per installare i OpenTelemetry componenti principali necessari per strumentare le applicazioni Python per l'osservabilità. Questa installazione consente alle applicazioni Python eseguite su SageMaker HyperPod cluster di emettere dati di telemetria personalizzati. Questi dati vengono raccolti dal OpenTelemetry raccoglitore e inoltrati all'infrastruttura di osservabilità.
pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-grpc
Lo script di esempio seguente configura una pipeline di OpenTelemetry metriche che contrassegna automaticamente le metriche con informazioni su pod e nodi, garantendo la corretta attribuzione all'interno del cluster e invia queste metriche allo stack di osservabilità integrato ogni secondo. SageMaker HyperPod Lo script stabilisce una connessione al raccoglitore di SageMaker HyperPod metriche, imposta gli attributi di risorsa appropriati per l'identificazione e fornisce un'interfaccia di misurazione tramite la quale è possibile creare vari tipi di metriche (contatori, indicatori o istogrammi) per tenere traccia di qualsiasi aspetto delle prestazioni dell'applicazione. Le metriche personalizzate si integrano con le dashboard di monitoraggio insieme alle metriche di sistema. SageMaker HyperPod Questa integrazione consente un'osservabilità completa attraverso un'unica interfaccia in cui è possibile creare avvisi, visualizzazioni e report personalizzati per monitorare il profilo prestazionale completo del carico di lavoro.
import os from opentelemetry import metrics from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import OTLPMetricExporter from opentelemetry.sdk.metrics import MeterProvider from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader from opentelemetry.sdk.resources import Resource # Get hostname/pod name hostname = os.uname()[1] node_name = os.getenv('NODE_NAME', 'unknown') collector_endpoint = "hyperpod-otel-collector.hyperpod-observability:4317" # Configure the OTLP exporter exporter = OTLPMetricExporter( endpoint=collector_endpoint, insecure=True, timeout=5000 # 5 seconds timeout ) reader = PeriodicExportingMetricReader( exporter, export_interval_millis=1000 ) resource = Resource.create({ "service.name": "metric-test", "pod.name": hostname, "node.name": node_name }) meter_provider = MeterProvider( metric_readers=[reader], resource=resource ) metrics.set_meter_provider(meter_provider) # Create a meter meter = metrics.get_meter("test-meter") # Create a counter counter = meter.create_counter( name="test.counter", description="A test counter" ) counter.add(1, {"pod": hostname, "node": node_name})