Bem-vindo ao guia de práticas recomendadas de registro em log da New Relic. Aqui você encontrará recomendações detalhadas sobre como otimizar nosso recurso de log e gerenciar o consumo de dados.
Dica
Tem muito registro? Confira nosso tutorial sobre como otimizá-los e gerenciá-los.
Registro de encaminhamento
Aqui estão algumas dicas sobre encaminhamento de logs para complementar nossos documentos de encaminhamento de logs:
Ao encaminhar o log, recomendamos usar nosso agente New Relic Infrastructure e/ou agente APM. Se você não puder usar o agente New Relic , use outro agente compatível (como FluentBit, Fluentd e Logstash).
Aqui estão alguns exemplos de configuração do Github para agente de registro compatível:
Importante
Se o seu log estiver armazenado em um diretório em um host/contêiner subjacente e for instrumentado por nosso agente de infraestrutura para coletar log, você poderá ver logs duplicados coletados pelo agente de infraestrutura e pelo agente . Para evitar o envio de logs duplicados, consulte nossas recomendações neste guia.
Adicione um atributo
logtype
a todos os dados que você encaminha. O atributo é required para usar nossas regras de análise integradas e também pode ser usado para criar regras de análise personalizadas com base no tipo de dados. O atributologtype
é considerado um atributo bem conhecido e é usado em nosso painel Início Rápido para informações resumidas log .Use nossas regras de análise integradas para tipos de log conhecidos. Analisaremos automaticamente o registro de vários tipos log conhecidos quando você definir o atributo
logtype
relevante.Aqui está um exemplo de como adicionar o atributo
logtype
a um log encaminhado pelo nosso agente de infraestrutura:logs:- name: mylogfile: /var/log/mylog.logattributes:logtype: mylogUse a integração New Relic para encaminhar log para outros tipos de dados comuns, como:
- Ambientes de contêiner: Kubernetes (K8S)
- Integração de provedor de nuvem: AWS, Azure ou GCP
- Qualquer uma de nossas outras integrações suportadas no host com registro
Partições de dados
Se você consome ou planeja consumir uma quantidade significativa de dados log todos os dias, você definitivamente deve trabalhar em um plano de governança de ingestão para log, incluindo um plano para particionar os dados de uma forma que forneça agrupamentos funcionais e temáticos. Você pode obter melhorias significativas de desempenho com o uso adequado de partições de dados. Se você enviar todos os seus logs para um "bucket" gigante (a partição log padrão) em uma única conta, poderá ter consultas lentas ou falhas, pois terá que escanear todos os logs na sua conta para retornar resultados para cada consulta. Para mais detalhes, consulte Limites de taxa de consulta NRQL.
Uma maneira de melhorar o desempenho da consulta é limitar o intervalo de tempo pesquisado. Pesquisar por log por longos períodos retornará mais resultados e exigirá mais tempo. Evite pesquisas em intervalos de tempo longos sempre que possível e use o seletor de intervalo de tempo para restringir as pesquisas a intervalos de tempo menores e mais específicos.
Outra forma de melhorar o desempenho da pesquisa é usar partições de dados. Aqui estão algumas práticas recomendadas para partições de dados:
Certifique-se de usar partições no início do processo de integração de log. Crie uma estratégia de utilização de partições para que seu usuário saiba onde pesquisar e encontrar log específico. Dessa forma, seus alertas, dashboard e visualizações salvas não precisam ser modificados se você implementar partições posteriormente em sua jornada de log.
Crie partições de dados que se alinhem às categorias em seu ambiente ou organização que são estáticas ou mudam com pouca frequência (por exemplo, por unidade de negócios, equipe, ambiente, serviço, etc.).
Crie partições para otimizar o número de eventos que devem ser escaneados para sua consulta mais comum. Se você tiver um alto volume de ingestão, terá mais eventos em janelas de tempo mais curtas, o que fará com que pesquisas em períodos mais longos demorem mais e possivelmente expirem. Não há uma regra rígida, mas geralmente o evento de log "conforme escaneado" ultrapassa 500 milhões (especialmente mais de 1 bilhão). Para consultas comuns, você pode considerar ajustar seu particionamento.
Mesmo que o volume de ingestão seja baixo, você também poderá usar partições de dados para uma separação lógica de dados ou apenas para melhorar o desempenho da consulta em tipos de dados separados.
Para pesquisar partições de dados na interface Logs , você deve selecionar as partições apropriadas, abrir o seletor de partição e marcar as partições que deseja pesquisar. Se você estiver usando NRQL, use a cláusula
FROM
para especificarLog
ouLog_<partion>
a ser pesquisado. Por exemplo:FROM Log_<my_partition_name> SELECT * SINCE 1 hour agoOu para pesquisar log em múltiplas partições:
FROM Log, Log_<my_partition_name> SELECT * SINCE 1 hour ago
Registro de análise
Analisar seu log na ingestão é a melhor maneira de tornar seus dados log mais utilizáveis por você e por outros usuários em sua organização. Ao analisar um atributo, você pode usá-los facilmente para pesquisar na interface Logs e no NRQL sem precisar analisar os dados no momento da consulta. Isso também permite que você os use facilmente no e no painel.
Para analisar o log, recomendamos que você:
Analise seu log na ingestão para criar
attributes
(ou campos), que você pode usar ao pesquisar ou criar e alertas. atributo pode ser sequências de dados ou valores numéricos.Use o atributo
logtype
que você adicionou ao seu log na ingestão, junto com outras cláusulas NRQLWHERE
para corresponder aos dados que você deseja analisar. Escreva regras de correspondência específicas para filtrar o log com a maior precisão possível. Por exemplo:WHERE logtype='mylog' AND message LIKE '%error%'Use nossas regras de análise integradas e o atributo
logtype
associado sempre que possível. Se as regras integradas não funcionarem para seus dados, use um nome de atributologtype
diferente (ou seja,apache_logs
vsapache
,iis_w3c_custom
vsiis_w3c
) e, em seguida, crie uma nova regra de análise em a interface usando uma versão modificada das regras integradas para que funcione no seu formato de dados log .Use nossa interface Parsing para testar e validar suas regras Grok. Usando a opção
Paste log
, você pode colar uma de suas mensagens do log para testar sua expressão Grok antes de criar e salvar uma regra de análise permanente.Use a configuração externa do FluentBit para analisar o log multilinha e para outras pré-análises mais extensas antes de ingerir no New Relic. Para obter detalhes e configuração da análise multilinha com nosso agente de infraestrutura, consulte esta postagem do blog.
Crie padrões Grok otimizados para corresponder ao log filtrado para extrair o atributo. Evite usar excessivamente padrões Grok caros, como GREEDYDATA. Se precisar de ajuda para identificar quaisquer regras de análise abaixo do ideal, fale com seu representante de conta New Relic .
GROK práticas recomendadas
- Use tipos Grok para especificar o tipo de valor de atributo a ser extraído. Se omitido, os valores serão extraídos como strings. Isso é importante especialmente para valores numéricos se você quiser usar funções NRQL (ou seja,
monthOf()
,max()
,avg()
,>
,<
, etc.) nesses atributos. - Use a interface Parsing para testar seus padrões Grok. Você pode colar o log de amostra na interface Parsing para validar seus padrões Grok ou Regex e se eles estão extraindo o atributo conforme o esperado.
- Adicione âncoras à lógica de análise (ou seja,
^
) para indicar o início de uma linha ou$
no final de uma linha. - Use
()?
em torno de um padrão para identificar campos opcionais - Evite o uso excessivo de padrões Grok caros como
'%{GREEDYDATA}
. Tente sempre usar um padrão Grok e um tipo Grok válidos ao extrair o atributo.
Eliminar regras de filtro
Descartar registro na ingestão
- Crie regras de filtro para descartar logs que não são úteis ou que não são necessários para satisfazer quaisquer casos de uso de dashboard, alertas ou resolução de problemas
Elimine o atributo do seu log na ingestão
- Crie regras de descarte para descartar atributos não utilizados do seu log.
- Elimine o atributo
message
após a análise. Se você analisar o atributo da mensagem para criar um novo atributo a partir dos dados, elimine o campo da mensagem. - Exemplo: se você estiver encaminhando dados da infraestrutura AWS , poderá criar regras de descarte para descartar qualquer atributo AWS que possa criar um inchaço indesejado de dados.
Dimensionamento New Relic Logs
A forma como cobramos pelo armazenamento pode ser diferente de alguns de nossos concorrentes. A forma como medimos os dados log é semelhante à forma como medimos e cobramos outros tipos de dados, que é definido em Cálculo de uso.
Se nossa integração na nuvem (AWS, Azure, GCP) estiver instalada, adicionaremos metadados de nuvem a cada registro de log , o que será adicionado à conta geral de ingestão. Esses dados podem ser descartados para reduzir a ingestão.
Os principais impulsionadores da sobrecarga de dados de log estão abaixo, em ordem de impacto:
- Integração na nuvem
- Formatação JSON
- Padrões de log (Você pode ativar/desativar padrões na interface Logs .)
Pesquisando registro
Para pesquisas log comuns, crie e use Saved views na interface. Crie uma pesquisa para seus dados e clique em + Add Column para adicionar um atributo adicional à tabela de interface. Você pode então mover as colunas para que apareçam na ordem desejada e salvá-las como uma visualização salva com permissões privadas ou públicas. Configure as visualizações salvas para serem públicas para que você e outros usuários possam facilmente executar pesquisas comuns com todos os dados de atributo relevantes exibidos. Esta é uma boa prática para aplicativos de terceiros, como Apache, nginx, etc., para que o usuário possa ver facilmente esses logs sem pesquisar.
Utilize o criador de consulta para realizar pesquisas utilizando NRQL. O criador de consulta permite utilizar todas as funções avançadas disponíveis no NRQL.
Crie ou use o painel Início Rápido disponível para responder perguntas comuns sobre seu registro e analisar seus dados log ao longo do tempo em gráficos de série temporal. Crie um painel com vários painéis para dividir seus dados log de muitas maneiras diferentes.
Use nossas funções NRQL avançadas como capture() ou aparse() para analisar dados no momento da pesquisa.
Instale o painel Logs analysis e/ou APM logs monitoring quickstart para obter rapidamente mais insights sobre seus dados log . Para adicionar esses painéis, vá para one.newrelic.com > Integrations & Agents > Logging > Dashboards.
Qual é o próximo?
Consulte Introdução ao .