Criar Alarmes e Painel de Controle Personalizados de Monitoramento do OCI PostgreSQL usando Container Instances

Introdução

Este tutorial fornece instruções passo a passo para implantar uma solução de monitoramento personalizada para PostgreSQL usando um aplicativo Java baseado no Docker na Oracle Cloud Infrastructure (OCI). Demonstraremos como criar alertas e painéis personalizados para slots de replicação inativos e atraso de replicação na OCI usando um contêiner baseado em máquina virtual (VM). Embora a configuração atual se concentre no monitoramento do atraso de replicação do PostgreSQL e em slots de replicação inativos, o design é flexível e pode ser facilmente estendido para rastrear métricas adicionais do banco de dados modificando o código do aplicativo.

Objetivos

Tarefa 1: Fazer Download e Configurar o Serviço Monitoring

  1. Faça download do arquivo Postgres-monitoring-services.zip aqui: Postgres-monitoring-services.zip.

  2. Descompacte e siga as instruções do arquivo README.md para criar e executar o aplicativo.

  3. As instruções de build e implantação do Docker estão incluídas no repositório.

    Observação: As instruções para criar e enviar a imagem do Docker já estão disponíveis no README.md do repositório de projetos.

Tarefa 2: Criar um Grupo Dinâmico

Os grupos dinâmicos permitem que sua VM de contêiner acesse serviços do OCI como OCI Monitoring, OCI Vault e OCI Registry sem usar credenciais com código fixo e sem armazenar credenciais em sua imagem.

Use as seguintes informações:

Observação: compartment.id é o OCID do compartimento no qual a instância do contêiner será criada.

Tarefa 3: Configurar a Rede (VCN e Gateway de Serviço)

Para garantir uma comunicação perfeita, coloque sua VM contêiner na mesma sub-rede privada que seu sistema de banco de dados PostgreSQL. Ative o acesso aos serviços do OCI usando um gateway de serviço.

Regras da Lista de Segurança:

Certifique-se de que as regras a seguir sejam adicionadas à lista de segurança da sua sub-rede privada, se elas ainda não estiverem presentes.

Tipo CIDR de Origem Protocolo Porta Objetivo
Entrada CIDR-de-sub-rede particular TCP 5,432 PostgreSQL Acesso
Saída 0.0.0.0/0 Tudo Tudo Acessar Serviços do OCI

Tarefa 4: Usar o OCI Vault para Armazenamento Seguro de Senhas

Use o OCI Vault para armazenamento seguro de senhas para evitar credenciais de banco de dados de hardcoding.

  1. Crie um Vault e adicione um Segredo que contenha a senha PostgreSQL.

  2. Registre o OCID do Segredo do Vault.

  3. Reutilize o segredo se ele já existir.

Tarefa 5: Definir Políticas de Oracle Cloud Infrastructure Identity and Access Management

Anexe estas políticas do OCI IAM.

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>

Tarefa 6: Iniciar o Container Instances

Vá para a Console do OCI, navegue até Developer Services, Artefato de Contêiner, Instâncias de Contêiner, Criar Instância e digite as seguintes informações:

Observação: O acesso é concedido sem credenciais por meio do grupo dinâmico do OCI IAM.

image

Tarefa 7: Verificar Logs na Console do OCI

Vá para a Console do OCI, navegue até Developer Services, Artefato de Contêiner, Instâncias de Contêiner, selecione sua instância e clique na guia Contêineres para inspecionar logs e status de runtime.

Tarefa 8: Exibir Métricas no Metrics Explorer

Vá para a Console do OCI, navegue até Observabilidade e Gerenciamento, Explorador de Métricas e digite as seguintes informações:

Exemplo de Consulta:

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

Tarefa 9: Configurar um Tópico e Assinaturas de Notificações do OCI

  1. Vá para a Console do OCI, navegue até Application Integration e clique em Notifications.

  2. Crie um Tópico. Por exemplo, PostgresCustomMonitoringAlerts.

  3. Adicione assinaturas (e-mail, webhook etc.).

  4. Vincule este tópico aos seus alarmes para alertas em tempo real.

Tarefa 10: Configurar Alarmes do OCI Monitoring para Métricas Principais

image

image

Tarefa 11: Criar um Painel Personalizado

  1. Vá para a Console do OCI, navegue até Observabilidade e Gerenciamento e clique em Painéis de Controle.

  2. Clique em Novo Painel de Controle.

  3. Adicione widgets usando o Gráfico de Métricas ou o Query Builder.

  4. Digite as seguintes informações.

    • Namespace: Digite postgres_monitor_with_container_vm.
    • Métricas: Selecione replication_lag_metric e inactive_slot_metric.
  5. Personalize tipos de gráfico, filtros e intervalo de tempo.

image

Tabela Resumida

Componente Objetivo
Grupo Dinâmico Concede ao OCI acesso à VM do contêiner
OCI Vault Armazenamento seguro de credenciais do banco de dados
OCI Registry Repositório de imagens do Docker do host
Agente de Monitoramento Coleta métricas PostgreSQL personalizadas
Alarmes Alertas sobre atraso, slots, dados ausentes
VM do Contêiner Executa a ferramenta de monitoramento baseada em Java
Dashboard Visualiza métricas em tempo real

Destaques da arquitetura serverless e resiliente

Solução de Problemas e Problemas

Confirmações

Mais Recursos de Aprendizado

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.