Definizione delle regole di instradamento
Per definire una regola di instradamento, è necessario specificare 1 o più destinazioni come destinazioni per le metriche. È anche possibile definire 1 o più filtri di inclusione che definiscono le condizioni di come tali metriche vengono instradate a tali destinazioni.
Per ogni instradamento che definisci nell'account, puoi configurare fino a 10 regole. Le regole specificano quali metriche vengono instradate in una regione e dove instradarle. Per ulteriori informazioni, vedi Descrizione del funzionamento degli instradamenti nel tuo account.
Una regola è composta da 1 azione, 1 o più destinazioni e 0 o più filtri di inclusione.
Destinazioni
Le destinazioni definiscono l'elenco di ID di destinazione in cui vengono instradate le metriche.
-
È possibile specificare fino a tre ID di destinazione per regola.
-
Puoi definire gli ID di destinazione per le risorse disponibili nella stessa regione in cui stai configurando la rotta, in una regione diversa e in un account diverso.
Ad esempio, è possibile definire un elenco di destinazioni nel modo seguente:
"targets": [{"id":"11111111-1111-1111-1111-111111111111"},{"id":"22222222-2222-2222-2222-222222222222"}]
Le destinazioni devono essere istanze IBM Cloud Monitoring.
Azione
L'azione definisce se IBM Cloud® Metrics Routing include o esclude le metriche sulla rotta. Sono supportate due azioni: send e drop. Se non specificato, l'azione predefinita consiste nell'inviare le metriche.
send- Le metriche vengono inviate, in base alla regola di instradamento, all'instradamento definito.
drop- Le metriche vengono escluse, in base alla regola di instradamento, quando le metriche vengono inviate sull'instradamento definito.
Filtri di inclusione
I filtri di inclusione definiscono le condizioni che vengono utilizzate per stabilire quali metriche vengono instradate alle destinazioni specificate nella regola.
Per instradare tutte le metriche, escludere la definizione inclusion_filters quando si configura un instradamento.
I filtri di inclusione sono composti da operand, operator e value:
operand-
L'operando è il nome della proprietà nella destinazione utilizzata per filtrare i dati. Sono supportati i seguenti operandi:
location,service_name,service_instance,resource_typeeresource. Il valore viene estratto dal CRN di destinazione. operator-
Sono supportati due operatori:
ineis.in-
Il valore della proprietà operando viene confrontato con un elenco di valori.
È possibile definire fino a 20 valori.
is-
Il valore della proprietà operando viene confrontato con un singolo valore.
Quando si utilizza
is, è possibile specificare solo 1 valore.
value-
Una stringa, o un array di stringhe, da confrontare con la proprietà
operandper stabilire se la metrica è instradata o meno. Quando viene utilizzatoisoperator,valuedeve includere una singola stringa. Quando si utilizzainoperator,valuepuò includere più stringhe in un array.I valori validi dipendono da
operand.location- Qualsiasi ubicazione in cui IBM Cloud Metrics Routing è disponibile.
service_name- Il nome del servizio CRN di un servizio [IBM Cloud che genera metriche gestite tramiteIBM Cloud Metrics Routing
service_instance,resource_typeeresource- Valori appropriati per un servizio [IBM Cloud che genera metriche gestite tramiteIBM Cloud Metrics Routing
Notare queste limitazioni quando si configurano filtri di inclusione.
-
È possibile configurare fino a 7 filtri di inclusione per ogni regola.
-
È possibile configurare fino a 20 valori per
inclusion_filter.values. -
Ogni valore configurato per
inclusion_filter.valuespuò contenere un massimo di 100 caratteri.
Accesso IAM
Gli utenti devono avere i ruoli IAM appropriati per gestire le regole di instradamento. Per informazioni sui ruoli IAM, vedi Gestione dell'accesso IAM.
Definizione delle regole di instradamento tramite l'interfaccia utente
Per ulteriori informazioni, vedere Gestione delle rotte.
Definizione delle regole di instradamento utilizzando la CLI
Le regole per gli instradamenti e i filtri di inclusione sono definiti in formato JSON. Le regole sono definite nei modi seguenti:
- Utilizzando l'opzione
--rules, le informazioni vengono trasmesse come JSON direttamente sul comando. - Utilizzando le opzioni
--files, le informazioni vengono passate come file JSON.
Esempio che usa l'opzione --rules
Il seguente esempio specifica le regole direttamente sull'opzione --rules. In questo esempio, tutte le metriche da us-east vengono instradate a 11111111-1111-1111-1111-1111111111111. Tutte le metriche
da appconnect, cloudant e containers-kupernetes vengono instradate a 22222222-2222-2222-2222-222222222222 e 33333333-3333-3333-3333-3333333333333.
[{"action": "send", "targets":[{"id":"11111111-1111-1111-1111-1111111111111"}], "inclusion_filters":[{"operand": "location","operator": "is","values": ["us-east"]}]},{"targets":[{"id":"22222222-2222-2222-2222-222222222222"},{"id":"33333333-3333-3333-3333-3333333333333"}], "inclusion_filters":[{"operand": "service_name","operator": "in","values": ["appconnect","cloudant","containers-kubernetes"]}]}]'
Esempio che usa l'opzione --file
Il seguente esempio specifica le regole passando un file JSON denominato rules_def.json nell'opzione --file :
--file rules_def.json
Il file rules_def.json contiene:
[
{
"action":"send",
"targets": [
{
"id":"11111111-1111-1111-1111-111111111111"
},
{
"id":"22222222-2222-2222-2222-222222222222"
}
],
"inclusion_filters": [
{
"operand": "service_name",
"operator": "in",
"values": [
"appconnect",
"cloudant",
"containers-kubernetes"
]
},
{
"operand": "location",
"operator": "in",
"values": [
"us-south",
"eu-de"
]
}
]
}
]
In questo esempio, solo le metriche da appconnect, cloudant e containers-kubernetes dalle region us-south e eu-de vengono instradate alle destinazioni 11111111-1111-1111-1111-111111111111 e 22222222-2222-2222-2222-222222222222.
Definire le regole di instradamento utilizzando l'API
Le destinazioni e i filtri di inclusione vengono definiti in chiamate API utilizzando rules. I rules sono definiti in una struttura JSON.
Ad esempio, il seguente esempio crea una rotta denominata my-route e invia metriche da codeengine e container-registry nella regione us-east alle destinazioni 11111111-1111-1111-1111-111111111111 e 22222222-2222-2222-2222-222222222222.
curl -X POST https://private.<REGION>.metrics-router.cloud.ibm.com/api/v3/routes -H "Authorization: Bearer <IAM_TOKEN>" -H 'content-type: application/json' -d '{
"name": "my-route",
"rules": [
{
"action":"send",
"targets": [{"id":"11111111-1111-1111-1111-111111111111"}, {"id":"22222222-2222-2222-2222-222222222222"}],
"inclusion_filters": [
{
"operand": "location",
"operator": "is",
"values": ["us-east"]
},
{
"operand": "service_name",
"operator": "in",
"values": ["codeengine","container-registry"]
}
]
}
]
}'
Per ulteriori informazioni, vedi la Guida di riferimento API.