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 delle istanze AWS PCS tramite Amazon CloudWatch
AWS PCS lancia le istanze Amazon EC2 in base alle esigenze 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 accedendovi e utilizzando strumenti interattivi da riga di comando. Tuttavia, per impostazione predefinita, i dati CloudWatch delle metriche vengono conservati solo per un periodo limitato dopo la chiusura di 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 i parametri e i log delle istanze persistenti.
Monitoraggio delle istanze in esecuzione
Ricerca di istanze AWS PCS
Per monitorare le istanze lanciate 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 lancio del gruppo di nodi di calcolo. Per ulteriori informazioni, consulta Attiva il monitoraggio dettagliato CloudWatch.
Configurazione di metriche e log persistenti delle istanze
Puoi conservare i parametri e i log delle tue istanze installando e configurando l'agente CloudWatch Amazon su di esse. Si compone di tre passaggi principali:
-
Creare una configurazione CloudWatch dell'agente.
-
Archivia 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 Raccogli metriche, log e tracce con l' CloudWatch agente nella Amazon CloudWatch User Guide e. Utilizzo dei modelli di lancio di Amazon EC2 con PCS AWS
Crea una configurazione dell'agente CloudWatch
Prima di distribuire l' CloudWatch agente sulle istanze, è necessario 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 in cui è installata la CLI AWS, crea un file di CloudWatch configurazione denominato config.json con i contenuti seguenti. 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 2. Se le tue istanze utilizzeranno un sistema operativo di base diverso, modifica i percorsi in modo appropriato.
-
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 dell' CloudWatch agente nella Amazon CloudWatch User Guide. -
Puoi scegliere di omettere
logsometricsdi non 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 relativi, ad esempio, al bootstrap, all'autenticazione e all'accesso e ad altri domini di risoluzione dei problemi. Ciò include:
-
/var/log/cloud-init.log— Output dalla 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— Output da operazioni specifiche per PC 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 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 registro 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 dell' CloudWatch agente deve essere archiviato dove possono accedervi le istanze del nodo di calcolo PCS. Esistono due modi comuni per eseguire questa operazione. Puoi caricarlo in un bucket Amazon S3 a cui le tue istanze del gruppo di nodi di calcolo avranno accesso tramite il loro profilo di istanza. In alternativa, puoi archiviarlo come parametro SSM in Amazon Systems Manager Parameter Store.
Carica in un bucket S3
Per archiviare il file in S3, utilizza i comandi CLI di AWS riportati di seguito. Prima di eseguire il comando, effettua queste sostituzioni:
-
amzn-s3-demo-bucketSostituiscilo con 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/
Archivia come parametro SSM
Per memorizzare il file come parametro SSM, usa il comando che segue. Prima di eseguire il comando, effettuate le seguenti sostituzioni:
-
Sostituisci
region-codecon la regione AWS in cui lavori con AWS PCS. -
(Facoltativo) Sostituisci il parametro
AmazonCloudWatch-PCScon il tuo nome. Tieni presente che se modifichi il prefisso del nome da,AmazonCloudWatch-dovrai aggiungere specificamente l'accesso in lettura al parametro SSM nel profilo dell'istanza del gruppo di nodi.
aws ssm put-parameter \ --regionregion-code\ --name "AmazonCloudWatch-PCS" \ --type String \ --value file://config.json
Scrivi un modello di lancio EC2
I dettagli specifici del 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 avvia l'agente con esso. CloudWatch Sostituisci i seguenti valori in questo script con i tuoi dati:
-
amzn-s3-demo-bucket— Il nome di un bucket S3 da cui il tuo account può leggere -
/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 di 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.
Tieni inoltre presente 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.
Utilizza una configurazione archiviata in SSM
Questo script installa CloudWatch l'agente, importa un file di configurazione da un parametro SSM e avvia l' CloudWatch agente con esso. Sostituisci i seguenti valori in questo script con i tuoi dati:
-
(Facoltativo) Sostituire il parametro
AmazonCloudWatch-PCScon il proprio 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 avere il codice CloudWatchAgentServerPolicyallegato.
Se il nome del parametro non inizia con, AmazonCloudWatch- dovrai aggiungere specificamente l'accesso in lettura al parametro SSM nel profilo dell'istanza del gruppo di nodi. Ecco un esempio di policy IAM che illustra questo principio per il prefisso. DOC-EXAMPLE-PREFIX
Tieni inoltre presente che le istanze devono consentire il traffico in uscita verso l'SSM e gli endpoint. CloudWatch Ciò può essere ottenuto utilizzando gruppi di sicurezza o endpoint VPC, a seconda dell'architettura del cluster.