Questo documento descrive come configurare un controllo di uptime per convalidare
il codice di risposta HTTP e i dati di risposta inviati da una risorsa selezionata. Di
Per impostazione predefinita, i controlli di uptime HTTP verificano che il codice di risposta sia 2xx
. Inoltre,
per impostazione predefinita, i dati della risposta non vengono convalidati. Tuttavia, puoi modificarle
impostazioni. Ad esempio, puoi configurare un controllo di uptime HTTP per accettare
Codici di risposta di 2xx
e 3xx
. Per tutti i controlli di uptime,
puoi specificare un valore che i dati di risposta
devono, o non devono, contenere affinché il controllo di uptime abbia esito positivo.
Come convalidare i dati della risposta
Puoi configurare Cloud Monitoring per convalidare i dati di risposta da una risorsa selezionata quando crei o modifichi un controllo di uptime.
Console Google Cloud
Per creare un controllo di uptime che convalidi le di risposta, procedi nel seguente modo:
-
Nella console Google Cloud, vai alla pagina Controlli di uptime:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.
- Fai clic su Crea controllo di uptime.
- Inserisci un Titolo e fai clic su Avanti.
- Inserisci il Target e fai clic su Avanti.
Configura la convalida della risposta:
- Per convalidare i dati di risposta, assicurati che la corrispondenza dei contenuti sia attivata , quindi compila i campi relativi alla convalida della risposta. Per informazioni su queste opzioni, consulta la sezione successiva documento.
- Per i controlli di uptime HTTP, configura i codici di risposta accettabili.
Per impostazione predefinita, i controlli di uptime HTTP contrassegnano qualsiasi
Risposta
2xx
come risposta riuscita.
Fai clic su Avanti e completa la configurazione del controllo di uptime.
API Cloud Monitoring
Per configurare un controllo di uptime per convalidare i dati di risposta,
completa l'array contentMatchers
UptimeCheckConfig
.
ContentMatcher
oggetti
contengono i seguenti campi:
matcher
: descrive come viene eseguito il confronto. Per un elenco di valori, vediContentMatcherOption
.Non utilizzare il valore
CONTENT_MATCHER_OPTION_UNSPECIFIED
.content
: memorizza il valore da cercare nei dati di risposta. La value è un valore letterale di stringa o un'espressione regolare.jsonPathMatcher
: memorizza unJsonPathMatcher
che descrive quale JSONpath cercare e come eseguire il confronto.Ometti questo campo a meno che il controllo di uptime non stia convalidando un JSONpath specifico.
La parte restante di questo documento descrive come utilizzare la corrispondenza di contenuti le opzioni di CPU e memoria disponibili.
Opzioni per convalidare i dati della risposta
Questa sezione descrive le strategie di corrispondenza delle stringhe che puoi per convalidare la risposta inviata da una risorsa selezionata. Per ogni strategia, specifichi un valore e se lo trovi nei dati di risposta determina il superamento o il mancato superamento del controllo di uptime.
Potrebbe non essere possibile eseguire la ricerca nella risposta completa di una risorsa selezionata:
- Controlli di uptime HTTP e HTTPS: il primo La ricerca ha una dimensione di 4 MB.
- Controlli di uptime TCP: la ricerca viene eseguita nel primo MB.
Cerca una sottostringa letterale
Console Google Cloud
Per configurare il controllo di uptime da superare quando i dati della risposta contengono un una sottostringa letterale, utilizza le seguenti impostazioni:
- Seleziona Contiene nel menu Tipo di corrispondenza dei contenuti della risposta.
- Inserisci la sottostringa letterale nel campo Contenuto della risposta.
- Per verificare la configurazione, fai clic su Test.
Per configurare il controllo di uptime in modo che non vada a buon fine quando i dati della risposta contengono un utilizza le seguenti impostazioni:
- Seleziona Non contiene nel menu Tipo di corrispondenza dei contenuti della risposta.
- Inserisci la sottostringa letterale nel campo Contenuto della risposta.
- Per verificare la configurazione, fai clic su Test.
API Cloud Monitoring
Per configurare il controllo di uptime da superare quando i dati della risposta contengono un una sottostringa letterale, utilizza i seguenti valori:
... "contentMatchers": [ { "content": "Set to the string to be matched.", "matcher": "CONTAINS_STRING" } ], ...
Per configurare il controllo di uptime in modo che non vada a buon fine quando i dati della risposta contengono un una sottostringa letterale, utilizza i seguenti valori:
... "contentMatchers": [ { "content": "Set to the string to be matched.", "matcher": "NOT_CONTAINS_STRING" } ], ...
La tabella seguente mostra lo stato del controllo di uptime per diversi dati di risposta, stringhe di test e tipi di test:
Stato del controllo di uptime | |||
---|---|---|---|
Dati di risposta | Stringa di prova | Contiene | Non contiene |
abcd |
abcd |
superata | non superata |
abc |
abcd |
non superata | superata |
abc |
a |
superata | non superata |
Uptime Checks |
Uptime |
superata | non superata |
Uptime Checks |
uptime |
non superata | superata |
Nella tabella precedente, la colonna Dati di risposta descrive i dati restituito dalla risorsa selezionata mentre la colonna Stringa di test elenca le stringa letterale. Le due colonne successive specificano il tipo di test e il risultato del controllo di uptime.
Cerca utilizzando un'espressione regolare
Console Google Cloud
Per configurare il controllo di uptime in modo che venga superato quando i dati della risposta corrispondono un'espressione regolare, utilizza le seguenti impostazioni:
- Seleziona Corrisponde a regex nel menu Tipo di corrispondenza dei contenuti della risposta.
- Inserisci un'espressione regolare nel campo Contenuto della risposta.
- Per verificare la configurazione, fai clic su Test.
Configurare il controllo di uptime in modo che non vada a buon fine quando i dati di risposta corrispondono. un'espressione regolare, utilizza le seguenti impostazioni:
- Seleziona Non corrisponde all'espressione regolare nel menu Tipo di corrispondenza dei contenuti della risposta.
- Inserisci un'espressione regolare nel campo Contenuto della risposta.
- Per verificare la configurazione, fai clic su Test.
API Cloud Monitoring
Per configurare il controllo di uptime in modo che venga superato quando i dati della risposta corrispondono un'espressione regolare, utilizza i seguenti valori:
... "contentMatchers": [ { "content": "Set to the regular expression to be matched.", "matcher": "MATCHES_REGEX" } ], ...
Configurare il controllo di uptime in modo che non vada a buon fine quando i dati di risposta corrispondono. un'espressione regolare, utilizza i seguenti valori:
... "contentMatchers": [ { "content": "Set to the regular expression to be matched.", "matcher": "NOT_MATCHES_REGEX" } ], ...
La tabella seguente mostra lo stato del controllo di uptime per diversi dati di risposta, espressioni regolari e tipi di test:
Stato del controllo di uptime | |||
---|---|---|---|
Dati di risposta | Regex | Corrisponde a espressione regolare | Non corrisponde alla regex |
abcd |
abcd |
superata | non superata |
Uptime Checks |
[uU]ptime |
superata | non superata |
Uptime Checks |
[a-z]{6} |
non superata | superata |
Uptime Checks |
[a-zA-Z]{6} |
superata | non superata |
Nella tabella precedente, la colonna Dati di risposta descrive i dati restituito dalla risorsa selezionata mentre la colonna Regex elenca le un'espressione regolare. Le due colonne successive specificano il tipo di test e il risultato del controllo di uptime.
Cerca un campo specifico in una risposta JSON
Puoi configurare un controllo di uptime per convalidare un JSONpath. Quando selezioni JSONpath, il test confronta un valore di percorso con un numero, un valore letterale stringa o a un'espressione regolare:
- Confrontare JSONpath con un numero o un valore letterale stringa
- Confrontare JSONpath con un'espressione regolare
Quando specifichi un JSONpath, devi specificare l'oggetto principale con $.
e
e poi con un identificatore di campo specifico. Quando la risposta JSON
contiene un array di elementi, utilizza le parentesi quadre ([]
) per identificare
uno specifico elemento array da abbinare. I seguenti esempi illustrano
sintassi del percorso:
$.type
corrisponde al campotype
di un oggetto principale.$.[0].address.city
corrisponde al campocity
nell'oggettoaddress
archiviato nel primo elemento array della risposta JSON.$.content[0].phone
corrisponde al campophone
del primo elemento dell'array del campocontent
. Il campocontent
è un campo secondario dell'oggetto principale.
Puoi configurare un test di uptime in modo che corrisponda a più campi. Considera le seguente JSON:
[
{
...
"address": {
...
"city": "Gwenborough",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
},
...
]
Per trovare la corrispondenza con l'intero percorso del campo geo
nel primo elemento dell'array,
imposta JSONpath su $.[0].address.geo
e inserisci il valore completo
nel campo dei contenuti:
{
"lat": "-37.3159",
"lng": "81.1496"
}
Se ti interessa sperimentare queste opzioni, trova un che restituisce una risposta JSON. Ad esempio: consulta JSON Test.
Confronta JSONpath con un numero o un valore letterale stringa
Console Google Cloud
per configurare il controllo di uptime in modo che venga superato quando un JSONpath specifico nel i dati della risposta corrispondono a un valore letterale stringa, utilizza le seguenti impostazioni:
- Seleziona Corrisponde a JSONPath nel menu Tipo di corrispondenza dei contenuti della risposta.
- Inserisci il percorso nel campo JSONPath.
- Inserisci il numero o il valore letterale della stringa nel campo Contenuto della risposta.
- Per verificare la configurazione, fai clic su Test.
configurare il controllo di uptime in modo che non vada a buon fine quando un file JSONpath specifico nel i dati della risposta corrispondono a un valore letterale stringa, utilizza le seguenti impostazioni:
- Seleziona Non corrisponde a JSONPath nel menu Tipo di corrispondenza dei contenuti della risposta.
- Inserisci il percorso nel campo JSONPath.
- Inserisci il numero o il valore letterale della stringa nel campo Contenuto della risposta.
- Per verificare la configurazione, fai clic su Test.
API Cloud Monitoring
Per configurare il controllo di uptime in modo che venga superato quando un campo specifico nella
La risposta in formato JSON corrisponde a un numero o a un valore letterale stringa,
utilizza i seguenti valori per l'oggetto ContentMatcher
:
... "contentMatchers": [ { "content" : "Set to a number, a boolean, or the string to be matched.", "matcher" : "MATCHES_JSON_PATH", "jsonPathMatcher" : { "jsonPath" : "Set to the JSONpath.", "jsonMatcher" : "EXACT_MATCH" } ], ...
per configurare il controllo di uptime in modo che non vada a buon fine quando un campo specifico nella
La risposta in formato JSON corrisponde a un numero o a un valore letterale stringa,
utilizza i seguenti valori per l'oggetto ContentMatcher
:
... "contentMatchers": [ { "content" : "Set to a number, a boolean, or the string to be matched.", "matcher" : "NOT_MATCHES_JSON_PATH", "jsonPathMatcher" : { "jsonPath" : "Set to the JSONpath.", "jsonMatcher" : "EXACT_MATCH" } ], ...
Per illustrare come funzionano i test di corrispondenza della stringa JSONpath: prendi in considerazione i seguenti dati di risposta JSON:
{ "name": "Sample Uptime Check", "type": "JSONpath", "content": [ { "id": 1, "phone": "1234567890", "alias": "Exact", "enabled": true, }, { "id": 2, "phone": "1234512345", "alias": "Regex", "enabled": false, } ] }
La tabella seguente mostra lo stato del controllo di uptime per la risposta precedente. ma per percorsi, valori di test e tipi di test diversi:
Stato del controllo di uptime | |||
---|---|---|---|
JSONpath | Valore test | Corrispondenze JSONpath | JSONpath non corrisponde |
$. |
"JSONpath" |
superata | non superata |
$. |
"Sample" |
non superata | superata |
$. |
"Sample Uptime Check" |
superata | non superata |
$. |
1 |
superata | non superata |
$. |
"Exact" |
superata | non superata |
$. |
true |
superata | non superata |
Nella tabella precedente, la colonna JSONpath identifica l'elemento da test, mentre nella colonna Valore test viene visualizzato il valore. Le due colonne successive specificare il tipo di test e il risultato del controllo di uptime.
Confrontare JSONpath con un'espressione regolare
Le corrispondenze con espressioni regolari supportano la corrispondenza di una stringa, un numero, un valore booleano e valori JSON nulli.
Console Google Cloud
per configurare il controllo di uptime in modo che venga superato quando un JSONpath specifico nel dei dati di risposta corrispondono a un'espressione regolare, utilizza le seguenti impostazioni:
- Seleziona Corrisponde a JSONPath nel menu Tipo di corrispondenza dei contenuti della risposta.
- Inserisci il percorso nel campo JSONPath.
- Inserisci l'espressione regolare nel campo Contenuto della risposta.
- Per verificare la configurazione, fai clic su Test.
configurare il controllo di uptime in modo che non vada a buon fine quando un file JSONpath specifico nel dei dati di risposta corrispondono a un'espressione regolare, utilizza le seguenti impostazioni:
- Seleziona Non corrisponde a JSONPath nel menu Tipo di corrispondenza dei contenuti della risposta.
- Inserisci il percorso nel campo JSONPath.
- Inserisci l'espressione regolare nel campo Contenuto della risposta.
- Per verificare la configurazione, fai clic su Test.
API Cloud Monitoring
Per configurare il controllo di uptime in modo che venga superato quando un campo specifico nella
La risposta in formato JSON corrisponde a un'espressione regolare, utilizza quanto segue
valori per l'oggetto ContentMatcher
:
... "contentMatchers": [ { "content" : "Set to the regular expression to be matched." "matcher" : "MATCHES_JSON_PATH", "jsonPathMatcher" : { "jsonPath" : "Set to the JSONpath.", "jsonMatcher" : "REGEX_MATCH" } ], ...
per configurare il controllo di uptime in modo che non vada a buon fine quando un campo specifico nella
La risposta in formato JSON corrisponde a un'espressione regolare, utilizza quanto segue
valori per l'oggetto ContentMatcher
:
... "contentMatchers": [ { "content" : "Set to the regular expression to be matched.", "matcher" : "NOT_MATCHES_JSON_PATH", "jsonPathMatcher" : { "jsonPath" : "Set to the JSONpath.", "jsonMatcher" : "REGEX_MATCH" } ], ...
Per illustrare come funzionano i test di espressione regolare JSONpath: prendi in considerazione i seguenti dati di risposta JSON:
{ "name": "Sample Uptime Check", "type": "JSONpath", "content": [ { "id": 1, "phone": "1234567890", "alias": "Exact", "enabled": true, }, { "id": 2, "phone": "1234512345", "alias": "Regex", "enabled": false, } ] }
La tabella seguente mostra lo stato del controllo di uptime per la risposta precedente. ma per percorsi, espressioni regolari e tipi di test diversi:
Stato del controllo di uptime | |||
---|---|---|---|
JSONpath | Regex | JSONpath corrisponde alla regex | JSONpath non corrisponde alla regex |
$. |
[A-Z]{4}Path |
superata | non superata |
$. |
Sample |
non superata | superata |
$. |
. |
superata | non superata |
$. |
2 |
superata | non superata |
$. |
"[12345]{2}" |
superata | non superata |
$. |
f. |
superata | non superata |
Nella tabella precedente, la colonna JSONpath identifica l'elemento da test e nella colonna Regex viene elencata l'espressione regolare. Le due colonne successive specificare il tipo di test e il risultato del controllo di uptime.
Passaggi successivi
- Crea un controllo di uptime
- Gestire i controlli di uptime
- Crea criteri di avviso per i controlli di uptime