• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Instrumentação Sidekiq

Além do próprio aplicativo web, o agente New Relic Ruby (versão 3.6.0 ou superior) pode instrumentar automaticamente seus trabalhos do Sidekiq. Você não precisa incluir uma biblioteca de instrumentação no seu trabalhador.

O agente Ruby irá instrumentar o método perform em todos os trabalhadores do Sidekiq. Os dados para trabalhos em segundo plano aparecem na páginaTransactions do APM, completos com rastreamento de transação e erros, selecionando Non-web transactions como o tipo de transação.

Capturar argumentos de trabalho

Começando com o agente Ruby versão 3.6.9, opcionalmente, você pode configurar o agente Ruby para capturar argumentos de trabalho do Sidekiq no rastreamento da transação e rastrear erros. Isto pode ser especialmente útil na tentativa de reproduzir trabalhos com falha.

Por padrão, esse recurso fica desativado caso os argumentos do seu trabalho contenham informações confidenciais. Para ativar esse recurso, edite seu newrelic.yml conforme apropriado para a versão do seu agente:

  • newrelic_rpm 3.12.0 or higher

    : attributes.include: job.sidekiq.args.*

  • newrelic_rpm 3.6.9 to 3.11.x

    : sidekiq.capture_params: true

Dica

Esse recurso é diferente da configuração genérica de nível superior capture_params , que controla se os parâmetros da solicitação HTTP são capturados no rastreamento da transação e rastreia erros para solicitações da Web. Você pode definir essas duas configurações de forma independente.

Incluir ou excluir determinados argumentos de trabalho

A partir do agente Ruby versão 9.5.0, uma instância do agente configurada para capturar argumentos de trabalho do Sidekiq conforme descrito acima também pode ser configurada para incluir ou excluir determinados argumentos para controle refinado sobre quais argumentos são relatados à New Relic.

A opção de configuração :'sidekiq.args.include' pode ser definida como uma matriz de strings que servirão coletivamente como uma lista de permissões. Cada uma dessas strings será passada para Regexp.new para suporte completo a expressões regulares. Para argumentos de trabalho que são aplicar hash, se a chave de aplicar hash corresponder a um dos padrões de inclusão, tanto a chave quanto seu valor correspondente serão incluídos. Para argumentos escalares, a representação de string do escalar precisará corresponder a um dos padrões de inclusão a serem capturados.

A opção :'sidekiq.args.exclude' funciona de forma semelhante. Ele pode ser definido como uma matriz de strings que serão passadas para Regexp.new para criar padrões. Esses padrões servirão coletivamente como uma lista de bloqueios para argumentos de trabalho indesejados. Qualquer chave hash aplicada, valor hash aplicado ou escalar que corresponda a um padrão de exclusão será excluída (não enviada para a New Relic).

Configure sidekiq.args.include e sidekiq.args.exclude(newrelic_rpm 9.5.0 ou superior):

newrelic.yml exemplos:

Qualquer string na matriz :'sidekiq.args.include' ou :'sidekiq.args.exclude' será transformada em uma expressão regular. O conhecimento do suporte a expressões regulares Ruby pode ser aproveitado, mas não é obrigatório. Se a sintaxe da expressão regular não for usada, serão realizadas correspondências inexatas e a string "Fortune" corresponderá a "Fortune 500" e "Fortune and Glory". Para correspondências exatas, use âncoras de expressão regular.

# Include any argument whose string representation matches either "apple" or "banana"
# The "apple" pattern will match both "green apple" and "red apple"
sidekiq.args.include:
- apple
- banana
# Exclude any arguments that match either "grape", "orange", or "pear"
sidekiq.args.exclude:
- grape
- orange
- pear
# Exclude any argument that is a 9 digit number
sidekiq.args.exclude:
- '\d{9}'
# Include anything that starts with "blue" but exclude anything that ends in "green"
sidekiq.args.include
- '^blue'
sidekiq.args.exclude
- 'green$'

Solucionar problemas de trabalhos do Sidekiq

Se parecer que os jobs não estão sendo monitorados, revise o arquivo newrelic_agent.log gerado quando o trabalhador é iniciado. Deve indicar se o agente detecta o Sidekiq e se comunica com o servidor. Se precisar de suporte, observe a linha de comando exata que você usou para iniciar o Sidekiq.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.