Monitorar Backups do Oracle Cloud Infrastructure com Funções e Autonomous JSON

Esta função insere eventos de backup do Oracle Cloud em um banco de dados autônomo. Este exemplo usa - e a Oracle recomenda que você use - JSON autônomo porque um evento no Oracle Cloud Infrastructure (OCI) é um texto JSON. Por exemplo, com o OCI File Storage, um snapshot (ou seja, um backup) criará um evento semelhante a este:
```
{
  "eventType" : "com.oraclecloud.filestorage.createsnapshot",
  "cloudEventsVersion" : "0.1",
  "eventTypeVersion" : "2.0",
  "source" : "FileStorage",
  "eventTime" : "2022-11-23T21:30:20Z",
  "contentType" : "application/json",
  "data" : {
    "compartmentId" : "ocid1.compartment.oc1..********************",
    "compartmentName" : "ChristophePruvost",
    "resourceName" : "Snapshot-20221123-2130-10",
    "resourceId" : "ocid1.snapshot.oc1.********************",
    "availabilityDomain" : "AD2",
    "freeformTags" : { },
    "definedTags" : {
      "Mandatory_Tags" : {
        "Owner" : "oracleidentitycloudservice/firstname.name@company.com",
        "Schedule" : "OnDemand_UTC+1",
        "CreatedOn" : "2022-11-23T21:30:11.405Z"
      }
    },
    "additionalDetails" : {
      "X-Real-Port" : 60458
    }
  },
  "eventID" : "d520f88c-cd3d-4d1f-9a39-d935db5dcd8b",
  "extensions" : {
    "compartmentId" : "ocid1.compartment.oc1..*****************************"
  }
}
```

Após inserir eventos no Autonomous JSON, você poderá criar facilmente um aplicativo APEX que monitorará todos os seus backups do OCI em um só lugar. Além disso, como administrador do OCI, você pode evitar um enorme número de notificações de e-mail e pode usar o APEX para criar relatórios de backup eficientes. Para ativar isso, você precisa desativar o componente Email Delivery mostrado no diagrama de arquitetura a seguir.

Arquitetura

O diagrama a seguir ilustra a arquitetura de referência desta solução.

Veja a seguir a descrição da ilustração mon-bu-funs-auto-json-arch.png
Descrição da ilustração mon-bu-funs-auto-json-arch.png

mon-bu-funs-auto-json-arch-oracle.zip

Observação:

Snapshot de Armazenamento de Arquivos e Backup do DBCS são apenas dois exemplos desta implementação. Ela será executada de forma semelhante com todos os eventos de backup no OCI, incluindo Backup do Armazenamento em Blocos, Backup do Armazenamento de Inicialização, Backup ExaCS etc.

A arquitetura tem os seguintes componentes:

  • Região

    Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou mesmo continentes).

  • Rede virtual na nuvem (VCN) e sub-redes

    Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • File Storage

    O serviço Oracle Cloud Infrastructure File Storage fornece um sistema de arquivos de rede durável, escalável, seguro e de nível empresarial. Você pode estabelecer conexão com um sistema de arquivos do serviço File Storage em qualquer instância bare metal, de máquina virtual ou de contêiner. Um Snapshot de Armazenamento de Arquivos é um backup do sistema de arquivos que você pode usar se quiser restaurá-lo fazendo um clone.

  • Database Cloud Service (DBCS)

    O DBCS é um serviço totalmente gerenciado do Oracle Database. Um Backup do DBCS é um backup dos dados que você pode usar para restaurar o banco de dados.

  • Serviço de Eventos do OCI

    O Oracle Cloud Infrastructure Events Service rastreia alterações de recursos usando eventos em conformidade com o padrão Cloud Events Foundation (CNCF) Cloud Native Computing Foundation. Os desenvolvedores podem responder a alterações em tempo real, acionando o código com o serviço Functions, gravando no Streaming ou enviando alertas usando o Notifications.

  • Funções do OCI

    O Oracle Cloud Infrastructure OCI Functions é um serviço sem servidor e orientado a eventos que permite aos desenvolvedores criar, executar e dimensionar aplicativos sem provisionar ou gerenciar qualquer infraestrutura. Você só paga pelos recursos usados quando a função está em execução. As funções se integram a outros serviços OCI e aplicativos Oracle Saar. Com base em um framework aberto, as Funções do OCI podem ser portadas para outras nuvens ou ambientes locais.

  • JSON Autônomo

    O Oracle Autonomous JSON Database é um serviço com escopo de recursos para armazenar e recuperar coleções de documentos JSON usando APIs SQL ou de Documentos.

  • Entrega de E-mail

    O serviço Oracle Cloud Infrastructure Email Delivery fornece uma solução gerenciada rápida e confiável para envio de e-mails seguros e de alto volume de marketing e transacionais.

Recomendações

Para implementar a função, a Oracle recomenda que você conclua algumas das LiveLabs disponíveis para compreender melhor o processo e preparar seu ambiente.

  • Função do Oracle OCI

    Primeiro, você precisa se familiarizar com a implementação do OCI Functions. Siga LiveLab, Configurando o Oracle Functions. Para agilizar o processo, copie e cole o código de amostra de oracle-functions-samples em GitHub.

  • JSON Autônomo

    Em seguida, para desenvolver familiaridade com o uso de JSON em bancos de dados Oracle, siga LiveLab, Desenvolvendo com JSON e SODA no Oracle Database. Em seguida, siga LiveLab, Oracle Functions Orientada a Eventos com o Autonomous Data Warehouse.

  • Monitorando com o APEX

    Por fim, saiba como monitorar processos no APEX, siga o LiveLabs Desenvolvimento de Baixo Código com o Autonomous Database.

    Depois de finalizar o LiveLab, crie uma View SQL dos Eventos JSON e use a amostra de código a seguir para criar seu próprio Aplicativo APEX Monitoring. Observe que essa view é relativa à estrutura do exemplo de Evento JSON mostrado em "Saiba Mais Sobre o Monitoramento de Backups do Oracle Cloud Infrastructure com Funções e Autonomous JSON".
     CREATE OR REPLACE VIEW j_backup_detail_view
        AS SELECT ba.id, ba.created_on, ba.last_modified, ba.version, jt.*
        FROM backup ba,
        json_table(ba.json_document, '$'
                    COLUMNS (
                        eventtype        VARCHAR2(100)        PATH '$.eventType',
                        cloudeventsversion        VARCHAR2(10)  PATH '$.cloudEventsVersion',
                        eventtypeversion        VARCHAR2(10) PATH '$.eventTypeVersion',
                        source           VARCHAR2(50)  PATH '$.source',
                        compartmentid    VARCHAR2(200) PATH '$.data.compartmentId',
                        compartmentname    VARCHAR2(100) PATH '$.data.compartmentName',
                        resourcename    VARCHAR2(200) PATH '$.data.resourceName',
                        resourceid    VARCHAR2(200) PATH '$.data.resourceId',
                        availabilitydomain    VARCHAR2(200) PATH '$.data.availabilityDomain'
                    )) jt;
    
        create search index srchidx on backup (json_document) for json; 

    Agora você está pronto para iniciar sua própria implementação.

Explorar Mais

Saiba mais sobre o monitoramento de backups do OCI com Funções e JSON autônomo.

Revise estas soluções adicionais:

Confirmações

  • Autor: Christophe Pruvost

  • Contribuidores: Oracle EMEA Solution Center