Gerenciar Particionamento de Log
Você pode definir conjuntos de logs para particionar fisicamente os logs com base em sua infraestrutura, arquitetura de aplicativo ou estrutura organizacional para otimizar seu desempenho de pesquisa se esperar ingerir persistentemente mais de 6 TB de dados de log por dia para um único tenant em uma única região.
Para obter mais informações sobre particionamento de log, consulte Particionamento de Log.
Depois de ativar o particionamento de log para sua tenancy em uma região específica, certifique-se de que cada entrada de log tenha um valor de string definido para o campo do conjunto de logs. Dependendo do seu método de ingestão, você pode seguir as etapas compartilhadas abaixo para especificar o valor do conjunto de logs.
Tópicos:
-
Especificar Valor do Conjunto de Logs: Ingestão de Logs por meio do Management Agent
-
Especificar Valor do Conjunto de Logs: Ingestão de Logs por meio do Service Connector Hub
-
Especificar Valor do Conjunto de Logs: Ingestão de Logs por meio da Coleta do Serviço Object Storage
-
Especificar Valor do Conjunto de Logs: Ingestão de Logs por meio da API REST
-
Especificar Valor do Conjunto de Logs: Ingestão de Logs por meio do Fluentd
Quando o particionamento de log está ativado em sua tenancy, a opção de selecionar o conjunto de logs aparece no filtro de escopo. Antes de iniciar uma consulta, você deve selecionar pelo menos um dos seus conjuntos de logs ou usar o curinga *
. É recomendável usar o curinga apenas em casos de uso nos quais você precisa pesquisar em todos os logs. Esta será uma pesquisa mais cara que levará mais tempo para ser executada, pois ela pesquisará em todos os seus logs. As consultas podem expirar se você tiver muitos dados no intervalo de tempo escolhido ao realizar pesquisas com curingas. Consulte Usar Filtros de Escopo.
Ativar Particionamento de Log
O Particionamento de Log está disponível em todas as regiões e realms em que o Oracle Logging Analytics está disponível.
Se o seu caso de uso exigir o recurso de particionamento, registre um arquivo Service Request
com o Suporte Técnico da Oracle solicitando esse recurso no Oracle Logging Analytics.
Especificar Valor do Conjunto de Logs: Ingestão de Logs por meio do Management Agent
Você pode estar coletando logs por meio do Management Agent standalone ou usando-o como parte do Oracle Cloud Agent.
-
Há várias maneiras de definir o conjunto de logs editando o arquivo emd.properties do Management Agent. Selecione uma entre as seguintes:
-
Você pode definir um valor de conjunto de logs estáticos para todos os logs coletados pelo agente. Adicione a seguinte propriedade ao arquivo emd.properties do agente para especificar o conjunto de logs no nível do agente:
loganalytics.src.addl_src_ptn_configs=logset=<Value>
-
Defina o valor do conjunto de logs como parte do nome do arquivo de log. Você pode especificar na configuração do agente uma expressão regular para definir como extrair parte do caminho do arquivo de log como a string do conjunto de logs. No arquivo de configuração emd.properties do agente, especifique as propriedades
logsetkey
elogSetExtRegex
:loganalytics.src.addl_src_ptn_configs=logsetkey=logorigin,logSetExtRegex=<regex with a capture group>
logorigin
é o caminho do arquivo de log. -
Você pode especificar a aplicação de diferentes extrações de conjunto de logs para cada origem separadamente, adicionando o id da origem como uma propriedade às definições acima.
//sets this log set value only for source 201904301 loganalytics.src.addl_src_ptn_configs=srcid=201904301,logset=<Value>
//sets this log set value based on regular expression extraction only for source 201904301 loganalytics.src.addl_src_ptn_configs=srcid=201904301,logsetkey=logorigin,logSetExtRegex=<regex with a capture group>
-
-
Além de especificar o conjunto de logs usando qualquer um dos métodos acima, inclua a seguinte propriedade no arquivo de configuração emd.properties:
loganalytics.src.override_config=true
-
Reinicie o agente após editar o arquivo de configuração.
Especificar Valor do Conjunto de Logs: Ingestão de Logs por meio do Service Connector Hub
No momento, esse recurso só é suportado para logs personalizados coletados do serviço OCI Logging no Oracle Logging Analytics usando o Service Connector Hub.
Para definir o valor do conjunto de logs, o log personalizado deve adicionar um novo campo ao bloco data{}
dos dados do Formato de Log Unificado do OCI Logging. Por exemplo,
{
"data": {
"logSet": "<Value>",
...
},
"oracle": {
...
},
...
}
Especificar Valor do Conjunto de Logs: Ingestão de Logs por meio da Coleta do Serviço Object Storage
Ao criar uma regra de coleta do serviço Object Storage, as mesmas opções usadas para preencher o conjunto de logs na coleta do Management Agent são aplicáveis.
-
Você pode definir um valor de conjunto de logs estático para todos os logs coletados por esta regra de coleta de armazenamento de objetos. Adicione a seguinte propriedade à regra de coleta de armazenamento de objetos JSON:
{ "name": "<Object Collection Rule Name>", "logSet": "<Value>", ... }
-
Você pode especificar uma expressão regular para fazer parsing do conjunto de logs no caminho do objeto. Por exemplo:
{ "name": "<Object Collection Rule Name>", "logSetExtRegex": "\\\/o\\\/[^\\\/]*\\\/([^\\\/]*)", ... }
-
Se estiver usando substituições na Regra de Coleta de Objetos, você também poderá definir a extração do conjunto de logs para a substituição. No exemplo a seguir, todos os logs coletados do bucket obterão o conjunto de logs
Value1
, exceto os objetos que correspondem à substituição que contémdb
. Esses logs obterão uma string de conjunto de logs capturada da expressão regular no caminho do objeto.{ "name": "<Object Collection Rule Name>", "logSet": "Value1", "overrides": { "items": [{ "matchType": "contains", "matchValue": "db", "propertyName": "logSetExtRegex", "propertyValue": "\\\/o\\\/[^\\\/]*\\\/([^\\\/]*)" }] } }
Especificar Valor do Conjunto de Logs: Ingestão de Logs por meio da API REST
Ao postar os arquivos de dados de log no ponto final da API REST de Eventos de Log /actions/uploadLogEventsFile, você pode especificar o conjunto de logs nos parâmetros de chamada da API REST POST. Todos os dados de log submetidos a upload nesta chamada de API única serão armazenados com o mesmo conjunto de logs.
Por exemplo:
POST /20200601/namespaces/<namespaceName>/actions/uploadLogEventsFile?logGroupId=<logGroup_OCID>&payloadType=JSON&logSet=<Value>
Especificar Valor do Conjunto de Logs: Ingestão de Logs por meio do Fluentd
Ao usar o coletor fluentd, o conjunto de logs pode ser extraído de qualquer outro campo (keyname). Especifique uma expressão regular que defina como capturar o valor do conjunto de logs esperado do campo referenciado por key_name
no campo oci_la_log_set
.
<filter oci.source>
@type parser
key_name oci_la_log_path # The expression will be applied on the key "oci_la_log_path". You can pick any field that fluentd has parsed here.
<parse>
@type regexp
expression '.*\/(?<oci_la_log_set>[^\.]{1,40}).*' # Valid reg-ex for extraction
</parse>
</filter>
Quando o valor de oci_la_log_path for /n/axs4r325r2ct/b/logevents/o/fileType/logSetABC.log
, o valor do conjunto de logs extraído com base no regex acima será logSetABC
.
Na expressão chamada grupo de captura, (?<oci_la_log_set>)
é obrigatório. Sem isso, a string correspondente a regex não será designada a oci_la_log_set
.