Monitorare le prestazioni con le metriche di Autonomous Database

Puoi monitorare lo stato, la capacità e le prestazioni dei database con metriche, allarmi e notifiche. Puoi utilizzare la console di Oracle Cloud Infrastructure o le API di monitoraggio per visualizzare le metriche.

Visualizza metriche per un'istanza di Autonomous Database

Mostra i passi per visualizzare le metriche di Autonomous Database.

Per visualizzare le metriche, devi disporre dell'accesso richiesto come specificato in un criterio di Oracle Cloud Infrastructure (sia che tu stia utilizzando la console, l'API REST o un altro strumento). Per informazioni sui criteri, vedere Introduzione ai criteri.

Eseguire le operazioni riportate di seguito in base alle esigenze.

  • Aprire la console di Oracle Cloud Infrastructure facendo clic su icona di navigazione accanto a Oracle Cloud.

  • Dal menu di navigazione a sinistra di Oracle Cloud Infrastructure fare clic su Oracle Database e, a seconda del carico di lavoro, fare clic su uno dei seguenti: Autonomous Data Warehouse, Autonomous JSON Database o Autonomous Transaction Processing.
  • Nella pagina Autonomous Databases selezionare un Autonomous Database dai collegamenti nella colonna Nome visualizzato.

Per visualizzare le metriche per un'istanza di Autonomous Database, effettuare le operazioni riportate di seguito.

  1. Nella pagina Dettagli, in Risorse, fare clic su Metriche.
  2. Esiste un grafico per ogni metrica. In ogni grafico è possibile selezionare l'intervallo e l'statistica oppure utilizzare i valori predefiniti.
Nota

La tabella riportata di seguito mostra le metriche predefinite visualizzate nella console di Oracle Cloud Infrastructure.

Per un elenco di tutte le metriche e le dimensioni del database, vedere Metriche disponibili: oci_autonomous_database.

Nome metrica descrizione;

Uso CPU

Utilizzo della CPU sotto forma di percentuale, aggregata a livello di tutti i gruppi di consumer. Viene riportata la percentuale di utilizzo rispetto al numero di CPU che il database può usare, vale a dire il numero di ECPU.

Se il database utilizza le OCPU, il numero di CPU consentite è due volte superiore al numero di OCPU.

Storage utilizzo

Percentuale di capacità di storage con provisioning eseguito attualmente in uso. Rappresenta lo spazio totale allocato per tutte le tablespace.

Sessioni

Numero di sessioni nel database.

Conteggio esecuzioni

Numero di chiamate ricorsive e utente che hanno eseguito istruzioni SQL durante l'intervallo selezionato.

Istruzioni in esecuzione

Numero di istruzioni SQL in esecuzione, aggregate a livello di tutti i gruppi di consumatori, durante l'intervallo selezionato.

Istruzioni accodate

Numero di istruzioni SQL in coda, aggregate a livello di tutti i gruppi di consumatori, durante l'intervallo selezionato.

Disponibilità database

Il database è disponibile per le connessioni durante l'intervallo di tempo selezionato (i dati per questa metrica sono in ritardo di 5 minuti). Valori possibili per questa metrica:

  • 1 = Il database è disponibile
  • 0 = Database non è disponibile

È possibile impostare un allarme attivato se il database non è disponibile (valore 0).

Nota

La disponibilità viene calcolata in base alla "Percentuale di tempo di attività mensile" descritta nel documento pillar sui servizi cloud pubblici di Oracle PaaS e IaaS sotto Policy di distribuzione (consulta l'accordo sul livello di servizio di disponibilità di Autonomous Database).

Connessioni non riuscite

Mostra il numero totale di connessioni non riuscite al database durante l'intervallo selezionato.

Una connessione viene considerata non riuscita quando un tentativo di connessione raggiunge il database e registra uno qualsiasi dei seguenti errori: ORA-12514, ORA-12519 o ORA-12529.

Per creare un allarme in una metrica, in un grafico o in una tabella delle metriche fare clic su Opzioni e selezionare Crea un allarme in questa query. Per informazioni sull'impostazione e sull'uso degli allarmi, vedere Gestione degli allarmi.

Per ulteriori informazioni sulle metriche, vedere Metriche disponibili: oci_autonomous_database.

È inoltre possibile utilizzare l'API di monitoraggio per visualizzare le metriche. Per ulteriori informazioni, vedere Monitoraggio dell'API.

Visualizzazione dei log e degli audit trail

Mostra i passi per visualizzare i log e gli audit trail di Autonomous Database.

Nota

Per visualizzare i log e le prove di audit, è necessario disporre dell'accesso richiesto come specificato in un criterio di Oracle Cloud Infrastructure (sia che si utilizzi la console, l'API REST o un altro strumento). Per informazioni sui criteri, consulta la guida introduttiva ai criteri.

