Configurar Coleta de Logs da API REST

O Oracle Logging Analytics permite que você configure uma coleta contínua de logs baseada na API REST de URLs de ponto final que respondam com mensagens de log. A origem de log da API REST deve ser configurada com uma API que responda às mensagens de log geradas dentro do período especificado na solicitação.

Este é um método recomendado quando você deseja automatizar a coleta contínua de logs de ambientes, plataformas ou aplicativos como serviços OCI, Fusion Apps, aplicativos ERP ou qualquer outro aplicativo que emita logs por meio de uma API. Há macros disponíveis que podem ser usadas na definição de origem para especificar um horário de log para iniciar sua coleta de logs de, fornecer um deslocamento para iterar e coletar dados nos resultados da página de um ponto final de log e coletar logs em uma janela de coleta ou em um período.

Fluxo Geral para Coletar Logs Usando a Origem Baseada na API REST

Estas são as tarefas de alto nível para coletar informações de log por meio da origem baseada na API REST:

Para obter o fluxo de ponta a ponta da ingestão de Logs de Auditoria do Fusion Applications, consulte Ingerir Logs de Auditoria do Fusion Applications.

Criar Origem da API REST

O Oracle Logging Analytics já fornece origem de log definida pela Oracle para coleta de logs da API REST. Verifique se você pode usar a origem de API REST definida pela Oracle disponível ou qualquer parser definido pela Oracle. Caso contrário, use as seguintes etapas para criar uma nova origem de log:

Antes de começar, se você precisar criar um novo parser adequado para seus logs, conclua-o. Consulte Criar um Parser.

  1. Abra o menu de navegação e clique em Observabilidade e Gerenciamento. Em Logging Analytics, clique em Administração. A página Visão Geral da Administração é aberta.

    Os recursos de administração são listados no painel de navegação à esquerda em Recursos. Clique em Origens.

  2. A página Origens é aberta. Clique em Criar Origem.

    Isso exibe a caixa de diálogo Criar Origem.

  3. No campo Nome, informe o nome da origem de log.

  4. Na lista Source Type, selecione REST API.

  5. Clique em Tipo de Entidade e selecione o tipo que melhor identifica seu aplicativo.

  6. Clique em Parser e selecione um parser adequado para o tipo de logs que você deseja coletar.

  7. Na guia Pontos Finais, clique em Adicionar ponto final de log ou Adicionar ponto final de lista para vários logs, dependendo do seu requisito:

    • Para fornecer um único URL de ponto final de log usando o qual os logs podem ser coletados continuamente, clique em Adicionar ponto final de log. A caixa de diálogo Adicionar ponto final de log é aberta.

      Forneça as seguintes informações:

      1. Informe o Nome do ponto final do log.

      2. Construa o URL de Log para coletar os logs periodicamente. Consulte URL do Ponto Final do Log em Tipos de URL do Ponto Final.

      3. Selecione o método de API GET ou POST.

        Se você tiver selecionado POST, informe o payload POST do método e selecione o tipo de conteúdo da solicitação em JSON, Text, Javascript, HTML e XML.

      4. Opcionalmente, especifique o URL do servidor proxy de log.

      5. Opcionalmente, clique em Mostrar cabeçalhos de solicitação para expandir a seção e clique em Adicionar para fornecer qualquer cabeçalho de solicitação na forma de pares de Nome-Valor.

      6. Opcionalmente, clique em Mostrar parâmetros de consulta para expandir a seção e clique em Adicionar para fornecer quaisquer parâmetros de consulta na forma de pares de Nome-Valor.

      7. Na seção Credenciais, selecione o Tipo de credencial de log. Consulte Selecionar o Tipo de Credencial para Coleta de Logs da API REST.

      8. Para validar as informações de configuração especificadas, clique em Validar. Se houver erros, corrija-os.

        Clique em Salvar Alterações.

    • Para fornecer um URL que retorne uma resposta JSON com as informações que podem ser usadas para gerar uma lista de URLs de ponto final de log para coletar vários logs, clique em Adicionar ponto final de lista para vários logs. A caixa de diálogo Adicionar ponto final da lista para vários logs é aberta.

      1. Guia Configurar ponto final da lista:

        • Informe o Nome do ponto final da lista de logs.

        • Construa o URL da lista de logs para obter as informações sobre os arquivos de log. Consulte URL do Ponto Final da Lista de Logs em Tipos de URL do Ponto Final. Por exemplo:

          https://example.org/fetchlogfiles_data
        • Opcionalmente, especifique o URL do servidor proxy de log.

        • Selecione o método de API GET ou POST.

          Se você tiver selecionado POST, informe o payload POST do método e selecione o tipo de conteúdo da solicitação em JSON, Text, Javascript, HTML e XML.

        • Opcionalmente, clique em Mostrar cabeçalhos de solicitação para expandir a seção e clique em Adicionar para fornecer qualquer cabeçalho de solicitação na forma de pares de Nome-Valor.

        • Opcionalmente, clique em Mostrar parâmetros de consulta para expandir a seção e clique em Adicionar para fornecer quaisquer parâmetros de consulta na forma de pares de Nome-Valor.

        • Na seção Credenciais, selecione o Tipo de credencial de log. Consulte Selecionar o Tipo de Credencial para Coleta de Logs da API REST.

        • Clique em Próximo.

      2. Guia Configurar ponto final do log:

        • Forneça a Exemplo de resposta do ponto final da lista de logs. Este é o exemplo da resposta que você obteria para o ponto final da lista de logs fornecido na guia anterior. Por exemplo:

          { "totalSize": 4, "records": [ {"id": "firstId", "type": "firstType"}, {"id": "secondId", "type": "secondType"} ] }

          No exemplo acima, o caminho JSON records[*].id pode ser usado no URL do ponto final. Para obter mais detalhes sobre variáveis de caminho JSON, consulte Variáveis para Coleta de Logs da API REST.

        • Informe o Nome do ponto final do log.

        • Construa o URL de Log para coletar os logs periodicamente incorporando as chaves de caminho JSON identificadas na resposta de exemplo ao ponto final da lista de logs. Consulte URL do Ponto Final do Log em Tipos de URL do Ponto Final. Por exemplo:

          https://example.org/fetchLogs?time={START_TIME}&id={testLogListEP:$.records[*].id}
        • Opcionalmente, especifique o URL do servidor proxy de log.

        • Selecione o método de API GET ou POST.

          Se você tiver selecionado POST, informe o payload POST do método e selecione o tipo de conteúdo da solicitação em JSON, Text, Javascript, HTML e XML.

        • Opcionalmente, especifique o URL do servidor proxy de log.

        • Opcionalmente, clique em Mostrar cabeçalhos de solicitação para expandir a seção e clique em Adicionar para fornecer qualquer cabeçalho de solicitação na forma de pares de Nome-Valor.

        • Opcionalmente, clique em Mostrar parâmetros de consulta para expandir a seção e clique em Adicionar para fornecer quaisquer parâmetros de consulta na forma de pares de Nome-Valor.

        • Na seção Credenciais, selecione o Tipo de credencial de log. Consulte Selecionar o Tipo de Credencial para Coleta de Logs da API REST.

        • Clique em Próximo.

      3. Guia Revisar e adicionar: As informações de configuração fornecidas nas guias anteriores são validadas. Verifique a lista de URLs dos quais os logs serão coletados.

        Se houver erros, corrija-os.

        Clique em Salvar.

  8. Clique em Criar Origem.

Tipos de URL do Ponto Final

URL do Ponto Final da Lista de Logs: O URL do ponto final da lista de logs deve retornar uma resposta JSON com as informações que podem ser usadas para construir uma lista de URLs do ponto final do log para coletar os logs. Especifique as variáveis de caminho JSON necessárias para criar a lista de pontos finais de log com base na resposta JSON. Além disso, você pode usar as macros {START_TIME} e {CURR_TIME} para inserir os valores de tempo correspondentes dinamicamente no URL.

URL do Ponto Final do Log: O URL do ponto final do log é usado para coletar logs de um ponto final da API REST específico em intervalos regulares. Você pode usar as macros {START_TIME}, {CURR_TIME} e {TIME_WINDOW} para inserir os valores de tempo correspondentes dinamicamente no URL. A macro {OFFSET} pode ser usada para suportar paginação. Você também pode usar variáveis de caminho JSON da resposta da chamada de ponto final da lista de logs para substituir propriedades específicas.

  • {START_TIME}: Para especificar o horário a partir do qual os logs devem ser coletados
  • {OFFSET}: Para tratar a coleta de logs paginados
  • {CURR_TIME}: Para fornecer o horário atual
  • {TIME_WINDOW}: Para especificar um intervalo ou uma duração de coleta

