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

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Configuração do agente Go

Você pode editar as definições de configuração do agente Go para controlar alguns aspectos de como o New Relic monitora seu aplicativo. Por exemplo:

  • Ative o modo de alta segurança.
  • Adicione tag personalizada para filtragem e classificação na interface.
  • Desative a coleta de erros, evento de transação, rastreamento de transação e evento personalizado.

Métodos de configuração e precedência

A principal maneira de configurar o agente Go é modificando a estrutura newrelic.Config como parte da chamada newrelic.NewApplication(), que faz parte do processo de instalação padrão . Com o agente Go versões 2.7.0 ou superior, você também pode definir um número limitado de opções de configuração usando Configuração no lado do servidor na interface.

O agente Go segue esta ordem de precedência para configuração. Se ativada, a configuração no lado do servidor substitui all valores correspondentes na estrutura newrelic.Config , mesmo que os valores do lado do servidor sejam deixados em branco.

Se a configuração no lado do servidor estiver ativada com o agente Go, ela substituirá all valores correspondentes na estrutura newrelic.Config , mesmo que os valores do lado do servidor sejam deixados em branco.

Aqui estão descrições detalhadas de cada método de configuração:

Alterar definições de configuração

Para fazer alterações na configuração do agente Go, defina os valores na estrutura newrelic.Config de dentro de um newrelic.ConfigOption personalizado. Por exemplo, para desativar temporariamente o monitoramento do New Relic para fins de teste, altere o valor Enabled para false:

app, err := newrelic.NewApplication(
newrelic.ConfigAppName("Your Application Name"),
newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")),
func(config *newrelic.Config) {
config.Enabled = false
},
)

Neste e nos exemplos a seguir, config representa sua estrutura de configuração do New Relic, embora você possa ter dado a ela um nome de variável diferente quando instalou o agente Go e iniciou a configuração em seu aplicativo.

Configurações gerais de configuração

Se você estiver usando o New Relic CodeStream para monitor o desempenho do seu IDE, você também pode associar o repositório aos seus serviços e associar SHAs de compilação ou tag de lançamento a erros.

Configurando a partir do ambiente

Para maior flexibilidade, você pode definir muitas opções de configuração definindo variáveis de ambiente em vez de codificá-las no código-fonte do seu aplicativo. Para usá-los, adicione uma chamada para ConfigFromEnvironment() entre suas outras opções de configuração:

app, err := newrelic.NewApplication(
newrelic.ConfigAppName("Your Application Name"),
newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")),
newrelic.ConfigFromEnvironment(),
)

Observe que as variáveis de ambiente serão lidas e suas entradas correspondentes na estrutura newrelic.Config serão atualizadas, no ponto da lista de opções onde newrelic.ConfigFromEnvironment() aparece. Se houver opções de configuração adicionais listadas após ConfigFromEnvironment, elas poderão substituir os valores definidos por ConfigFromEnvironment.

Por exemplo, se as seguintes variáveis de ambiente forem definidas:

NEW_RELIC_LICENSE_KEY="your_license_key_here"
NEW_RELIC_APP_NAME="Your Application Name"
NEW_RELIC_CODE_LEVEL_METRICS_ENABLED="true"
NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIX="myproject/src"
NEW_RELIC_LABELS="Env:Dev;Label2:label2;Label3:label3;Label4:label4"

então o seguinte código:

app, err := newrelic.NewApplication(
newrelic.ConfigFromEnvironment(),
)

obterá o mesmo resultado que o equivalente codificado:

app, err := newrelic.NewApplication(
newrelic.ConfigAppName("Your Application Name"),
newrelic.ConfigLicense("your_license_key_here"),
newrelic.ConfigCodeLevelMetricsEnabled(true),
newrelic.ConfigCodeLevelMetricsPathPrefix("myproject/src"),
func(config *newrelic.Config) {
config.Labels = map[string]string{
"Env": "Dev",
"Label2": "label2",
"Label3": "label3",
"Label4": "label4",
}
},
)

Nem todas as opções de configuração possíveis podem ser definidas por meio de variáveis de ambiente. A tabela de variáveis e funções de ambiente no recolhido abaixo lista todas as funções de configuração disponíveis e suas variáveis de ambiente correspondentes. Embora qualquer opção de configuração nomeada possa ser definida atribuindo-se diretamente um valor ao campo correspondente na estrutura Config , recomendamos o uso de funções de configuração e/ou variáveis de ambiente sempre que possível.

Definir tag de versão