Per visualizzare gli audit trail e i log per un'istanza di Autonomous Database, effettuare le operazioni riportate di seguito.

  1. Nella pagina Dettagli, in Risorse, fare clic su Metriche.
  2. Nell'area Metriche fare clic su Visualizza audit e log.
  3. Nell'area Log, fare clic su Log per visualizzare le informazioni sul log.
  4. Nell'area di log fare clic su Audit per visualizzare le informazioni di audit.

Per ulteriori informazioni, consulta Audit Autonomous Database e Log di audit.

Visualizza le metriche per i database autonomi in un compartimento

Mostra i passi per visualizzare le metriche per i database autonomi in un compartimento.

Per visualizzare le metriche, è necessario disporre dell'accesso richiesto come specificato in un criterio di Oracle Cloud Infrastructure (sia che si utilizzi la console, l'API REST o altro strumento). Per informazioni sui criteri, consulta la guida introduttiva ai criteri.

  • Aprire la console di Oracle Cloud Infrastructure facendo clic su icona di navigazione accanto a Oracle Cloud.

  • Nell'elenco di navigazione a sinistra fare clic su Osservabilità e gestione. In Monitoraggio fare clic su Metriche servizio.

Per utilizzare il servizio metriche per visualizzare le metriche di Autonomous Database, effettuare le operazioni riportate di seguito.

  1. Nella pagina Metriche servizio, in Compartimento selezionare il compartimento.
  2. Nella pagina Metriche servizio, in Spazio di nomi metrica selezionare oci_autonomous_database.
  3. Se nel compartimento sono presenti più database autonomi, è possibile mostrare le metriche aggregate nei database autonomi selezionando Aggrega flussi di metriche.
  4. Se si desidera limitare le metriche visualizzate, accanto a Dimensioni fare clic su Aggiungi (se le dimensioni sono già state aggiunte, fare clic su Modifica).
    1. Selezionare una dimensione nel campo Nome dimensione.
    2. Nel campo Valore dimensione selezionare un valore.
    3. Fare clic su Fine.

    Nella finestra di dialogo Modifica dimensioni fare clic su +Additional Dimensione per aggiungere una dimensione aggiuntiva. Fare clic su x per rimuovere una dimensione.

Per creare un allarme in una metrica specifica, fare clic su Opzioni e selezionare Crea un allarme in questa query. Per informazioni sull'impostazione e sull'uso degli allarmi, vedere Gestione degli allarmi.

Metriche e dimensioni di Autonomous Database

È possibile limitare le istanze in cui vengono visualizzate le metriche con dimensioni. Le dimensioni disponibili includono: tipo di carico di lavoro, nome visualizzato dell'istanza, area e OCID dell'istanza.

Utilizzare le dimensioni selezionando i valori nella pagina Metriche servizio console di Oracle Cloud Infrastructure o impostando i valori delle dimensioni con l'API. Per visualizzare le metriche e selezionare le dimensioni delle metriche, vedere Visualizza metriche per Autonomous Databases in un compartimento.

Usa metriche personalizzate in Autonomous Database

Descrive come creare e pubblicare metriche personalizzate in Autonomous Database.

Autonomous Database fornisce molte metriche correlate al database disponibili tramite il servizio di monitoraggio OCI. Inoltre, è possibile creare metriche personalizzate per raccogliere, pubblicare e analizzare le proprie metriche. Una metrica personalizzata raccoglie i dati specificati dall'istanza di Autonomous Database e li pubblica nel servizio di monitoraggio OCI utilizzando un'API REST fornita dall'SDK OCI.

