Ingestão de Logs Personalizados do Serviço de Log do OCI Usando o Conector de Serviço

Se você tiver logs personalizados no serviço OCI Logging que deseja ingerir no Oracle Logging Analytics para fins de análise e insights de log, conclua as etapas listadas aqui.

Observação

Para aplicativos de missão crítica que exigem ingestão de logs de baixa latência e alerta de tempo de ingestão, a Oracle recomenda que você use o Oracle Management Agent, que é instalado por padrão em todas as Instâncias do OCI.

Se você quiser coletar logs históricos, use o Oracle Management Agent porque o conector de serviço não suporta a coleta de logs históricos.

Além disso, depois de instalar o agente de gerenciamento, conclua as etapas de 1 a 5 listadas abaixo para começar a coletar os logs no Oracle Logging Analytics.

Para obter mais informações sobre a ingestão de logs de outros serviços OCI usando o conector de serviço, consulte Ingerir Logs de Outros Serviços OCI Usando o Conector de Serviço.

Etapas para coletar logs personalizados do serviço OCI Logging usando o conector de serviço:

  1. Fornecer permissão para acessar e coletar logs do serviço OCI Logging. Consulte Permitir Coleta de Logs do Serviço OCI Logging.

  2. Identifique ou crie o compartimento e o grupo de logs do Logging Analytics no qual os logs devem ser coletados.

  3. Em seu registro de log no serviço OCI Logging, anote o tipo de evento correspondente ao tipo de chave, por exemplo, com.oraclecloud.logging.custom.kube_system_namespace. O valor da chave será usado posteriormente para criar a origem de log. Veja um exemplo de registro de log do serviço OCI Logging:

    {
      "datetime": 1652152576897,
      "logContent": {
        "data": {
          "message": "2022-05-10T03:16:16.161346406+00:00 stderr F time=\"2022-05-10T03:16:16Z\" level=error msg=\"tkw network request proxied\" error=EOF",
          "tailed_path": "/var/log/pods/kube-system_proxymux-client-aaaa/proxymux-client/0.log"
        },
        "id": "id112233",
        "oracle": {
          "compartmentid": "ocid1.compartment.oc1..a....",
          "ingestedtime": "2022-05-10T03:17:25.628Z",
          "instanceid": "ocid1.instance.oc1.phx.a....",
          "loggroupid": "ocid1.loggroup.oc1.phx.a....",
          "logid": "ocid1.log.oc1.phx.a....",
          "tenantid": "ocid1.tenancy.oc1..a...."
        },
        "source": "oke-source",
        "specversion": "1.0",
        "subject": "/var/log/pods/kube-system_proxymux-client-aaaa/proxymux-client/0.log",
        "time": "2022-05-10T03:16:16.897Z",
        "type": "com.oraclecloud.logging.custom.kube_system_namespace"
      }
    }

    No exemplo acima do tipo de evento, com.oraclecloud.logging.custom. é constante para logs personalizados. A parte restante do valor, por exemplo, kube_system_namespace, variará dependendo do tipo de logs.

  4. Crie um analisador JSON para fazer parsing de seus logs personalizados.

    Observação

    Certifique-se de que o parser seja do tipo JSON para ingerir logs do conector de serviço. Outros formatos de parser não são suportados.

    Para o exemplo de conteúdo de log mostrado acima, o Logging Analytics recebe apenas o valor do atributo logContent, conforme mostrado abaixo:

    {
        "data": {
          "message": "2022-05-10T03:16:16.161346406+00:00 stderr F time=\"2022-05-10T03:16:16Z\" level=error msg=\"tkw network request proxied\" error=EOF",
          "tailed_path": "/var/log/pods/kube-system_proxymux-client-aaaa/proxymux-client/0.log"
        },
        "id": "id112233",
        "oracle": {
          "compartmentid": "ocid1.compartment.oc1..a....",
          "ingestedtime": "2022-05-10T03:17:25.628Z",
          "instanceid": "ocid1.instance.oc1.phx.a....",
          "loggroupid": "ocid1.loggroup.oc1.phx.a....",
          "logid": "ocid1.log.oc1.phx.a....",
          "tenantid": "ocid1.tenancy.oc1..a...."
        },
        "source": "oke-source",
        "specversion": "1.0",
        "subject": "/var/log/pods/kube-system_proxymux-client-aaaa/proxymux-client/0.log",
        "time": "2022-05-10T03:16:16.897Z",
        "type": "com.oraclecloud.logging.custom.kube_system_namespace"
      }

    Portanto, o analisador JSON deve ser criado usando a versão reduzida relevante do conteúdo de log de exemplo. Consulte Criar um Parser.

  5. Crie uma origem de log com o nome que seja igual ao valor do tipo de chave. Se o valor que você anotou anteriormente for com.oraclecloud.logging.custom.kube_system_namespace, o nome da origem também deverá ser o mesmo. Ao criar a origem de log, especifique o parser que você criou na etapa anterior. Consulte Criar uma Origem.

    Se você não criar uma origem definida pelo usuário cujo nome corresponda ao valor do tipo de chave em seus logs, os logs serão processados usando a origem definida pela Oracle Logs de Esquema Unificado do OCI. This source uses the Oracle-defined parser OCI Unified Schema Log Format to parse the fields Time, Type, OCI Resource Name, Collection Time, Compartment ID, Logging Log Group OCID, Logging Log OCID, Tenant, Logging Record ID, CloudEvents Spec Version, and Message.

  6. Crie um novo conector de serviço ou use um conector de serviço existente que estabeleça uma conexão entre o OCI Logging e o Oracle Logging Analytics para rotear seus logs personalizados. Especifique o destino como Logging Analytics e adicione uma nova Conexão de Origem correspondente aos seus Logs Personalizados de Log. Observe os detalhes do compartimento do grupo de logs do serviço Logging, do grupo de logs do serviço Logging e dos logs personalizados do serviço Logging.

    Para obter etapas detalhadas para criar o conector de serviço, consulte a etapa 2 em Configurar o Conector de Serviço para Ingerir Logs.

    Na seção Configurar tarefa, você pode configurar uma tarefa de filtro de log e especificar a propriedade a ser usada para filtragem. Consulte Documentação do Oracle Cloud Infrastructure - Gerenciar Conectores de Serviço.

    No caso de vários logs personalizados, você pode usar o mesmo conector de serviço e adicionar mais tarefas de filtro de log.

Depois que a conexão for estabelecida com o OCI Logging, os logs personalizados começarão a fluir para o Oracle Logging Analytics. Para procurar seus logs personalizados no Log Explorer, você pode consultar o nome da origem de log. Por exemplo,

'Log Source' = com.oraclecloud.logging.custom.kube_system_namespace | stats count as logrecords by 'Log Source'