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à.
Pubblicazione dei parametri personalizzati di Amazon CloudWatch per un ambiente
Puoi pubblicare i dati raccolti mediante il reporting sull'integrità migliorata di AWS Elastic Beanstalk su Amazon CloudWatch come parametri personalizzati. La pubblicazione di parametri in CloudWatch consente di monitorare le modifiche nelle prestazioni delle applicazioni nel corso del tempo e di identificare potenziali problemi controllando il modo in cui l'utilizzo delle risorse e la latenza delle richieste evolvono in funzione del carico.
La pubblicazione di parametri in CloudWatch rende inoltre i parametri disponibili per l'uso con grafici di monitoraggio e allarmi. Un parametro gratuito, EnvironmentHealth, è abilitato automaticamente durante l'utilizzo del reporting sullo stato migliorato. I parametri personalizzati diversi da EnvironmentHealth comportano dei costi CloudWatch
Per pubblicare i parametri personalizzati di CloudWatch per un ambiente, devi prima abilitare il reporting dello stato avanzato. Per istruzioni, consulta Abilitazione del reporting dello stato avanzato Elastic Beanstalk.
Argomenti
Parametri del reporting sullo stato migliorato
Quando abiliti il reporting dello stato avanzato nel tuo ambiente, questo pubblica automaticamente un parametro personalizzato di CloudWatch, ovvero EnvironmentHealth. Per pubblicare ulteriori parametri in CloudWatch, configura l'ambiente con tali parametri utilizzando la console Elastic Beanstalk, l'interfaccia a riga di comando EB o .ebextensions.
Puoi pubblicare i seguenti parametri di stato migliorato dall'ambiente in CloudWatch.
Parametri disponibili – Tutte le piattaforme
EnvironmentHealth
-
Solo ambiente. Questo è l'unico parametro di CloudWatch pubblicato dal sistema di reporting dello stato avanzato, a meno che non configuri ulteriori parametri. Lo stato dell'ambiente è rappresentato da uno di sette stati. Nella console di CloudWatch questi stati sono mappati ai seguenti valori:
-
0 – OK
-
1 – Info
-
5 – Unknown (Sconosciuto)
-
10 – No data (Nessun dato)
-
15 – Warning (Avvertenza)
-
20 – Degraded (Degradato)
-
25 – Severe (Grave)
-
InstancesSevere
InstancesDegraded
InstancesWarning
InstancesInfo
InstancesOk
InstancesPending
InstancesUnknown
InstancesNoData
-
Solo ambiente. Questi parametri indicano il numero di istanze nell'ambiente con ciascuno stato di integrità.
InstancesNoData
indica il numero di istanze per cui i dati non vengono ricevuti. ApplicationRequestsTotal
ApplicationRequests5xx
ApplicationRequests4xx
ApplicationRequests3xx
ApplicationRequests2xx
-
Istanza e ambiente. Indica il numero totale di richieste completate dall'istanza o dall'ambiente e il numero di richieste completate con ogni categoria di codice di stato.
ApplicationLatencyP10
ApplicationLatencyP50
ApplicationLatencyP75
ApplicationLatencyP85
ApplicationLatencyP90
ApplicationLatencyP95
ApplicationLatencyP99
ApplicationLatencyP99.9
-
Istanza e ambiente. Indica il periodo di tempo medio, in secondi, necessario per completare la percentuale x più veloce di richieste.
InstanceHealth
-
Solo istanza. Indica lo stato corrente dell'istanza. È rappresentato da uno di sette stati. Nella console di CloudWatch questi stati sono mappati ai seguenti valori:
-
0 – OK
-
1 – Info
-
5 – Unknown (Sconosciuto)
-
10 – No data (Nessun dato)
-
15 – Warning (Avvertenza)
-
20 – Degraded (Degradato)
-
25 – Severe (Grave)
-
Parametri disponibili – Linux
CPUIrq
CPUIdle
CPUUser
CPUSystem
CPUSoftirq
CPUIowait
CPUNice
-
Solo istanza. Indica la percentuale di tempo che la CPU ha passato in ogni stato nell'ultimo minuto.
LoadAverage1min
-
Solo istanza. Il carico medio della CPU dell'istanza nell'ultimo minuto.
RootFilesystemUtil
-
Solo istanza. Indica la percentuale di spazio su disco utilizzato.
Parametri disponibili – Windows
CPUIdle
CPUUser
CPUPriveleged
-
Solo istanza. Indica la percentuale di tempo che la CPU ha passato in ogni stato nell'ultimo minuto.
Configurazione dei parametri di CloudWatch mediante la console Elastic Beanstalk
Puoi utilizzare la console Elastic Beanstalk per configurare l'ambiente in modo da pubblicare parametri del reporting dello stato avanzato in CloudWatch e renderli disponibili per grafici di monitoraggio e allarmi.
Per configurare i parametri personalizzati di CloudWatch nella console Elastic Beanstalk
Apri la console Elastic Beanstalk
e nell'elenco Regions (Regioni) seleziona la tua Regione AWS. -
Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.
Nota
Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.
Nel riquadro di navigazione, seleziona Configuration (Configurazione).
-
Nella categoria di configurazione Monitoring (Monitoraggio), scegliere Edit (Modifica).
-
In Health reporting (Reporting dello stato), selezionare i parametri di istanza e di ambiente da pubblicare in CloudWatch. Per selezionare più parametri, premere il tasto CTRL durante la selezione.
-
Per salvare le modifiche scegli Apply (Applica) nella parte inferiore della pagina.
L'abilitazione dei parametri personalizzati di CloudWatch ne determina l'aggiunta all'elenco di parametri disponibile nella pagina Monitoring (Monitoraggio).
Configurazione dei parametri personalizzati di CloudWatch mediante l'interfaccia a riga di comando EB
Puoi utilizzare l'interfaccia a riga di comando EB per configurare parametri personalizzati salvando la configurazione dell'ambiente in locale, aggiungendo una voce che definisca i parametri da pubblicare e caricando la configurazione in Elastic Beanstalk. Puoi applicare la configurazione salvata a un ambiente durante o dopo la creazione.
Configurazione di parametri personalizzati di CloudWatch con l'interfaccia a riga di comando EB e configurazioni salvate
-
Inizializza la tua cartella di progetto con eb init.
-
Crea un ambiente eseguendo il comando eb create.
-
Salva un modello di configurazione in locale eseguendo il comando eb config save. L'esempio seguente utilizza l'opzione
--cfg
per specificare il nome della configurazione.$
eb config save --cfg
Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml01-base-state
-
Apri il file di configurazione salvato in un editor di testo.
-
In
OptionSettings
>aws:elasticbeanstalk:healthreporting:system:
, aggiungi una chiaveConfigDocument
per abilitare ogni parametro di CloudWatch desiderato. Ad esempio, la chiaveConfigDocument
seguente pubblica i parametriApplicationRequests5xx
eApplicationRequests4xx
a livello di ambiente e i parametriApplicationRequestsTotal
a livello di istanza.OptionSettings: ... aws:elasticbeanstalk:healthreporting:system:
ConfigDocument: CloudWatchMetrics: Environment: ApplicationRequests5xx: 60 ApplicationRequests4xx: 60 Instance: ApplicationRequestsTotal: 60 Version: 1
SystemType: enhanced ...Nell'esempio, 60 indica il numero di secondi tra le misure. Attualmente, questo è il solo valore supportato.
Nota
Puoi combinare
CloudWatchMetrics
eRules
nella stessa impostazione dell'opzioneConfigDocument
. LeRules
sono descritte in Configurazione delle regole dello stato migliorato per un ambiente.Se hai già utilizzato
Rules
per configurare le regole dello stato migliorato, il file di configurazione che recuperi utilizzando il comando eb config save dispone già di una chiaveConfigDocument
con una sezioneRules
. Non eliminarla, ma aggiungi una sezioneCloudWatchMetrics
allo stesso valore dell'opzioneConfigDocument
. -
Salva il file di configurazione e chiudi l'editor di testo. In questo esempio, il file di configurazione aggiornato viene salvato con un nome (
02-cloudwatch-enabled.cfg.yml
) diverso rispetto al file di configurazione scaricato. In questo modo, si crea una configurazione salvata distinta quando si carica il file. Puoi utilizzare lo stesso nome del file scaricato per sovrascrivere la configurazione esistente senza crearne una nuova. -
Usa il comando eb config put per caricare il file di configurazione aggiornato in Elastic Beanstalk.
$
eb config put
02-cloudwatch-enabled
Quando utilizzi i comandi eb config
get
eput
con configurazioni salvate, non includere l'estensione di file. -
Applica la configurazione salvata all'ambiente in esecuzione.
$
eb config --cfg
02-cloudwatch-enabled
L'opzione
--cfg
specifica un file di configurazione con nome che viene applicato all'ambiente. Puoi salvare il file di configurazione in locale o in Elastic Beanstalk. Se un file di configurazione con il nome specificato esiste in entrambi i percorsi, l'interfaccia a riga di comando EB utilizza il file locale.
Specifica dei documenti di configurazione per parametri personalizzati
Il documento di configurazione (config) per i parametri personalizzati di Amazon CloudWatch è un documento in formato JSON che elenca i parametri da pubblicare a livello di ambiente e di istanza. L'esempio seguente mostra un documento di configurazione che abilita tutti i parametri personalizzati disponibili su Linux.
{
"CloudWatchMetrics": {
"Environment": {
"ApplicationLatencyP99.9": 60,
"InstancesSevere": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"InstancesUnknown": 60,
"ApplicationLatencyP85": 60,
"InstancesInfo": 60,
"ApplicationRequests2xx": 60,
"InstancesDegraded": 60,
"InstancesWarning": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"InstancesNoData": 60,
"InstancesPending": 60,
"ApplicationLatencyP10": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"InstancesOk": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60
},
"Instance": {
"ApplicationLatencyP99.9": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"ApplicationLatencyP85": 60,
"CPUUser": 60,
"ApplicationRequests2xx": 60,
"CPUIdle": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"RootFilesystemUtil": 60,
"LoadAverage1min": 60,
"CPUIrq": 60,
"CPUNice": 60,
"CPUIowait": 60,
"ApplicationLatencyP10": 60,
"LoadAverage5min": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"CPUSystem": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60,
"InstanceHealth": 60,
"CPUSoftirq": 60
}
},
"Version": 1
}
Per la AWS CLI, devi passare il documento come valore della chiave Value
in un argomento di impostazioni delle opzioni, che è anch'esso un oggetto JSON. In questo caso, devi specificare il carattere di escape per le virgolette nel documento incorporato.
$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[
{
"Namespace": "aws:elasticbeanstalk:healthreporting:system",
"OptionName": "ConfigDocument",
"Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": 60,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": 60,\"ApplicationRequests2xx\": 60,\"InstancesDegraded\": 60,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"InstancesNoData\": 60,\"InstancesPending\": 60,\"ApplicationLatencyP10\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"InstancesOk\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60},\"Instance\": {\"ApplicationLatencyP99.9\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"ApplicationLatencyP85\": 60,\"CPUUser\": 60,\"ApplicationRequests2xx\": 60,\"CPUIdle\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": 60,\"LoadAverage1min\": 60,\"CPUIrq\": 60,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": 60,\"LoadAverage5min\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60,\"InstanceHealth\": 60,\"CPUSoftirq\": 60}},\"Version\": 1}"
}
]'
Per un file di configurazione .ebextensions
in YAML, puoi fornire il documento in formato JSON così com'è.
option_settings:
- namespace: aws:elasticbeanstalk:healthreporting:system
option_name: ConfigDocument
value: {
"CloudWatchMetrics": {
"Environment": {
"ApplicationLatencyP99.9": 60,
"InstancesSevere": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"InstancesUnknown": 60,
"ApplicationLatencyP85": 60,
"InstancesInfo": 60,
"ApplicationRequests2xx": 60,
"InstancesDegraded": 60,
"InstancesWarning": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"InstancesNoData": 60,
"InstancesPending": 60,
"ApplicationLatencyP10": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"InstancesOk": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60
},
"Instance": {
"ApplicationLatencyP99.9": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"ApplicationLatencyP85": 60,
"CPUUser": 60,
"ApplicationRequests2xx": 60,
"CPUIdle": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"RootFilesystemUtil": 60,
"LoadAverage1min": 60,
"CPUIrq": 60,
"CPUNice": 60,
"CPUIowait": 60,
"ApplicationLatencyP10": 60,
"LoadAverage5min": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"CPUSystem": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60,
"InstanceHealth": 60,
"CPUSoftirq": 60
}
},
"Version": 1
}