Requisiti indispensabili

  1. Ottieni l'accesso a Oracle Cloud Infrastructure tramite Oracle Cloud Free Tier o un account cloud a pagamento.

    Per ulteriori informazioni, vedere Ottieni un account Oracle Cloud.

  2. Creare un'istanza di Autonomous Database o avere accesso a un'istanza di Autonomous Database esistente.

    Per ulteriori informazioni, vedere Eseguire il provisioning di un'istanza di Autonomous Database.

  3. Ottenere le credenziali ADMIN per l'istanza di Autonomous Database in uso.

  4. Utilizzare Database Actions o qualsiasi client Oracle Database, ad esempio SQL Developer o SQL*Plus per connettersi al database.

    Per ulteriori informazioni, consulta la sezione relativa alla connessione ad Autonomous Database.

  5. Devi accedere al servizio di monitoraggio OCI e a OCI Identity and Access Management.

    Per ulteriori informazioni, vedere Pubblicazione delle metriche personalizzate mediante l'API.

Panoramica delle metriche personalizzate con il servizio di monitoraggio OCI

La figura seguente mostra i passi per creare e pubblicare metriche personalizzate in Autonomous Database. Ciò mostra che si raccolgono i dati delle metriche con uno script in esecuzione sull'istanza di Autonomous Database e che si pubblicano questi dati nel servizio di monitoraggio OCI e come è possibile creare allarmi e notifiche per i valori delle metriche.



  • Crea e distribuisci uno script PL/SQL nell'istanza di Autonomous Database. Questo script viene eseguito periodicamente per calcolare, raccogliere e pubblicare metriche personalizzate nel servizio di monitoraggio OCI.

  • L'istanza di Autonomous Database può trovarsi su un endpoint pubblico o privato. La comunicazione tra l'istanza di Autonomous Database e il servizio di monitoraggio OCI viene eseguita sulla rete Oracle Cloud. Ciò significa che per pubblicare le metriche sul servizio di monitoraggio OCI non è necessario creare un gateway di servizi.

Crea e pubblica metriche personalizzate

