Configurando atributos de recurso do OpenTelemetry
Você pode configurar o OpenTelemetry para enviar dados ao AppSignal usando atributos de recurso. Atributos de recurso são atributos que se aplicam a cada trace reportado pela aplicação usando OpenTelemetry. Você pode configurar atributos de recurso no seu arquivo de configuração do OpenTelemetry; é também onde você precisa configurar o exporter do OpenTelemetry para enviar dados ao AppSignal collector.Nome do app
- Nome do atributo:
appsignal.config.name - Ou como cabeçalho da requisição:
Appsignal-Config-Name - Tipo: String
- Obrigatório: Sim
Ambiente do app
- Nome do atributo:
appsignal.config.environment - Ou como cabeçalho da requisição:
Appsignal-Config-Environment - Tipo: String
- Obrigatório: Sim
Push API key
- Nome do atributo:
appsignal.config.push_api_key - Ou como cabeçalho da requisição:
Appsignal-Config-PushApiKey - Tipo: String
- Obrigatório: Sim
Revisão do app
- Nome do atributo:
appsignal.config.revision - Ou como cabeçalho da requisição:
Appsignal-Config-Revision - Tipo: String
- Obrigatório: Sim
Integração de linguagem
- Nome do atributo:
appsignal.config.language_integration - Ou como cabeçalho da requisição:
Appsignal-Config-LanguageIntegration - Tipo: String
- Obrigatório: Sim
language_integration para detectar a linguagem de um trace e analisar corretamente os backtraces de exceções.
Para definir essa opção, especifique o nome da linguagem em minúsculas, por exemplo, “python”, “rust”, “ruby”, “elixir”, “go” e “nodejs”.
Nome do app OTP
- Nome do atributo:
appsignal.config.otp_app - Tipo: String
- Obrigatório: Sim, para apps Elixir
appsignal.config.otp_app para detectar quais linhas de backtrace de erros pertencem à aplicação.
Você pode encontrar o nome do app OTP da sua aplicação chamando IO.inspect(:application.get_application()) na sua aplicação e verificando a saída.
Nome do serviço
- Nome do atributo:
service.name - Ou como cabeçalho da requisição:
OpenTelemetry-ServiceName - Tipo: String
- Obrigatório: Sim
service.name ajuda o AppSignal a reconhecer diferentes serviços para traces e agrupa os traces automaticamente em um namespace baseado no nome do serviço.
Escolha um nome que se encaixe na sua aplicação, como “Web server”, “Background worker”, “Email service”, “Authentication service”, etc.
Hostname
- Nome do atributo:
host.name - Ou como cabeçalho da requisição:
OpenTelemetry-HostName - Tipo: String
- Obrigatório: Sim
host.name ajuda o AppSignal a reconhecer diferentes hosts para traces e tagueia os traces automaticamente com o hostname.
Caminho do app
- Nome do atributo:
appsignal.config.app_path - Tipo: String
- Obrigatório: Não
app_path ajuda o AppSignal a limpar backtraces removendo o caminho absoluto do app das linhas de backtrace. Dessa forma, somente os caminhos dentro do contexto do diretório do projeto são exibidos. Isso torna possível nosso recurso de Backtrace links.
Filter attributes
- Nome do atributo:
appsignal.config.filter_attributes - Tipo: Array
- Obrigatório: Não
filter_attributes permite filtrar atributos específicos para que não sejam reportados ao AppSignal. Isso pode ser útil para filtrar informações sensíveis ou irrelevantes para que não sejam reportadas.
Se um atributo for filtrado dessa forma, ele não aparecerá na interface.
Filter function parameters
- Nome do atributo:
appsignal.config.filter_function_parameters - Tipo: Array
- Valor padrão: Vazio
- Obrigatório: Não
filter_function_parameters permite filtrar quaisquer parâmetros de função definidos no atributo de span appsignal.function.parameters.
No exemplo abaixo, os valores para as chaves listadas na opção de configuração filter_function_parameters são substituídos por [FILTERED].
Filter request query parameters
- Nome do atributo:
appsignal.config.filter_request_query_parameters - Tipo: Array
- Valor padrão: Vazio
- Obrigatório: Não
filter_request_query_parameters permite filtrar quaisquer query parameters de requisição definidos no atributo de span appsignal.request.query_parameters.
No exemplo abaixo, os valores para as chaves listadas na opção de configuração filter_request_query_parameters são substituídos por [FILTERED].
Filter request payload
- Nome do atributo:
appsignal.config.filter_request_payload - Tipo: Array
- Valor padrão: Vazio
- Obrigatório: Não
filter_request_payload permite filtrar quaisquer dados de payload de requisição definidos no atributo de span appsignal.request.payload.
No exemplo abaixo, os valores para as chaves listadas na opção de configuração filter_request_payload são substituídos por [FILTERED].
Filter request session data
- Nome do atributo:
appsignal.config.filter_request_session_data - Tipo: Array
- Valor padrão: Vazio
- Obrigatório: Não
filter_request_session_data permite filtrar quaisquer dados de sessão de requisição definidos no atributo de span appsignal.request.session_data.
No exemplo abaixo, os valores para as chaves listadas na opção de configuração filter_request_session_data são substituídos por [FILTERED].
Ignore actions
- Nome do atributo:
appsignal.config.ignore_actions - Tipo: Array de Strings
- Obrigatório: Não
ignore_actions permite ignorar ações específicas para que não sejam reportadas ao AppSignal. Isso pode ser útil para ignorar endpoints de health check ou outras ações que você não quer monitorar.
Ignore errors
- Nome do atributo:
appsignal.config.ignore_errors - Tipo: Array de Strings
- Obrigatório: Não
ignore_errors permite ignorar erros específicos para que não sejam reportados ao AppSignal. Isso pode ser útil para ignorar erros esperados ou erros que não podem ser resolvidos.
Ignore namespaces
- Nome do atributo:
appsignal.config.ignore_namespaces - Tipo: Array de Strings
- Obrigatório: Não
ignore_namespaces permite ignorar namespaces específicos para que não sejam reportados ao AppSignal. Isso pode ser útil para ignorar partes específicas da sua aplicação que você não quer que sejam monitoradas.
Cabeçalhos de resposta
- Nome do atributo:
appsignal.config.response_headers - Tipo: Array de Strings
- Valor padrão:
["content-length", "accept", "accept-charset", "accept-encoding", "accept-language", "cache-control", "connection", "range", "host"] - Obrigatório: Não
http.response.header.<key>, onde <key> é o nome do cabeçalho normalizado (em minúsculas).
Para não definir nenhum cabeçalho, defina explicitamente o valor do atributo de recurso como um array vazio.
Cabeçalhos de requisição
- Nome do atributo:
appsignal.config.request_headers - Tipo: Array de Strings
- Valor padrão:
["content-length", "accept", "accept-charset", "accept-encoding", "accept-language", "cache-control", "connection", "range", "host"] - Obrigatório: Não
http.request.header.<key>, onde <key> é o nome do cabeçalho normalizado (em minúsculas).
Para não definir nenhum cabeçalho, defina explicitamente o valor do atributo de recurso como um array vazio.
Send function parameters
- Nome do atributo:
appsignal.config.send_function_parameters - Tipo: Boolean
- Valor padrão:
true - Obrigatório: Não
false, nenhum desses dados é enviado aos nossos servidores.
Esses valores são definidos com o atributo de span appsignal.function.parameters.
Send request query parameter
- Nome do atributo:
appsignal.config.send_request_query_parameters - Tipo: Boolean
- Valor padrão:
true - Obrigatório: Não
false, nenhum desses dados é enviado aos nossos servidores.
Esses valores são definidos com o atributo de span appsignal.request.query_parameters.
Para mais informações, leia sobre filtragem de parâmetros de requisição.
Send request payload
- Nome do atributo:
appsignal.config.send_request_payload - Tipo: Boolean
- Valor padrão:
true - Obrigatório: Não
false, nenhum desses dados é enviado aos nossos servidores.
Esses valores são definidos com o atributo de span appsignal.request.payload.
Send request session data
- Nome do atributo:
appsignal.config.send_request_session_data - Tipo: Boolean
- Valor padrão:
true - Obrigatório: Não
false, nenhum desses dados é enviado aos nossos servidores.
Esses valores são definidos com o atributo de span appsignal.request.session_data.