Para obter mais informações sobre o uso de macros, consulte START_TIME Macro, CURR_TIME Macro, OFFSET Macro e TIME_WINDOW Macro.

Para obter mais informações sobre como usar as variáveis da resposta do ponto final da lista de logs que podem ser especificadas no URL do ponto final do log, exemplos de caminho JSON e uso de filtros de variáveis, consulte Variáveis para Coleta de Logs da API REST.

Macro START_TIME

Use a macro START_TIME para especificar o horário a partir do qual os logs devem ser coletados. A macro START_TIME pode ser usada em um URL de ponto final, parâmetros de form ou payload POST.

O exemplo a seguir mostra o URL do ponto final que coleta logs maiores que um timestamp especificado pela macro START_TIME:

https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&filter=timestamp+gt+{START_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}

Sintaxe:

{START_TIME<+nX>:<epoch | timestamp format supported by SimpleDateFormat java class>.TZ=<timezone name>}
  • n é o valor de hora do intervalo de datas. X é expresso em Dias (D), Horas (h), Minutos (m), Meses (M), Ano (Y).

  • +nX é o número de dias, horas, minutos, meses ou anos a serem adicionados ao horário inicial. É opcional. Por exemplo, +3D.

  • Os formatos de hora suportados são iguais aos da classe java SimpleDateFormat. O formato de hora padrão é yyyy-MM-dd'T'HH:mm:ss.SSSZ. Por exemplo, 2001-07-04T12:08:56.235-0700.

    A especificação do formato de hora ou epoch é opcional. Se a época for fornecida, a macro será substituída pelo valor de milissegundo da época.

    Para formatos de timestamp suportados por SimpleDateFormat, consulte Ed. 8 Padrão da Plataforma Java: Classe SimpleDateFormat.

  • TZ destina-se a fornecer o fuso horário do timestamp. Não será aplicável se a época já tiver sido fornecida. O formato suportado é o mesmo que os IDs de 3 letras na classe java TimeZone, por exemplo, UTC.

  • Você pode incluir várias instâncias dessa macro no URL.

  • Exemplos:

    1. {START_TIME:yyyy-MM-dd'T'HH:mm:ss.SSS.TZ=UTC}
    2. {START_TIME:epoch}

Macro CURR_TIME

Use a macro CURR_TIME para inserir o horário atual no URL do ponto final da API REST, nos parâmetros de formulário e no payload POST.

O exemplo a seguir mostra o URL do ponto final que usa a macro CURR_TIME no parâmetro de consulta:

https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&time={CURR_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}
  • O formato para usar a macro é o mesmo que a macro START_TIME.

  • Você pode incluir várias instâncias dessa macro no URL.

Macro OFFSET

Use a macro OFFSET para pontos finais que fornecem respostas paginadas ou para tratar o comportamento de deslocamento em uma resposta da API. A macro OFFSET pode ser usada no URL do ponto final da API REST, nos parâmetros de formulário e no payload POST para extrair várias páginas ou chunks em um único ciclo de coleta de logs.

Formato: {OFFSET(<start value>, <increment>)}

  • A macro OFFSET é usada para chamar e coletar dados iterativamente por meio de resultados paginados de um ponto final de log específico para obter todos os registros disponíveis. A chamada de solicitação inicial da API REST começa com o valor inicial e é incrementada em cada chamada subsequente pelo valor de incremento. Essas chamadas recursivas baseadas em índice são interrompidas quando não há mais entradas de log encontradas. O deslocamento não é transportado para o próximo ciclo de coleta. Ele começa com o valor padrão ou inicial em cada ciclo de coleta.

  • No formato acima, o valor inicial é o valor inicial do índice e o valor padrão é 0. É opcional especificar valor inicial.

    Valores possíveis: Inteiro positivo incluindo 0

  • No formato acima, increment especifica o valor a ser adicionado ao valor inicial nas chamadas subsequentes. O valor padrão é 1. É opcional especificar o valor de incremento.

    Valores possíveis: Somente número inteiro positivo. Exclua 0.

  • Você pode incluir apenas uma instância dessa macro no URL.

