Pubblicazione di metriche personalizzate mediante l'API
Pubblica le metriche personalizzate nel servizio di monitoraggio.
Configurazioni agente sono un altro modo per pubblicare metriche personalizzate nel servizio di monitoraggio. Con le configurazioni agente, l'API non è necessariamente necessaria per pubblicare metriche personalizzate. Ora puoi utilizzare le configurazioni dell'agente per includere i dati delle metriche nelle metriche personalizzate. Ad esempio, esporre le metriche da una virtual machine (VM) utilizzando un endpoint HTTP in formato Prometheus.
Una metrica personalizzata è una metrica progettata per raccogliere e analizzare i dati.
Ad esempio, creare una metrica productOrder
(in uno spazio di nomi di metrica, mymetricsnamespace
) per tenere traccia degli ordini di prodotti per paese e divisione, con metadati aggiuntivi per categorie di prodotti e note.
Informazioni preliminari
Criteri IAM: per pubblicare le metriche personalizzate, è necessario disporre del tipo di accesso richiesto in un criterio scritto da un amministratore. Questo requisito si applica sia che si utilizzi l'API REST con un SDK, un'interfaccia CLI o un altro strumento. Se si riceve un messaggio che non si dispone dell'autorizzazione o che non si è autorizzati, rivolgersi all'amministratore. È possibile che non si disponga del tipo di accesso richiesto nel compartimento corrente.
Amministratori: per un criterio di esempio, vedere Pubblica metriche personalizzate (protezione del monitoraggio).
Considerazioni
Durante la definizione delle metriche personalizzate, tenere presente quanto riportato di seguito.
- Per lo spazio di nomi delle metriche, non utilizzare un prefisso riservato (
oci_
ooracle_
). - Assicurarsi che le metriche personalizzate non superino i limiti. Si noti, ad esempio, l'intervallo valido di dimensioni e il numero massimo di flussi per le metriche personalizzate. Vedere PostMetricData.
- Definire le metriche tenendo presente l'aggregazione. Sebbene le metriche personalizzate possano essere pubblicate con la stessa frequenza di ogni secondo (frequenza minima di un secondo), l'intervallo di aggregazione minimo è di un minuto.
- Definire le metriche tenendo presenti i limiti di ritorno. Le informazioni sui limiti per i dati restituiti includono il massimo di 100.000 datapoint e il massimo di intervallo di tempo (determinato dalla risoluzione, relativo all'intervallo). Vedere MetricData. Vedere anche Limiti sul monitoraggio.
- Assicurarsi che i valori dell'indicatore orario siano prossimi all'ora corrente. Per poter contabilizzare un datapoint, il relativo indicatore orario deve essere vicino all'ora corrente (meno di due ore nel passato e meno di 10 minuti nel futuro). Vedere PostMetricData.
- Dopo aver pubblicato le metriche personalizzate, è possibile accedervi nello stesso modo in cui si accede a qualsiasi altra metrica memorizzata dal servizio di monitoraggio: visualizza i grafici nella console, le metriche delle query utilizzando l'interfaccia CLI o l'API e crea allarmi.
- Quando si recuperano le metriche personalizzate, è possibile abbinare a un gruppo di risorse. Vuoto (nullo) per il gruppo di risorse restituisce i dati della metrica che non hanno un gruppo di risorse.
Client Metric-Posting
Per informazioni sullo sviluppo di un client di pubblicazione delle metriche, vedere Developer Guide. Per un client di esempio, vedere MonitoringMetricPostExample.java.
Per informazioni sull'uso dell'API e delle richieste di firma, consulta la documentazione dell'API REST e le credenziali di sicurezza. Per informazioni sugli SDK, vedere SDK e l'interfaccia CLI.
Questo task non può essere eseguito nella console. - Nota
A differenza di altri comandi di monitoraggio che utilizzano gli endpointtelemetry
, questo comando richiede un endpointtelemetry-ingestion
.Utilizzare il comando oci monitoring Metric-data post, il parametro
--endpoint
e i parametri necessari per pubblicare le metriche personalizzate.oci monitoring metric-data post --metric-data file://<json_file_path> --endpoint https://telemetry-ingestion.<region>.oraclecloud.com
Per un elenco completo dei parametri e dei valori per i comandi CLI, vedere Command Line Reference for Monitoring.
File JSON di esempio per la richiestaIl file JSON di esempio include i seguenti elementi.
- Spazio di nomi metrica:
mymetricsnamespace
- Nome metrica:
productOrder
- Dimensione prodotto
- Dimensione Paese
- Gruppo di risorse (
DivisionX
,DivisionY
) - Metadati aggiuntivi per categoria e nota
[ { "compartmentId": "$compartmentId", "datapoints": [ { "count": 10, "timestamp": "2023-01-08T04:18:01+00:00", "value": 5.0 }, { "count": 3, "timestamp": "2023-01-08T05:11:01+00:00", "value": 10.0 } ], "dimensions": { "product": "ball", "country": "NL" }, "metadata": { "category": "toys", "note": "national holiday" }, "name": "productOrder", "namespace": "mymetricsnamespace", "resourceGroup": "divisionX" }, { "compartmentId": "$compartmentId", "datapoints": [ { "count": 7, "timestamp": "2023-01-08T03:22:01+00:00", "value": 3.0 }, { "count": 11, "timestamp": "2023-01-08T05:08:03+00:00", "value": 2 } ], "dimensions": { "product": "The Road to Nowhere", "country": "FR" }, "metadata": { "category": "books", "note": "start second semester" }, "name": "productOrder", "namespace": "mymetricsnamespace", "resourceGroup": "divisionY" } ]
Risposta di esempio{ "data": { "failed-metrics": [], "failed-metrics-count": 0 } }
- Spazio di nomi metrica:
- Nota
A differenza di altre operazioni di monitoraggio che utilizzano gli endpointtelemetry
, questa operazione richiede un endpointtelemetry-ingestion
.Eseguire l'operazione PostMetricData per pubblicare le metriche personalizzate.
Esempio di richiesta in batchQuesto esempio mostra una singola richiesta contenente datapoint per le metriche su due spazi dei nomi delle metriche .
[ { "namespace":"myFirstNamespace", "compartmentId":"ocid1.compartment.oc1..exampleuniqueID", "resourceGroup":"myFirstResourceGroup", "name":"successRate", "dimensions":{ "resourceId":"ocid1.exampleresource.region1.phx.exampleuniqueID", "appName":"myAppA" }, "metadata":{ "unit":"percent", "displayName":"MyAppA Success Rate" }, "datapoints":[ { "timestamp":"2023-01-10T22:19:20Z", "value":83.0 }, { "timestamp":"2023-01-10T22:19:40Z", "value":90.1 } ] }, { "namespace":"myFirstNamespace", "compartmentId":"ocid1.compartment.oc1..exampleuniqueID", "resourceGroup":"mySecondResourceGroup", "name":"successRate", "dimensions":{ "resourceId":"ocid1.exampleresource.region1.phx.differentuniqId", "appName":"myAppA" }, "metadata":{ "unit":"percent", "displayName":"MyAppA Success Rate" }, "datapoints":[ { "timestamp":"2023-01-10T22:19:10Z", "value":100.0 }, { "timestamp":"2023-01-10T22:19:30Z", "value":100.0 } ] }, { "namespace":"mySecondNamespace", "compartmentId":"ocid1.compartment.oc1..exampleuniqueID", "name":"deliveryRate", "dimensions":{ "resourceId":"ocid1.exampleresource.region1.phx.exampleuniqueID", "appName":"myAppB" }, "metadata":{ "unit":"bytes", "displayName":"MyAppB Delivery Rate" }, "datapoints":[ { "timestamp":"2023-01-10T22:19:00Z", "value":87.0, "count":60 }, { "timestamp":"2023-01-10T22:19:00Z", "value":96.0, "count":30 } ] } ]
Ulteriori informazioni
Per una panoramica dei casi d'uso comuni con metriche personalizzate, vedere Guida dettagliata sulle metriche personalizzate. Per la risoluzione dei problemi delle query, vedere Risoluzione dei problemi delle query.