Creare allarmi e dashboard di monitoraggio OCI personalizzati PostgreSQL utilizzando le istanze contenitore

Introduzione

Questa esercitazione fornisce istruzioni dettagliate per distribuire una soluzione di monitoraggio personalizzata per PostgreSQL utilizzando un'applicazione Java basata su Docker su Oracle Cloud Infrastructure (OCI). Dimostreremo come creare avvisi e dashboard personalizzati per gli slot di replica inattivi e il ritardo di replica in OCI utilizzando un contenitore basato su virtual machine (VM). Sebbene l'impostazione corrente si concentri sul monitoraggio del ritardo della replica PostgreSQL e degli slot di replica inattivi, la progettazione è flessibile e può essere facilmente estesa per tenere traccia di ulteriori metriche del database modificando il codice dell'applicazione.

Obiettivi

Task 1: Download e impostazione del servizio di monitoraggio

  1. Scaricare il file Postgres-monitoring-services.zip da qui: Postgres-monitoring-services.zip.

  2. Estrarre e seguire le istruzioni del file README.md per creare ed eseguire l'applicazione.

  3. Le istruzioni di creazione e distribuzione Docker sono incluse nel repository.

    Nota: le istruzioni per la creazione e il push dell'immagine Docker sono già disponibili nel file README.md del repository progetti.

Task 2: Creazione di un gruppo dinamica

I gruppi dinamici consentono alla VM del container di accedere ai servizi OCI come OCI Monitoring, OCI Vault e OCI Registry senza utilizzare credenziali non modificabili e senza memorizzare le credenziali nell'immagine.

Utilizza le seguenti informazioni:

Nota: compartment.id è l'OCID del compartimento in cui verrà creata l'istanza del contenitore.

Task 3: Configurare la rete (VCN e gateway di servizi)

Per garantire una comunicazione trasparente, posiziona la VM container nella stessa subnet privata del sistema di database PostgreSQL. Abilitare l'accesso ai servizi OCI utilizzando un gateway di servizi.

Regole lista di sicurezza:

Assicurarsi che le regole riportate di seguito vengano aggiunte alla lista di sicurezza della subnet privata, se non sono già presenti.

Type CIDR di origine Protocollo Porta Scopo
In entrata CIDR-subnet privata TCP 5.432 Accesso a PostgreSQL
Uscita 0.0.0.0/0 Tutti Tutti Accedi ai servizi OCI

Task 4: Utilizzare OCI Vault per lo storage sicuro delle password

Utilizzare OCI Vault per lo storage sicuro delle password per evitare la codifica delle credenziali del database.

  1. Creare un Vault e aggiungere un segreto contenente la password PostgreSQL.

  2. Registrare l'OCID segreto del vault.

  3. Riutilizzare il segreto se esiste già.

Task 5: Definire i criteri di Oracle Cloud Infrastructure Identity and Access Management

Collegare questi criteri IAM OCI.

Allow dynamic-group psql_monitoring_with_container_vm_dg to read vaults in compartment <your-compartment-id>
Allow dynamic-group psql_monitoring_with_container_vm_dg to read secret-bundles in compartment <your-compartment-id>
Allow dynamic-group psql_monitoring_with_container_vm_dg to use metrics in compartment <your-compartment-id>
Allow dynamic-group psql_monitoring_with_container_vm_dg to read repos in compartment <your-tenancy-id>

Task 6: Avvia istanze contenitore

Andare a OCI Console, andare a Servizi per sviluppatori, Artifact container, Istanze container, Crea istanza e immettere le informazioni riportate di seguito.

Nota: l'accesso viene concesso senza credenziali tramite il gruppo dinamico IAM OCI.

immagine

Task 7: Controllo dei log in OCI Console

Andare a OCI Console, andare a Servizi per sviluppatori, Artifact container, Istanze container, selezionare l'istanza e fare clic sulla scheda Container per esaminare i log e lo stato di runtime.

Task 8: Visualizza metriche in Explorer metriche

Andare a OCI Console, andare a Observability & Management, Metrics Explorer e immettere le informazioni riportate di seguito.

Query di esempio:

replication_lag_metric[1m]{DBSystemId = "<your-db-system-ocid>"}.mean()

Task 9: Impostazione di un argomento e di sottoscrizioni OCI Notifiche

  1. Andare a OCI Console, andare a Integrazione applicazione e fare clic su Notifiche.

  2. Creare un argomento. Ad esempio, PostgresCustomMonitoringAlerts.

  3. Aggiungere sottoscrizioni (e-mail, webhook e così via).

  4. Collegare questo argomento agli allarmi per gli avvisi in tempo reale.

Task 10: configurare gli allarmi di monitoraggio OCI per le metriche chiave

immagine

immagine

Task 11: Creare un dashboard personalizzato

  1. Andare alla console OCI, andare a Osservabilità e gestione e fare clic su Dashboard.

  2. Fare clic su Nuovo dashboard.

  3. Aggiungere widget utilizzando Grafico metriche o Query Builder.

  4. Immettere le informazioni riportate di seguito.

    • Spazio di nomi: immettere postgres_monitor_with_container_vm.
    • Metriche: selezionare replication_lag_metric e inactive_slot_metric.
  5. Personalizzare i tipi di grafico, i filtri e l'intervallo di tempo.

immagine

Summary table

Componente Scopo
Gruppo dinamico Concede a OCI l'accesso alla VM container
OCI Vault Storage sicuro delle credenziali del database
OCI Registry Repository di immagini Docker host
Agente di monitoraggio Raccoglie le metriche PostgreSQL personalizzate
Allarmi Avvisi su ritardo, slot, dati mancanti
VM contenitore Esegue lo strumento di monitoraggio basato su Java
Dashboard Visualizza le metriche in tempo reale

Punti salienti dell'architettura serverless e resiliente

Risoluzione dei problemi

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare Oracle Help Center.