Os exemplos a seguir mostram diferentes maneiras de usar a macro OFFSET:

  • {OFFSET}

    Usa valores padrão valor inicial = 0, acréscimo = 1.

  • {OFFSET(5)}

    valor de início = 5, incremento = 1 (padrão)

  • {OFFSET(5,2)}

    valor de início = 5, incremento = 2

O exemplo a seguir mostra o URL do ponto final para o qual usa a macro OFFSET:

https://example.org/fetchLogs?startIndex={OFFSET(0,1000)}&count=1000

No exemplo acima, OFFSET(0,1000) indica que valor inicial é 0 na primeira chamada e, em seguida, nas chamadas subsequentes, incrementado em 1000. Portanto, quando a macro OFFSET for interpretada, o URL do ponto final para várias chamadas será o seguinte:

Primeira chamada: https://example.org/fetchLogs?startIndex=0&count=1000

Segunda chamada: https://example.org/fetchLogs?startIndex=1000&count=1000

Macro TIME_WINDOW

Use a macro TIME_WINDOW para especificar o intervalo de coleta sobre o qual os logs devem ser coletados. Ele pode ser usado no URL do ponto final da API REST para extrair logs em minutos, horas ou dias, independentemente do intervalo de coleta do agente. Por exemplo, se a janela de tempo for 1d (um dia) e o intervalo do agente for 10 minutos, a coleta de logs subsequente ocorrerá somente após um dia.

O exemplo a seguir define o intervalo de coleta de logs por 6 horas especificando TIME_WINDOW como 6h no URL do ponto final:

https://example.org/fetchLogs?timewindow={TIME_WINDOW(6h)}

Formato: {TIME_WINDOW(<number><timeunit>)}

No formato acima:

  • número: Número de dígito maior que zero.

  • timeunit: h para horas, d para dias, m para minutos. O valor padrão é d (dias).

Certifique-se de que o intervalo de coleta do agente seja menor que o intervalo de tempo fornecido. Você pode usar a macro TIME_WINDOW apenas uma vez no ponto final.

Variáveis para Coleta de Logs da API REST

Use as variáveis para substituir atributos fornecidos como parte da resposta pelo ponto final da lista de logs na solicitação do ponto final de log dinamicamente no runtime. As variáveis podem ser usadas no URL, nos parâmetros de form, no payload POST ou nos valores de cabeçalho da solicitação HTTP do ponto final do log.

Se a chamada para o ponto final da lista de logs falhar, as mensagens de log do ponto final de log não serão coletadas por causa da dependência.

Formato da variável no ponto final do log:

{<log_list_endpoint_name>:<json path(<filter_field_name>='<value>')>}
  • No formato acima, log_list_endpoint_name é o nome do ponto final da lista de logs.

    O filtro (<filter_field_name>=<value>) é opcional. Somente o atributo correspondente a filter_field_name é selecionado na resposta JSON do ponto final da lista de logs e usado no ponto final do log. Por exemplo:

    https://www.example.com/log/{foo:$.items[*].links[*].href(rel='self')}

    Para obter um exemplo detalhado do filtro, consulte Exemplo de filtro.

  • Somente o tipo de conteúdo JSON é suportado para extrair os valores de propriedade.

  • A mesma variável pode ser especificada várias vezes.

  • As variáveis só podem se referir a pontos finais de lista válidos e não a pontos finais de log.

  • Os seguintes formatos de caminho JSON são suportados: Caminho JSON simples, Caminho JSON de array e Caminho JSON de vários arrays.

Caminho JSON simples

Se a resposta JSON tiver vários níveis de elementos aninhados, você poderá especificar o caminho JSON como uma notação especial de nós e suas conexões com seus nós filhos subsequentes.

Para o exemplo a seguir, use o caminho JSON $.foo.abc para obter result como saída:

{
    "foo" : 
    {
        "abc" : "result"
    }
}

Para o exemplo a seguir, use o caminho JSON $.*.id para obter a saída ["id1", "id3"] ou $.*.* para obter a saída ["id1", "id2", "id3"]:

{
    "foo" : {
        "id" : "id1"
    },
    "foo2" : {
        "ID" : "id2",
        "id" : "id3"
    }
}

Para o exemplo a seguir, use o caminho JSON $.foo.* para obter a saída ["id1", "value1"]:

{
    "foo" : {
        "id" : "id1",
        "abcd" : "value1"
    },
    "foo2" : {
        "id" : "id2"
    }
}

Caminho JSON do array

Se a resposta JSON tiver um array de objetos do qual os dados devem ser extraídos, especifique o nome do objeto de array e use [] para extrair os elementos adequados dentro desse objeto de array. Por exemplo, a seguinte resposta JSON tem dois arrays de objetos records e item:

{
     "records": [
         {"id": "firstId", "type":"firstType"},
         {"id":"secondId", "type":"secondType"}
     ],
     "items": [
         {"name":"firstName", "field":"value"},
         {"name":"secondName", "field":"value"},
         {"name":"thirdName", "field":"value"}
     ]
}
  • Especifique o caminho JSON $.records[0].id para extrair firstId como saída, $.records[1].id para extrair secondId como saída ou $.records[*].id para extrair id de todos os objetos JSON. No último caso, a saída é uma lista de Strings ["firstId", "secondId"].

  • Você também pode especificar condições no caminho JSON usando (). No exemplo acima, para extrair id somente daqueles records que têm type como firstType, use o caminho JSON $.records[*].id(type='firstType').

Caminho JSON de Vários Arrays

Considere o seguinte exemplo:

Para o URL do ponto final da lista de logs getlist:

https://www.example.com/url_list

Resposta JSON ao ponto final da lista de logs:

{
  "records": [ { "id": "firstId", "type": "firstType" }, { "id": "secondId", "type": "secondType" } ],
  "items": [ { "name": "firstName", "field": "value" }, { "name": "secondName", "field": "value" }, { "name": "thirdName", "field": "value" } ]
}

URL do ponto final do log (referindo-se às variáveis de getlist):

https://www.example.com/{getlist:$.records[*].id}/{getlist:$.items[*].name}

Com as variáveis {getlist:$.records[*].id} e {getlist:$.items[*].name}, o agente gera os pontos finais de log abaixo com todas as combinações dos dois campos de array ["firstId", "secondId"] e ["firstName", "secondName", "thirdName"]:

  • https://www.example.com/firstId/firstName

  • https://www.example.com/secondId/firstName

  • https://www.example.com/firstId/secondName

  • https://www.example.com/secondId/secondName

  • https://www.example.com/firstId/thirdName

  • https://www.example.com/secondId/thirdName

Exemplo de filtro

Considere a seguinte resposta JSON do ponto final da lista de logs foo:

{
    "items": [
        {
            "BusinessEventCode": "JournalBatchApproved",
            "CreationDate": "2019-07-27T17:19:19.261+00:00",
            "links": [
                {
                    "rel": "self",
                    "href": "/erpBusinessEvents/self/100100120766717"
                },
                {
                    "rel": "canonical",
                    "href": "/erpBusinessEvents/rel/100100120766717"
                }
            ]
        }
    ]
}

Agora, considere o seguinte exemplo de ponto final de log:

https://www.example.com/log/{foo:$.items[*].links[*].href(rel='self')}

No exemplo acima, o parâmetro de caminho é substituído pelo elemento de array $.items[*].links[*].href da resposta JSON do ponto final da lista de logs foo e uma condição adicional é especificada para selecionar apenas rel='self'.

Para a resposta JSON acima, o agente gera o seguinte ponto final de log:

https://www.example.com/log/erpBusinessEvents/self/100100120766717

Selecione o Tipo de Credencial para Coleta de Logs da API REST

Para autorizar uma conexão entre o agente e a origem da API REST, primeiro configure a credencial da API no armazenamento de credenciais do agente. Depois de configurar as credenciais de origem no serviço Management Agent no lado do agente, você poderá usar essas informações ao criar a origem de log da API REST.

Para configurar as credenciais de origem no serviço Management Agent para permitir que o Management Agent colete dados do host de emissão de log, consulte Credenciais de Origem do Management Agent.