Per creare e pubblicare metriche personalizzate:

  1. In OCI Identity and Access Management creare un gruppo dinamico per l'istanza di Autonomous Database e creare un criterio per autorizzare il gruppo dinamico a inviare le metriche al servizio di monitoraggio OCI.

    Ad esempio:

    1. Nella console di Oracle Cloud Infrastructure fare clic su Identity & Security.
    2. In Identità fare clic su Domini e selezionare un dominio di Identity (o creare un nuovo dominio di Identity).
    3. In Dominio di Identity, fare clic su Gruppi dinamici.
    4. Fare clic su Crea gruppo dinamico e immettere un nome, una descrizione e una regola.

      Ad esempio, creare un gruppo dinamico denominato adb_dg per l'istanza di Autonomous Database e creare una regola:

      ALL {resource.type = 'autonomousdatabase', resource.compartment.id = 'OCID_of_compartment'}

      In alternativa, puoi selezionare una singola istanza di Autonomous Database anziché tutte le istanze nel compartimento:

      ALL {resource.type = 'autonomousdatabase', resource.id = 'OCID_of_autonomousdatabase_instance'}


    5. Fare clic su Crea.
    6. Creare un criterio IAM (Identity and Access Management) OCI per autorizzare il gruppo dinamico.

      Ad esempio, creare un criterio per autorizzare il gruppo dinamico adb_dg a inviare metriche al servizio di monitoraggio OCI con il criterio adb_dg_policy:

      Allow dynamic-group adb_dg to use metrics in compartment OCID_of_compartment


    Dopo aver definito il criterio, il gruppo dinamico con la definizione adb_dg è autorizzato a pubblicare le metriche nel compartimento.

    A questo punto, la routine PL/SQL in esecuzione su Autonomous Database non può inviare alcuna metrica al servizio di monitoraggio OCI perché non esistono utenti di Autonomous Database autorizzati a pubblicare metriche nel servizio di monitoraggio OCI. Questa funzionalità viene fornita quando si abilita il principal risorsa nel passo seguente (passo 2c).

  2. Creare un nuovo utente o schema di database con i privilegi richiesti nell'istanza di Autonomous Database oppure aggiornare un utente o uno schema di database esistente con i privilegi richiesti.

    Ad esempio:

    1. Creare un utente di database o utilizzare un utente esistente per pubblicare le metriche.

      Ad esempio, creare un nuovo utente ECOMMERCE_USER nell'istanza di Autonomous Database:

      CREATE USER ECOMMERCE_USER IDENTIFIED BY "password";

      Ora hai il nuovo utente ECOMMERCE_USER. I seguenti passaggi sono identici con questo utente o con l'utente specificato. Tuttavia, se si crea un utente con un nome diverso, è necessario sostituire ECOMMERCE_USER con il nome utente alternativo.

    2. Concedere all'utente i privilegi relativi a Oracle Database richiesti.
      GRANT CREATE TABLE, ALTER ANY INDEX, CREATE PROCEDURE, 
             CREATE JOB, SELECT ANY TABLE, EXECUTE ANY PROCEDURE, UPDATE ANY TABLE, 
             CREATE SESSION, UNLIMITED TABLESPACE, CONNECT, RESOURCE 
             TO ECOMMERCE_USER;
      GRANT  SELECT ON "SYS"."V_$PDBS" TO ECOMMERCE_USER;
      GRANT  EXECUTE ON "C##CLOUD$SERVICE"."DBMS_CLOUD" to ECOMMERCE_USER;
      GRANT  SELECT ON SYS.DBA_JOBS_RUNNING TO ECOMMERCE_USER;
    3. Abilitare le credenziali Oracle Database per il principal risorsa Oracle Cloud e concedere l'accesso all'utente.

      Questo passo connette il gruppo dinamico adb_dg creato nel passo 1 all'utente del database ECOMMERCE_USER, fornendo all'utente l'autorizzazione per inviare le metriche al servizio di monitoraggio OCI.

      Ad esempio:

      EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(username => 'ECOMMERCE_USER');

      Per ulteriori informazioni, consulta la sezione relativa all'uso del principal delle risorse per accedere alle risorse di Oracle Cloud Infrastructure.

      In alternativa all'autenticazione del principal risorsa, è possibile utilizzare le credenziali native OCI per l'autenticazione. Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedura.

    4. (Opzionale) Verificare le operazioni completate nel passaggio precedente.

      Ad esempio:

      SELECT OWNER, CREDENTIAL_NAME FROM DBA_CREDENTIALS WHERE CREDENTIAL_NAME = 'OCI$RESOURCE_PRINCIPAL'  AND OWNER =  'ADMIN';

      Per verificare se un utente diverso da ADMIN ha accesso a OCI Resource Principal, ad esempio per verificare se ECOMMERCE_USER ha accesso alle credenziali del database, utilizzare la vista DBA_TAB_PRIVS:

      SELECT * FROM DBA_TAB_PRIVS WHERE DBA_TAB_PRIVS.GRANTEE='ECOMMERCE_USER';
  3. Crea uno script PL/SQL che pubblica i dati delle metriche e pianifica l'esecuzione dello script nell'istanza di Autonomous Database.
    1. Ad esempio, creare uno script PL/SQL con una metrica che conteggia le righe dei dati di esempio Star Schema Benchmark e le pubblica nel servizio di monitoraggio OCI.
      CREATE OR REPLACE PROCEDURE publish_lineorder_metric (p_sql_statement IN VARCHAR2)
      IS
      l_result NUMBER;
      l_compartment_ocid VARCHAR2(255);
      l_db_name VARCHAR2(255);
      l_region VARCHAR2(255);
      l_json_payload CLOB;
      l_cloud_identity CLOB;
      BEGIN
      
      -- 1. Execute the SQL statement and get the result
      EXECUTE IMMEDIATE p_sql_statement INTO l_result;
       
       -- 2. Get compartment OCID, DB name, and region from cloud identity
       SELECT cloud_identity INTO l_cloud_identity FROM v$pdbs;
        
       l_compartment_ocid := JSON_VALUE(l_cloud_identity, '$.COMPARTMENT_OCID');
       l_db_name := JSON_VALUE(l_cloud_identity, '$.DATABASE_NAME');
       l_region := JSON_VALUE(l_cloud_identity, '$.REGION');
       
      DBMS_OUTPUT.PUT_LINE(l_cloud_identity);
       
       -- 3. Construct the JSON payload for the metric
      
       l_json_payload :=
       '{' ||
       ' "metricData": [' ||
       ' {' ||
       ' "namespace": "custom_metrics",' ||
       ' "compartmentId": "' || l_compartment_ocid || '",' ||
       ' "name": "lineorder_metric",' ||
       ' "dimensions": {' ||
       ' "dbName": "' || l_db_name || '"' ||
       ' },' ||
       ' "datapoints": [' ||
       ' {' ||
       ' "timestamp": "' || TO_CHAR(SYSTIMESTAMP AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"') || '",' ||
       ' "value": ' || l_result ||
       ' }' ||
       ' ]' ||
       ' }' ||
       ' ]' ||
       '}';
       
       -- 4. Publish the metric using DBMS_CLOUD.SEND_REQUEST
      
       DECLARE
       l_response DBMS_CLOUD_TYPES.resp;
       BEGIN
       l_response := DBMS_CLOUD.SEND_REQUEST(
       credential_name => 'OCI$RESOURCE_PRINCIPAL',
       uri => 'https://telemetry-ingestion.' || l_region || '.oraclecloud.com/20180401/metrics',
       method => 'POST',
       body => UTL_RAW.CAST_TO_RAW(l_json_payload)
       );
       
       –- 5. Check response status
      
       IF DBMS_CLOUD.GET_RESPONSE_STATUS_CODE(l_response) = 200 THEN
       DBMS_OUTPUT.PUT_LINE('Metric published successfully!');
       ELSE
       DBMS_OUTPUT.PUT_LINE('Error publishing metric: ' || DBMS_CLOUD.GET_RESPONSE_STATUS_CODE(l_response));
       DBMS_OUTPUT.PUT_LINE(DBMS_CLOUD.GET_RESPONSE_TEXT(l_response));
       END IF;
       
       EXCEPTION
       WHEN OTHERS THEN
       DBMS_OUTPUT.PUT_LINE('Error during SEND_REQUEST: ' || SQLERRM);
       END;
      EXCEPTION
       WHEN OTHERS THEN
       DBMS_OUTPUT.PUT_LINE('Error: ' || SQLERRM);
      END;
      /

      Per ulteriori informazioni, vedere PostMetricData.

    2. Pianificare un job per chiamare e pubblicare il datapoint della metrica personalizzata una volta al minuto. In produzione il programma verrà configurato per essere eseguito in base alle proprie esigenze.
      BEGIN
         DBMS_SCHEDULER.CREATE_JOB (
            job_name => 'publish_lineorder_count_job',
            job_type => 'STORED_PROCEDURE',
            job_action => 'ECOMMERCE_USER.publish_lineorder_metric',
            number_of_arguments => 1,
            start_date => SYSTIMESTAMP,
            repeat_interval => 'FREQ=MINUTELY;INTERVAL=1',
            enabled => FALSE,
            AUTO_DROP => FALSE,
            comments => 'Publishes the count of rows in SSB.LINEORDER every 1 minute'
      );
       
        DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE (
             job_name => 'publish_lineorder_count_job',
             argument_position => 1,
             argument_value => 'SELECT COUNT(*) FROM SSB.LINEORDER'
       );
       
         DBMS_SCHEDULER.ENABLE('ECOMMERCE_USER.PUBLISH_LINEORDER_COUNT_JOB');
      END;
  4. Esplora le metriche personalizzate pubblicate in Metrics Explorer.
    1. Dal menu di navigazione della console di Oracle Cloud Infrastructure, fare clic su Observability & Management.
    2. In Osservabilità e gestione, fare clic su Explorer metriche.
    3. In Metrics Explorer, selezionare lo spazio di nomi come custom_metrics_from_adb, resourceGroup come ecommerece_adb e il nome della metrica come lineorder_metric (il nome della metrica creata nello script PL/SQL).

      Sono disponibili tutti i metadati e le dimensioni impostati per le metriche personalizzate. È possibile creare query MQL (Metriche Query Language) per analizzare queste metriche in base alle esigenze e al caso d'uso. Puoi anche impostare gli allarmi Oracle Cloud nel flusso di metriche per avvisare il tuo team operativo. Ciò automatizza il loop di osservabilità per le metriche di Autonomous Database di tua scelta. Si noti che in Metrics Explorer la schermata Metriche mostra per impostazione predefinita la vista Grafico ed è possibile abilitare la vista Elenco per evidenziare i datapoint.

Dopo aver creato metriche personalizzate, è possibile utilizzare le metriche come qualsiasi metrica predefinita nel servizio di monitoraggio OCI. Ciò significa che è possibile analizzare le metriche personalizzate con il linguaggio MQL (Metric Query Language) e impostare allarmi e notifiche per ricevere notifiche ogni volta che si verifica un evento di interesse.

Per ulteriori informazioni, vedere gli argomenti riportati di seguito.