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 di parametri Amazon CloudWatch personalizzati per un ambiente
Puoi pubblicare i dati raccolti tramite la reportistica sanitaria AWS Elastic Beanstalk avanzata su Amazon CloudWatch come metriche personalizzate. La pubblicazione di metriche CloudWatch consente di monitorare i cambiamenti nelle prestazioni delle applicazioni nel tempo e identificare potenziali problemi monitorando la scalabilità dell'utilizzo delle risorse e della latenza delle richieste in base al carico.
Pubblicando le metriche su CloudWatch, le rendi disponibili anche per l'uso con grafici e allarmi di monitoraggio. Una metrica gratuita viene abilitata automaticamente quando si utilizzano i report sanitari avanzati. EnvironmentHealth Metriche personalizzate diverse dalle tariffe EnvironmentHealthstandard. CloudWatch
Per pubblicare metriche CloudWatch personalizzate per un ambiente, devi prima abilitare la reportistica avanzata sullo stato dell'ambiente. Per istruzioni, consulta Abilitazione del reporting dello stato avanzato Elastic Beanstalk.
Argomenti
Parametri del reporting sullo stato migliorato
Quando abiliti la reportistica sanitaria avanzata nel tuo ambiente, il sistema di reporting sanitario avanzato pubblica automaticamente una metrica CloudWatch personalizzata,. EnvironmentHealth Per pubblicare metriche aggiuntive CloudWatch, configura il tuo ambiente con tali metriche utilizzando la console Elastic Beanstalk, EB o .ebextensions. CLI
Puoi pubblicare le seguenti metriche sanitarie avanzate dal tuo ambiente su. CloudWatch
Parametri disponibili – Tutte le piattaforme
EnvironmentHealth
-
Solo ambiente. Questa è l'unica CloudWatch metrica pubblicata dal sistema di reporting sanitario avanzato, a meno che non si configurino metriche aggiuntive. Lo stato dell'ambiente è rappresentato da uno di sette stati. Nella CloudWatch console, questi stati vengono 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 CloudWatch console, 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 CPU ha trascorso in ogni stato nell'ultimo minuto.
LoadAverage1min
-
Solo istanza. Il CPU carico medio dell'istanza nell'ultimo minuto.
RootFilesystemUtil
-
Solo istanza. Indica la percentuale di spazio su disco utilizzato.
Parametri disponibili – Windows
CPUIdle
CPUUser
CPUPrivileged
-
Solo istanza. Indica la percentuale di tempo trascorso in ogni stato nell'ultimo minuto. CPU
Configurazione delle CloudWatch metriche utilizzando la console Elastic Beanstalk
Puoi utilizzare la console Elastic Beanstalk per configurare il tuo ambiente in cui pubblicare CloudWatch metriche di reporting sanitario avanzate e renderle disponibili per l'uso con grafici e allarmi di monitoraggio.
Per configurare metriche CloudWatch personalizzate nella console Elastic Beanstalk
Apri la console Elastic Beanstalk
e, nell'elenco 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, seleziona le metriche dell'istanza e dell'ambiente su cui pubblicare CloudWatch. Per selezionare più parametri, premere il tasto CTRL durante la selezione.
-
Per salvare le modifiche scegli Apply (Applica) nella parte inferiore della pagina.
Configurazione di metriche CloudWatch personalizzate utilizzando l'EB CLI
Puoi utilizzare EB CLI per configurare metriche personalizzate salvando la configurazione dell'ambiente localmente, aggiungendo una voce che definisce le metriche da pubblicare e quindi caricando la configurazione su Elastic Beanstalk. Puoi applicare la configurazione salvata a un ambiente durante o dopo la creazione.
Per configurare metriche CloudWatch personalizzate con l'EB e le configurazioni salvate CLI
-
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 unaConfigDocument
chiave per abilitare ciascuna delle CloudWatch metriche che desideri. 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 entrambe le posizioni, l'EB CLI utilizza il file locale.
Specifica dei documenti di configurazione per parametri personalizzati
Il documento di configurazione (config) per i parametri CloudWatch personalizzati di Amazon è un JSON documento che elenca i parametri da pubblicare a livello di ambiente e 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 il AWS CLI, si passa il documento come valore per la Value
chiave in un argomento delle impostazioni delle opzioni, che a sua volta è 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 inserire un file di .ebextensions
configurazioneYAML, potete fornire il JSON documento 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
}