Ao adicionar o ponto final de log ou o ponto final da lista de logs, forneça as informações de credencial no workflow selecionando o Tipo de credencial de log. Selecione uma entre as seguintes opções:

  • Nenhum
  • Autenticação Básica: Especifique o Nome da credencial de log da credencial criada no serviço Management Agent.
  • Token Estático: Especifique o Nome da credencial de log da credencial criada no serviço Management Agent.
  • Token Dinâmico (OAuth 2.0):

    Especifique o Nome da credencial do token do token criado no serviço Management Agent. Além disso, forneça as informações do token, como Nome do Ponto Final do Token, URL do Ponto Final do Token, Tipo de Concessão e, opcionalmente, Escopo.

    Se o proxy de token for igual ao do ponto final de log, mantenha a caixa de seleção Proxy igual ao ponto final de log ativada. Caso contrário, desative a caixa de seleção e forneça o URL do servidor proxy do token.

Mapeamento de tipos de credenciais para o tipo de autenticação:

Tipo de Autenticação Tipo de Credencial no Management Agent Propriedades da Credencial
Autenticação Básica HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds HTTPSUserName, HTTPSPassword, propriedades do armazenamento confiável ssl
Token Estático HTTPSTokenCreds HTTPSToken, HTTPSTokenType, propriedades do armazenamento confiável ssl (opcional)
Token Dinâmico HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds HTTPSUserName, HTTPSPassword, propriedades do armazenamento confiável ssl

As seguintes informações estão incluídas nas propriedades do armazenamento confiável sl:

  • "ssl_trustStoreType": Tipo de armazenamento, por exemplo, JKS.

  • "ssl_trustStoreLocation": O caminho do armazenamento confiável

  • "ssl_trustStorePassword": Senha do armazenamento confiável (opcional)

Observe os seguintes aspectos sobre os atributos no JSON de credencial:

  • source: O valor deve ser lacollector.la_rest_api

  • name: Qualquer nome adequado para a credencial

  • type: Deve ser um dos valores especificados na coluna Tipo de Credencial no Management Agent na tabela de tipos de credenciais acima.

Consulte Exemplos de JSON de Credencial.

Exemplos de JSON de Credencial

Exemplo de Autenticação Básica com nome de usuário e senha via HTTPS com host confiável:

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSBasicAuthCreds",
  "description":"These are HTTPS (BasicAuth) credentials.",
  "properties":
  [
    { "name":"HTTPSUserName", "value":"CLEAR[admin]" },
    { "name":"HTTPSPassword", "value":"CLEAR[myHTTPSPassword]" }
  ]
}

Exemplo de Autenticação Básica com certificados SSL, nome de usuário e senha via HTTPS fornecendo explicitamente certificados:

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSCreds",
  "description":"These are HTTPS (BasicAuth) credentials.",
  "properties":
  [
    { "name":"HTTPSUserName", "value":"CLEAR[admin]" },
    { "name":"HTTPSPassword", "value":"CLEAR[myHTTPSPassword]" },
    { "name":"ssl_trustStoreType", "value":"JKS" },
    { "name":"ssl_trustStoreLocation", "value":"/scratch/certs/mycert.keystore" },
    { "name":"ssl_trustStorePassword", "value":"mySSLPassword" }
  ]
}

Exemplo de token via HTTPS com host confiável:

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSTokenCreds",
  "description":"These are HTTPS (Token) credentials.",
  "properties":
  [
    { "name": "HTTPSToken", "value": "CLEAR[token value]" },
    {"name": "HTTPSTokenType", "value": "CLEAR[Bearer]" }
  ]
}

Exemplo de token via HTTPS com certificados fornecidos explicitamente:

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSTokenCreds",
  "description":"These are HTTPS (Token) credentials.",
  "properties":
  [
    { "name": "HTTPSToken", "value": "CLEAR[token value]" },
    {"name": "HTTPSTokenType", "value": "CLEAR[Bearer]" },
    { "name":"ssl_trustStoreType", "value":"JKS" },
    { "name":"ssl_trustStoreLocation", "value":"/scratch/certs/mycert.keystore" },
    { "name":"ssl_trustStorePassword", "value":"mySSLPassword" }
  ]
}