A configuração de NEW_RELIC_METADATA_SERVICE_VERSION criará uma tag tag.service.version nos dados do evento. Neste contexto, a versão do serviço é a versão do seu código que está implantada, em muitos casos uma versão semântica como 1.2.3 mas nem sempre. O envio dessas informações permite facetar sua telemetria pela versão do software implantado para que você possa identificar rapidamente quais versões do seu software estão produzindo os erros.

AI Monitoring

Esta seção inclui a configuração do agente Go para configurar AI Monitoring.

Importante

Se distributed tracing estiver desativado ou o modo de alta segurança estiver ativado, AI Monitoring não coletará dados de IA.

Configuração personalizada do evento

Você pode criar eventos personalizados e disponibilizá-los para consulta e análise.

Configuração de evento de transação

Os eventos de transação são usados na coleta de eventos correspondentes a solicitações da web e tarefas em segundo plano. Os dados do evento permitem que a interface do New Relic mostre informações adicionais como histograma e percentil.

Erro na configuração do coletor

As configurações a seguir são usadas para configurar o coletor de erros:

Dica

Para obter uma visão geral da configuração de erros no New Relic, consulte Gerenciar erros no APM.

Configuração tracer de transação

Aqui estão as configurações para alterar a configuração tracer de transação. Para obter mais informações sobre rastreamento de transação, consulte rastreamento de transação.

Configuração tracer de armazenamento de dados

Aqui estão as configurações do armazenamento de dados, incluindo habilitação e configurações de consulta lenta .

Configuração de rastreamento multiaplicativo

Aqui estão as configurações para alterar o recurso de rastreamento multiaplicativo .

Importante

O rastreamento multiaplicativo foi descontinuado em favor do Distributed tracing e será removido em uma versão futura do agente.

Configuração distributed tracing

Importante

A ativação distributed tracing requer o agente Go versão 2.1.0 ou superior, e desativa o rastreamento multiaplicativo. Também tem efeitos sobre outros recursos. Antes de ativar, leia o guia de transição.

distributed tracing permite ver o caminho que uma solicitação percorre ao percorrer sistemas distribuídos.

Quando distributed tracing está habilitado, você pode coletar span evento.

Configuração do evento de extensão

Os eventos Span são relatados para distributed tracing. distributed tracing deve ser ativado para relatar o evento span. Estas configurações controlam a coleção de eventos span:

Configuração de rastreamento infinito

Para ativar o rastreamento infinito, ative distributed tracing (defina config.DistributedTracer.Enabled = true na estrutura newrelic.Config) e adicione as configurações adicionais abaixo. Por exemplo, consulte Agente de idioma: configurar distributed tracing.

Configurações de log do aplicativo

As configurações a seguir estão disponíveis para configuração do log do aplicativo no agente. Para obter dicas sobre como usar o logs contextualizados do agente Go, consulte logs contextualizados do Go.

Importante

Requer agente Go versão 3.17.0 ou superior

Configurações métricas de dependência de módulo

A métrica de dependência do módulo pode ser configurada de diversas maneiras no agente Go. A métrica de dependência de módulo relata a lista de módulos importados usados por seu aplicativo Go para ajudar a facilitar o gerenciamento de dependência de código. Também inclui as informações de versão dos módulos do seu aplicativo.

Importante

Requer agente Go versão 3.20.0 ou mais alto

New Relic IAST

O New Relic Interactive App Security Testing (IAST) testa seu aplicativo em busca de quaisquer vulnerabilidades exploráveis, reproduzindo a solicitação HTTP gerada com carga vulnerável. Você pode ativar o IAST do New Relic atualizando o código do seu aplicativo Go com configurações que são passadas para a função INIT. Você também pode fazer essas configurações através de um arquivo YAML ou com variáveis de ambiente.

As opções definidas usando funções INIT têm precedência sobre o ambiente ou a configuração YAML. Dito isso, recomendamos habilitar o IAST usando um arquivo YAML porque essas configurações serão passadas para outro agente em seu ambiente.

Instruções de configuração

Importe a integração adicionando a seguinte dependência direta ao seu arquivo go.mod .

import "github.com/newrelic/go-agent/v3/integrations/nrsecurityagent"

Em seguida, inicialize e habilite o agente de segurança.

Habilitar IAST

Configurar o IAST

O agente de segurança pode ser configurado com as opções a seguir.

Partes sensíveis de segurança do instrumento do seu aplicativo

A integração nrgin, nrgrpc, nrmicro, fasthttp ou nrmongo agora contém código para dar suporte à análise de segurança dos dados que eles manipulam.

Além disso, o agente Go realizará varredura de vulnerabilidades em código instrumentado contendo segmentos de armazenamento de dados, operações SQL, transação e chamadas HTTP encapsuladas e endpoint.

Copyright © 2024 New Relic Inc.

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