Configurando rastreadores usando o arquivo de configuração do agente
Você pode definir configurações específicas do tracer usando o arquivo de configuração do agente (instanaAgentDir/etc/instana/configuration.yaml) caso o agente esteja instalado em um host. Essas configurações controlam como os rastreadores do ` Instana ` capturam e processam os dados de rastreamento nas suas aplicações monitoradas.
Para obter uma lista detalhada de todos os parâmetros de configuração do ` Instana `, consulte InstanaHelm chart.
Para implantações do ` Instana ` no ` Kubernetes `, consulte a seção “Configurando o agente do ` Kubernetes ` usando o arquivo de configuração ”.
Para opções gerais de configuração do agente, consulte “Configurando agentes de host usando o arquivo de configuração do agente ”.
Captura de cabeçalhos personalizados do ` HTTP `
Por padrão, o ` Instana ` não coleta cabeçalhos ` HTTP ` ao rastrear chamadas ` HTTP `.
Se necessário, você pode ativar esse recurso aplicando a seguinte configuração no arquivo de configuração do agente:
com.instana.tracing:
extra-http-headers:
- 'x-request-id'
- 'x-loadtest-id'
- ...
Os valores não fazem distinção entre maiúsculas e minúsculas. Os cabeçalhos coletados são exibidos nos detalhes da chamada (na seção " Detalhes da chamada"). Você também pode usar os nomes dos cabeçalhos e seus valores para pesquisar chamadas e rastreamentos (na interface do usuário ou por meio do API ) e para a configuração do serviço.
Atualmente, esse recurso apresenta as seguintes restrições:
- Todos os rastreadores capturam os cabeçalhos das solicitações nas entradas do tipo “HTTP ” (chamadas do tipo “ HTTP ” recebidas pelo processo instrumentado).
- Alguns rastreadores podem capturar cabeçalhos de resposta em entradas do tipo “ HTTP ”. Para mais informações, consulte a Tabela 1.
- Alguns rastreadores podem capturar cabeçalhos de solicitação e resposta em saídas do tipo “ HTTP ” (chamadas de HTTP em que o processo instrumentado é o cliente). Para mais informações, consulte a Tabela 1.
- Se o mesmo cabeçalho estiver presente como um cabeçalho de solicitação e um cabeçalho de resposta, um dos dois valores talvez não seja capturado pelo rastreador.
| Rastreador | Cabeçalhos de solicitação em entradas HTTP | Cabeçalhos de resposta em entradas HTTP | Cabeçalhos de solicitação em saídas HTTP | Cabeçalhos de resposta em saídas HTTP |
|---|---|---|---|---|
| Go | ✅ | ✅ | ✅ | ✅ |
| Java | ✅ | ✅1 | ❌ | ❌ |
| .NET | ✅ | ✅ | ✅ | ✅ |
| Node.js | ✅ | ✅ | ✅ | ✅ |
| PHP | ✅ | ❌ | ❌ | ❌ |
| NGINX | ✅ | ❌ | — | — |
| Python | ✅ | ✅ | ✅ | ✅ |
| Ruby | ✅ | ✅ | ✅ | ✅ |
| HTTPd | ✅ | ❌ | — | — |
Configurando cabeçalhos de correlação de rastreamento d Kafka
É possível configurar o formato dos cabeçalhos de correlação de rastreamento d Kafka, utilizados pelos rastreadores d Instana, por meio da configuração com.instana.tracing.kafka.header-format. Os valores válidos são binary, string, ou both. Consulte o seguinte exemplo:
com.instana.tracing:
kafka:
header-format: string # possible values: binary, both, string
Não se deve desativar totalmente a correlação de rastreamento do ` Kafka `. No entanto, se você precisar desativar completamente a correlação de rastreamento do ` Kafka `, defina com.instana.tracing.kafka.trace-correlation: false. Consulte o seguinte exemplo:
com.instana.tracing:
kafka:
trace-correlation: false
SimpleHeaderConverter como mecanismo padrão para lidar com cabeçalhos de mensagens do Kafka. Este conversor pode apresentar falhas ao processar cabeçalhos de rastreamento do tipo “ Instana ”, pois tenta deserializar os valores dos cabeçalhos em tipos nativos, o que pode causar erros de estouro numérico. Para resolver esse problema, configure o ` Kafka Connect ` para usar StringConverter:header.converter=org.apache.kafka.connect.storage.StringConverter
Para obter mais informações, consulte Migração de cabeçalho Kafka.
Desativando o rastreamento
Você pode desativar o rastreamento para um tipo específico de intervalo (frameworks, bibliotecas ou instrumentações) ou para grupos inteiros de bibliotecas (categoria de intervalo). Por exemplo, para excluir totalmente o redis pacote do rastreamento ou desativar o rastreamento para todas as bibliotecas relacionadas a registros, use a disable opção de configuração.
Para definir essa configuração, especifique os tipos ou categorias que você deseja desativar na com.instana.tracing.disable seção do seu arquivo de configuração do agente, conforme mostrado no exemplo a seguir:
com.instana.tracing:
disable:
redis: true # Disable Redis
console: false # Keep console enabled
logging: true # Disable the entire logging category
em que:
true: Desativa o rastreamento para o tipo ou categoria especificados.false: Mantém explicitamente o tipo ou a categoria especificada ativada.
No exemplo anterior, a configuração desativa todas as instrumentações dentro da logging categoria, exceto console, que está explicitamente ativada. Além disso, a configuração também exclui todos redis os intervalos relacionados do rastreamento. Não são coletados nem relatados intervalos para bibliotecas ou categorias desativadas.
Informações de suporte
A tabela a seguir lista os rastreadores que permitem desativar os rastros:
| Rastreador | Suporta a desativação de rastreamentos |
|---|---|
| Node.js | ✅ |
| Go | ❌ |
| Java | ✅ |
| Python | ✅ |
| Ruby | ❌ |
| PHP | ✅ |
| .Net | ❌ |
| NGINX | ❌ |
Desativando o recurso “ W3C ”
Por padrão, os rastreadores do Instana processam e propagam os cabeçalhos tracestate W3C traceparent e para a correlação de rastreamentos distribuídos. É possível desativar a correlação, a propagação ou ambas as funções d W3C, de forma independente, por meio do arquivo de configuração do agente.
Desativando a correlação “ W3C ”
Desativa o processamento de cabeçalhos tracestate W3C ou traceparent recebidos, sem afetar a propagação das mensagens enviadas.
com.instana.tracing:
global:
disable-w3c-correlation: true
Desativando a propagação de “ W3C ”
Desativa a inserção de W3C traceparent/tracestate cabeçalhos nas solicitações enviadas.
com.instana.tracing:
global:
disable-w3c-propagation: true
Desativando completamente o ` W3C `
Desativa tanto a correlação quanto a propagação do ` W3C `.
com.instana.tracing:
global:
disable-w3c: true
Informações de suporte
A tabela a seguir lista os traçadores que permitem desativar a função “ W3C ” por meio da configuração do agente:
| Rastreador | Suportado |
|---|---|
| Node.js | ✅ |
| Go | ❌ |
| Java | ❌ |
| Python | ❌ |
| Ruby | ❌ |
| PHP | ❌ |
| .NET | ❌ |
| NGINX | ❌ |
Capturando rastreios de pilha
Você pode configurar a captura do rastreamento de pilha para intervalos de saída em todos os seus serviços. Por padrão, os rastreadores capturam os últimos 10 pontos de chamada para cada intervalo de saída capturado.
- Esse recurso ainda não é compatível com todos os rastreadores.
- Os rastreamentos de pilha dos intervalos de entrada de ` HTTP ` normalmente não são coletados, pois mostram apenas o código do framework ou do núcleo do tempo de execução.
Você pode configurar dois aspectos da captura do rastreamento da pilha:
- Comprimento do rastreamento de pilha : o número de pontos de chamada a serem capturados.
- Valores permitidos: 0–500
- Valor padrão: 10
- Modo de rastreamento de pilha : como os rastreamentos de pilha são capturados.
- Valores suportados:
all: Coleta o rastreamento da pilha para todos os intervalos de saída (padrão).error: Recolhe o rastreamento da pilha apenas para os intervalos com erros.none: Não coleta o rastreamento da pilha.
- Valores suportados:
Para configurar a captura do rastreamento de pilha, defina os parâmetros na com.instana.tracing.global seção do seu arquivo de configuração do agente, conforme mostrado no exemplo a seguir:
com.instana.tracing:
global:
stack-trace-length: 15
stack-trace: 'error'
No exemplo anterior, a configuração define a profundidade do rastreamento de pilha para 15 pontos de chamada em todos os intervalos de saída e utiliza o error modo.
Informações de suporte
A tabela a seguir lista os rastreadores que permitem configurar a captura de rastreamento de pilha por meio da configuração do agente:
| Rastreador | Suporta a configuração do rastreamento de pilha | Versão mínima do Tracer ou do Collector |
|---|---|---|
| Node.js | ✅ | Instana Node.js 5.2.0 e modelos posteriores |
| Go | ❌ | — |
| Java | ✅ | Instana Java Tracer 2.0.20 e versões posteriores |
| Python | ✅ | Instana Python pacote/sensor 3.10.0 e versões posteriores |
| Ruby | ✅ | Instana Ruby gem/sensor 2.5.0 e versões posteriores |
| PHP | ✅ | Instana PHP Tracer 5.9.0 e versões posteriores |
| .Net | ❌ | — |
| NGINX | ❌ | — |
Ignorando pontos finais
Você pode excluir pontos finais específicos do rastreamento. Por exemplo, se você estiver usando o redis pacote e quiser evitar o rastreamento de comandos, como GET, TYPE, ou outros, pode usar a ignore-endpoints opção de configuração.
- Apenas determinados pacotes são compatíveis.
- Nem todos os traçadores são compatíveis.
Para obter mais informações sobre os pacotes e rastreadores específicos que oferecem suporte a esse recurso, consulte a seção “Informações de suporte ”.
Opções de Filtragem
Você pode filtrar os traços usando as seguintes opções:
- Filtragem por nome do método: com essa opção, você pode filtrar os traços com base apenas nos nomes dos métodos. Isso é útil quando se deseja ignorar operações específicas, como
GETchamadas emRedisouQUERYchamadas emDynamoDB. - Filtragem por nome do método e endpoint: com essa opção, é possível excluir rastreamentos com base tanto no método quanto em endpoints específicos.
topic2consumeEssa opção é especialmente útil para tecnologias comoKafka[nome da tecnologia], nas quais é possível excluir rastreamentos de um método específico (por exemplo, [nome do método]), mas apenas para determinados tópicos (por exemplo, [tópico]topic1ou [tópico]).
Regras de filtragem
As regras para filtrar traços são as seguintes:
- Quando um rastreamento é ignorado, todos os rastreamentos subsequentes a jusante também são ignorados.
- Use
*para ignorar todos os endpoints ou métodos. - Os valores de ponto final (como nomes de tópicos d Kafka ) permanecem consistentes entre os serviços.
- Os nomes dos métodos podem variar dependendo da linguagem de programação e da tecnologia. Para determinar o método e o ponto final corretos para o seu serviço, consulte a interface do usuário do Instana.
A captura de tela a seguir da interface do usuário do Instana fornece uma referência visual para identificar o método e o endpoint corretos para a configuração:

Configurando pontos de extremidade a serem excluídos
Para configurar os endpoints a serem ignorados, especifique os endpoints que devem ser excluídos do monitoramento na com.instana.tracing.ignore-endpoints seção do seu arquivo de configuração do agente, conforme mostrado no exemplo a seguir:
com.instana.tracing:
ignore-endpoints:
# Filtering by Method Name
redis:
- 'get'
- 'type'
dynamodb:
- 'query'
kafka:
- 'send'
# Filtering by Method Name and Endpoint for Kafka
kafka:
- methods: ["consume"]
endpoints: ["topic1", "topic2"] # Exclude consume calls for topic1 and topic2
- methods: ["consume", "send"]
endpoints: ["topic3"] # Exclude both consume and send calls for topic3
- methods: ["*"]
endpoints: ["topic4"] # Exclude all methods for topic4
- methods: ["consume"]
endpoints: ["*"] # Exclude consume method for all topics
No exemplo anterior, os seguintes registros são ignorados para as opções de filtragem listadas:
- Filtrar por método (
Redis,DynamoDB, eKafka)GETeTYPEcomandos emRedisQUERYcomando emDynamoDBSENDmétodo emKafkae todos os rastros a jusante
- Filtrar por método e parâmetro (
Kafkaapenas)CONSUMEmétodo paratopic1etopic2emKafkae todos os traços a jusanteCONSUMEeSENDmétodos paratopic3emKafkatodos os rastros posteriores- Todos os métodos (
*) paratopic4emKafkae todos os rastros a jusante CONSUMEmétodo para todos os tópicos (*) e todos os rastros a jusante
Informações de suporte
A tabela a seguir lista os rastreadores e pacotes que oferecem suporte à opção de ignorar pontos finais:
| Pacotes Suportados | Node.js | Java | Go | PHP | Python | Ruby | .NET | NGINX |
|---|---|---|---|---|---|---|---|---|
| Redis | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| DynamoDB | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Kafka | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| HTTP | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
HTTP 4xx relatórios de erros de código de status
Por padrão, o Instana não considera as respostas HTTP 4xx como erros nas chamadas HTTP. Você pode ativar esse comportamento para monitorar erros do cliente, como respostas 403 Forbidden repetidas ou 401 Unauthorized .
- Essa configuração se aplica apenas às chamadas de saída ( HTTP ). As chamadas recebidas (de entrada) do tipo “ HTTP ” nunca são marcadas como erros com base nos códigos de resposta “ 4xx ”, independentemente dessa configuração.
- Nem todos os traçadores são compatíveis.
com.instana.tracing.http.exitAs seguintes opções de configuração estão disponíveis em:
classify-all-4xx-as-errors: Relata todas as respostas do tipo “ 4xx ” como erros.classify-as-errors: Relata como erros apenas os códigos de status especificados em 4xx.
Quando ambas as opções estiverem definidas, classify-as-errors tem precedência, e somente os códigos listados são tratados como erros. Os códigos de status para classify-as-errors devem estar no intervalo 400–499. Quaisquer códigos fora desse intervalo são ignorados.
Classificar todas as respostas do tipo “ 4xx ” como erros
Para tratar todas as respostas do tipo “ 4xx ” em uma chamada de saída como um erro, adicione o seguinte ao seu arquivo de configuração do agente:
com.instana.tracing:
http:
exit:
classify-all-4xx-as-errors: true
Classificar respostas específicas do ` 4xx ` como erros
classify-as-errorsPara tratar apenas determinados códigos de status como erros, liste-os em:
com.instana.tracing:
http:
exit:
classify-as-errors:
- 401
- 403
Informações de suporte
A tabela a seguir lista os traçadores que oferecem suporte ao relatório de erros por meio do código de status HTTP 4xx :
| Rastreador | Suportado |
|---|---|
| Node.js | ✅ |
| Go | ❌ |
| Java | ❌ |
| Python | ❌ |
| Ruby | ❌ |
| PHP | ✅ |
| .NET | ❌ |
| NGINX | ❌ |