Ingestão de Logs de Auditoria do Fusion Applications

Siga estas etapas para coletar os Logs de Auditoria do Fusion Applications. Para obter a lista de origens definidas pela Oracle disponíveis para o Fusion Applications, consulte Origens definidas pela Oracle.

Tópicos:

Pré-requisitos

  • Noções Básicas sobre APIs de Logs de Auditoria do Fusion Applications: Para obter detalhes sobre o uso e a funcionalidade da API de Logs de Auditoria, consulte a documentação da API REST do Fusion Applications.

  • Acesso ao Fusion Applications: Você deve ter credenciais e privilégios válidos para acessar a instância do Fusion Applications.

  • Identifique os seguintes pontos finais e proxy (opcional):

    • login_url: O URL base da sua instância do Fusion Applications
    • pod_url: O URL base da sua instância do Fusion Applications
    • proxy_url: (Opcional) O URL que envia uma solicitação ao servidor proxy

    Para obter detalhes sobre os URLs, consulte ID do Documento 2661308.1 em Oracle My Support.

  • Acesso à API REST do Fusion Applications: Certifique-se de que o acesso à API esteja ativado e de que as atribuições/privilégios necessários estejam designados.

Configurar Coleta de Log de Auditoria do Fusion Applications

  1. Validar o URL base do Fusion Applications:

    • Valide as credenciais do Fusion Applications fazendo log-in na interface do usuário.
    • Opcionalmente, analise as chamadas de rastreamento de rede para validar o URL base.
    • Certifique-se de que o acesso à API de Auditoria esteja ativado.
  2. Criar as políticas de IAM necessárias: Permitir Coleta Contínua de Logs Usando Management Agents

  3. Instalar o Agente de Gerenciamento em um host que tenha acesso http ou https à instância/servidor do Fusion Applications. Certifique-se de que o plug-in do Logging Analytics seja implantado durante a instalação. Consulte Instalar Management Agents.

  4. Configure a credencial da API no armazenamento de credenciais do agente:

    Navegue até a pasta /bin do agente de gerenciamento e crie o arquivo JSON da credencial. O exemplo a seguir mostra os valores fornecidos no arquivo fapps.json:

    {
          "source": "lacollector.la_rest_api",
          "name": "FA-CREDS",
          "type": "HTTPSBasicAuthCreds",
          "description": "These are HTTPS (BasicAuth) credentials.",
          "properties": [
              {
                  "name": "HTTPSUserName",
                  "value": "USER"
              },
              {
                  "name": "HTTPSPassword",
                  "value": "PASS"
              }
          ]
      }

    Adicione as credenciais FA-CREDS ao armazenamento de credenciais do agente:

    cat fapps.json | ./credential_mgmt.sh -s logan -o upsertCredentials

    Para obter detalhes sobre como configurar a credencial da API no armazenamento de credenciais do agente, consulte Credenciais de Origem do Agente de Gerenciamento.

  5. Verifique se o ponto final da API do Fusion Applications pode ser acessado pela instância em que o agente está instalado. Você pode usar ferramentas como curl para fazer a verificação.

  6. Criar Entidade: Crie uma entidade do tipo Oracle Fusion Applications e adicione valores de propriedades para login_url e pod_url. Se necessário, adicione também o valor para proxy_url. Consulte Criar uma Entidade para Representar Seu Recurso de Emissão de Log.

  7. Configurar Origem: Identifique uma origem adequada definida pela Oracle dos Logs de Auditoria do Fusion Applications que você pode usar. Se necessário, você pode criar uma duplicata da origem existente e editá-la. Consulte Editar Origem.

    • Certifique-se de que a credencial seja referenciada corretamente no ponto final de log da sua origem.
    • Adicione proxy aos pontos finais de log, se necessário.
  8. Programar Coleta de Dados no Lado do Agente: Associe a origem à entidade para programar a coleta de dados. Use o agente de gerenciamento para chamar periodicamente as APIs de Auditoria do Fusion Applications e enviar dados para o Logging Analytics. Consulte Configurar Nova Associação entre Origem e Entidade.

  9. Verificar e Validar no Log Explorer: Verifique se os logs são coletados e analisados corretamente no Log Explorer. Consulte Visualizar Dados Usando Gráficos e Controles.