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à.
Monitoraggio AWS Istanze PCS che utilizzano Amazon CloudWatch
AWS PCS lancia le istanze Amazon EC2 in base alle necessità per soddisfare i requisiti di scalabilità definiti nei gruppi di nodi di calcolo PCS. Puoi monitorare queste istanze mentre sono in esecuzione utilizzando Amazon. CloudWatch Puoi controllare i log delle istanze in esecuzione accedendo ad essi e utilizzando strumenti interattivi a riga di comando. Tuttavia, per impostazione predefinita, i dati CloudWatch delle metriche vengono conservati solo per un periodo limitato una volta terminata un'istanza e i log delle istanze vengono generalmente eliminati insieme ai volumi EBS che supportano l'istanza. Per conservare le metriche o i dati di registrazione delle istanze avviate da PCS dopo la loro chiusura, puoi configurare l' CloudWatch agente sulle tue istanze con un modello di avvio EC2. Questo argomento fornisce una panoramica del monitoraggio delle istanze in esecuzione e fornisce esempi su come configurare le metriche e i log delle istanze persistenti.
Monitoraggio delle istanze in esecuzione
Individuazione delle istanze AWS PCS
Per monitorare le istanze avviate da PCS, trova le istanze in esecuzione associate a un cluster o a un gruppo di nodi di calcolo. Quindi, nella console EC2 per una determinata istanza, ispeziona le sezioni Stato e allarmi e Monitoraggio. Se l'accesso di accesso è configurato per tali istanze, puoi connetterti ad esse e controllare i vari file di registro sulle istanze. Per ulteriori informazioni sull'identificazione delle istanze gestite da PCS, vedere. Ricerca di istanze di gruppi di nodi di calcolo in PCS AWS
Abilitazione di metriche dettagliate
Per impostazione predefinita, le metriche delle istanze vengono raccolte a intervalli di 5 minuti. Per raccogliere le metriche a intervalli di un minuto, abilita il CloudWatch monitoraggio dettagliato nel modello di avvio del gruppo di nodi di calcolo. Per ulteriori informazioni, consulta Attiva il monitoraggio dettagliato CloudWatch.
Configurazione delle metriche e dei log delle istanze persistenti
Puoi conservare le metriche e i log delle tue istanze installando e configurando l'agente Amazon su di esse. CloudWatch Si compone di tre fasi principali:
-
Creare una configurazione CloudWatch dell'agente.
-
Memorizza la configurazione dove può essere recuperata dalle istanze PCS.
-
Scrivi un modello di avvio EC2 che installi il software dell' CloudWatch agente, recuperi la configurazione e avvii l'agente utilizzando la CloudWatch configurazione.
Per ulteriori informazioni, consulta Collect metrics, logs e trace with the CloudWatch agent nella Amazon CloudWatch User Guide e. Utilizzo dei modelli di lancio di Amazon EC2 con PCS AWS
Crea una configurazione CloudWatch dell'agente
Prima di distribuire l' CloudWatch agente sulle tue istanze, devi generare un file di configurazione JSON che specifichi le metriche, i log e le tracce da raccogliere. I file di configurazione possono essere creati utilizzando una procedura guidata o manualmente, utilizzando un editor di testo. Il file di configurazione verrà creato manualmente per questa dimostrazione.
Su un computer su cui è installata l'AWS CLI, crea un file di CloudWatch configurazione denominato config.json con i contenuti che seguono. Puoi anche utilizzare il seguente URL per scaricare una copia del file.
https://aws-hpc-recipes.s3.amazonaws.com/main/recipes/pcs/cloudwatch/assets/config.json
Note
-
I percorsi di log nel file di esempio sono per Amazon Linux 2023. Se le tue istanze utilizzeranno un sistema operativo di base diverso, modifica i percorsi in base alle esigenze.
-
Per acquisire altri registri, aggiungi altre voci in
collect_list. -
I valori in
{brackets}sono variabili basate su modelli. Per l'elenco completo delle variabili supportate, consulta Creare o modificare manualmente il file di configurazione CloudWatch dell'agente nella Amazon CloudWatch User Guide. -
Puoi scegliere di omettere
logsometricsnon raccogliere questi tipi di informazioni.
{ "agent": { "metrics_collection_interval": 60 }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/var/log/cloud-init.log", "log_group_class": "STANDARD", "log_group_name": "/PCSLogs/instances", "log_stream_name": "{instance_id}.cloud-init.log", "retention_in_days": 30 }, { "file_path": "/var/log/cloud-init-output.log", "log_group_class": "STANDARD", "log_stream_name": "{instance_id}.cloud-init-output.log", "log_group_name": "/PCSLogs/instances", "retention_in_days": 30 }, { "file_path": "/var/log/amazon/pcs/bootstrap.log", "log_group_class": "STANDARD", "log_stream_name": "{instance_id}.bootstrap.log", "log_group_name": "/PCSLogs/instances", "retention_in_days": 30 }, { "file_path": "/var/log/slurmd.log", "log_group_class": "STANDARD", "log_stream_name": "{instance_id}.slurmd.log", "log_group_name": "/PCSLogs/instances", "retention_in_days": 30 }, { "file_path": "/var/log/messages", "log_group_class": "STANDARD", "log_stream_name": "{instance_id}.messages", "log_group_name": "/PCSLogs/instances", "retention_in_days": 30 }, { "file_path": "/var/log/secure", "log_group_class": "STANDARD", "log_stream_name": "{instance_id}.secure", "log_group_name": "/PCSLogs/instances", "retention_in_days": 30 } ] } } }, "metrics": { "aggregation_dimensions": [ [ "InstanceId" ] ], "append_dimensions": { "AutoScalingGroupName": "${aws:AutoScalingGroupName}", "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}" }, "metrics_collected": { "cpu": { "measurement": [ "cpu_usage_idle", "cpu_usage_iowait", "cpu_usage_user", "cpu_usage_system" ], "metrics_collection_interval": 60, "resources": [ "*" ], "totalcpu": false }, "disk": { "measurement": [ "used_percent", "inodes_free" ], "metrics_collection_interval": 60, "resources": [ "*" ] }, "diskio": { "measurement": [ "io_time" ], "metrics_collection_interval": 60, "resources": [ "*" ] }, "mem": { "measurement": [ "mem_used_percent" ], "metrics_collection_interval": 60 }, "swap": { "measurement": [ "swap_used_percent" ], "metrics_collection_interval": 60 } } } }
Questo file indica all' CloudWatch agente di monitorare diversi file che possono essere utili per diagnosticare errori, ad esempio avvio, autenticazione e accesso e altri problemi relativi ai domini. Ciò include:
-
/var/log/cloud-init.log— Risultato della fase iniziale della configurazione dell'istanza -
/var/log/cloud-init-output.log— Output dei comandi eseguiti durante la configurazione dell'istanza -
/var/log/amazon/pcs/bootstrap.log— Risultato delle PCS-specific operazioni eseguite durante la configurazione dell'istanza -
/var/log/slurmd.log— Output dal demone slurmd del gestore del carico di lavoro Slurm -
/var/log/messages— Messaggi di sistema provenienti dal kernel, dai servizi di sistema e dalle applicazioni -
/var/log/secure— Registri relativi ai tentativi di autenticazione, come SSH, sudo e altri eventi di sicurezza
I file di registro vengono inviati a un gruppo di CloudWatch log denominato. /PCSLogs/instances I flussi di log sono una combinazione dell'ID dell'istanza e del nome di base del file di registro. Il gruppo di log ha un tempo di conservazione di 30 giorni.
Inoltre, il file indica all' CloudWatch agente di raccogliere diverse metriche comuni, aggregandole per ID di istanza.
Memorizza la configurazione
Il file di configurazione CloudWatch dell'agente deve essere archiviato dove è possibile accedervi dalle istanze dei nodi di calcolo PCS. Esistono due modi comuni per eseguire questa operazione. Puoi caricarlo in un bucket Amazon S3 a cui le istanze del tuo gruppo di nodi di calcolo avranno accesso tramite il relativo profilo di istanza. In alternativa, puoi memorizzarlo come parametro SSM in Amazon Systems Manager Parameter Store.
Carica su un bucket S3
Per archiviare il file in S3, utilizza i comandi AWS CLI che seguono. Prima di eseguire il comando, effettua queste sostituzioni:
-
Sostituiscilo
amzn-s3-demo-bucketcon il tuo nome di bucket S3
Innanzitutto, (questo è facoltativo se hai un bucket esistente), crea un bucket per contenere i tuoi file di configurazione.
aws s3 mb s3://amzn-s3-demo-bucket
Quindi, carica il file nel bucket.
aws s3 cp ./config.json s3://amzn-s3-demo-bucket/
Memorizza come parametro SSM
Per archiviare il file come parametro SSM, utilizzate il comando che segue. Prima di eseguire il comando, effettuate le seguenti sostituzioni:
-
Sostituiscilo
region-codecon la regione AWS in cui lavori con AWS PCS. -
(Facoltativo) Sostituisci il parametro
AmazonCloudWatch-PCScon il tuo nome. Nota che se modifichi il prefisso del nome da,AmazonCloudWatch-dovrai aggiungere specificamente l'accesso in lettura al parametro SSM nel profilo dell'istanza del tuo gruppo di nodi.
aws ssm put-parameter \ --regionregion-code\ --name "AmazonCloudWatch-PCS" \ --type String \ --value file://config.json
Scrivi un modello di avvio EC2
I dettagli specifici per il modello di lancio dipendono dal fatto che il file di configurazione sia archiviato in S3 o SSM.
Usa una configurazione archiviata in S3
Questo script installa CloudWatch l'agente, importa un file di configurazione da un bucket S3 e con esso avvia l'agente. CloudWatch Sostituisci i seguenti valori in questo script con i tuoi dati:
-
amzn-s3-demo-bucket— Il nome di un bucket S3 da cui può leggere il tuo account -
/config.json— Percorso relativo alla radice del bucket S3 in cui è archiviata la configurazione
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" packages: - amazon-cloudwatch-agent runcmd: - aws s3 cp s3://amzn-s3-demo-bucket/config.json/etc/s3-cw-config.json - /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file://etc/s3-cw-config.json --==MYBOUNDARY==--
Il profilo dell'istanza IAM per il gruppo di nodi deve avere accesso al bucket. Ecco un esempio di policy IAM per il bucket nello script di dati utente riportato sopra.
Nota inoltre che le istanze devono consentire il traffico in uscita verso S3 e gli endpoint. CloudWatch Ciò può essere ottenuto utilizzando gruppi di sicurezza o endpoint VPC, a seconda dell'architettura del cluster.
Usa una configurazione archiviata in SSM
Questo script installa CloudWatch l'agente, importa un file di configurazione da un parametro SSM e con esso avvia l' CloudWatch agente. Sostituisci i seguenti valori in questo script con i tuoi dati:
-
(Facoltativo) Sostituisci il parametro
AmazonCloudWatch-PCScon il tuo nome.
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" packages: - amazon-cloudwatch-agent runcmd: - /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:AmazonCloudWatch-PCS--==MYBOUNDARY==--
La policy dell'istanza IAM per il gruppo di nodi deve essere CloudWatchAgentServerPolicy associata.
Se il nome del parametro non inizia con, AmazonCloudWatch- dovrai aggiungere specificamente l'accesso in lettura al parametro SSM nel profilo dell'istanza del tuo gruppo di nodi. Ecco un esempio di policy IAM che lo illustra per il prefisso. DOC-EXAMPLE-PREFIX
Nota inoltre che le istanze devono consentire il traffico in uscita verso SSM e gli endpoint. CloudWatch Ciò può essere ottenuto utilizzando gruppi di sicurezza o endpoint VPC, a seconda dell'architettura del cluster.