Quando se trata de relatar dados personalizados não relatados por padrão pelas soluções New Relic, duas das soluções mais populares são atributo personalizado e evento personalizado. Este documento entrará em mais detalhes sobre por que você usaria atributo personalizado.
Para algumas soluções New Relic, uma maneira de relatar dados personalizados para a New Relic é usar atributo personalizado . Ao adicionar atributo personalizado aos seus dados, você pode fazer análises mais aprofundadas e personalizadas do seu negócio. Por exemplo, para monitoramento de browser do New Relic, você pode criar um atributo personalizado para rastrear o nome de usuário associado a uma solicitação lenta ou com falha.
Importante
Atributo personalizado contam para GB ingeridos e são dados faturáveis.
Requisitos
Atributo personalizado estão disponíveis para estas soluções New Relic:
APM
Monitoramento de browser
Monitoramento de Mobile
Monitoramento de infraestrutura
Monitor Sintético
Entraremos em mais detalhes sobre essas opções abaixo.
Recomendações para criação e uso de atributo personalizado
Na New Relic, atributo são pares de valores principais que fornecem metadados sobre o evento ao qual estão vinculados.
Um padrão comum na criação de um atributo personalizado é capturar informações do usuário, como nome, ID, email e muito mais. Isso permite que você crie uma associação entre seus dados operacionais e seus dados comerciais. Por exemplo, se você tiver as informações do usuário, você vinculará os dados da central de atendimento e do CRM aos dados operacionais do New Relic.
Outros tipos de contexto de negócios podem incluir:
Token de clientes
Segmento de mercado de clientes
Classificação de valor dos clientes
Valores de controle de fluxo de trabalho não óbvios no URIStem
Contexto de privilégio de usuário/produto/conta
O contexto operacional pode incluir:
Quais flags de recurso foram utilizadas
Qual armazenamento de dados foi acessado
Qual cache foi acessado
Quais erros foram detectados e ignorados (particionamento de falhas)
Depois de adicionar um atributo personalizado, você pode consultá-lo no New Relic e criar gráficos personalizados a partir desses dados. Por exemplo, se você usou a API do agente Java para adicionar um atributo userId ao evento Transaction e TransactionError , poderá criar uma consulta NRQL usando esse atributo, como:
SELECTcount(*)FROM TransactionError
WHERE userId ='1401961100' FACET dateOf(timestamp),`error.message`
A coleção atributo personalizado está habilitada por padrão em Java. Você pode coletar atributo personalizado usando XML e a API Java do agente. Esses dois métodos podem ser usados em conjunto. Observe que coletar atributo personalizado requer que o jar da API Java New Relic esteja no classpath da aplicação.
Método
How to do it
Especifique o atributo em XML
XML permite que você especifique um atributo personalizado sem alterar nenhum código-fonte. Você pode ter vários arquivos XML para atributo personalizado agrupados por alguma faceta lógica.
Para definir um atributo personalizado para seu aplicativo Java via XML:
Defina um arquivo de instrumentação XML usando a interface do New Relic. Isso pode exigir configuração adicional no bloco common: do seu newrelic.yml. Consulte Report custom attributes em Opções de instrumentação para obter mais detalhes.
Chame a API do agente
Example 1: Adding custom attributes to transactions
Para coletar atributo personalizado usando a chamada de API do agente, utilize os métodos relevantes:
Para cada método para o qual você deseja registrar um atributo, chame NewRelic.addCustomParameter(...).
Por exemplo, para registrar uma variável chamada userId, inclua este código no método pai:
NewRelic.addCustomParameter("userId", userId);
Example 2: Adding custom attributes to spans in distributed traces
Para coletar atributo personalizado usando a chamada de API do agente, utilize os métodos relevantes:
Para cada período (método atualmente em execução) para o qual você deseja registrar um atributo, chame NewRelic.getAgent().getTracedMethod().addCustomAttribute(...).
O agente Java também inclui um mecanismo integrado para ativar o atributo do usuário e coletar informações do usuário de HttpServletRequest.getUserPrincipal() como atributo personalizado.
A coleção atributo personalizado está habilitada por padrão no .NET. Para coletar atributo personalizado, chame os métodos API relevantes:
Para cada método para o qual você deseja registrar um atributo, chame AddCustomAttribute.
Opcional: inclua ou exclua atributo com as opções de configuração include e exclude .
Por exemplo, para registrar um atributo para um código de cupom (string) e um código de ID de item (número), você pode incluir este código no método pai:
Por exemplo, para registrar um atributo para um código de cupom e um código de ID de item, você pode incluir isto no método pai:
newrelic.addCustomAttributes({
"Discount Code":"Summer Super Sale",
"Item Code":31456
});
A coleção atributo personalizado está habilitada por padrão no PHP. Para coletar um atributo personalizado, chame o método API relevante para cada método que deseja registrar um atributo;
Por exemplo, para registrar uma variável chamada $userId, inclua este código no método pai:
newrelic_add_custom_parameter('userID',$userId)
A coleção atributo personalizado está habilitada por padrão em Python. Para coletar um atributo personalizado, chame add_custom_attribute para cada método que deseja registrar um atributo.
Por exemplo, para registrar uma variável chamada user_id, inclua este código no método pai:
A coleção atributo personalizado está habilitada por padrão em Ruby. Para coletar um atributo personalizado, chame o método add_custom_attributes . Por exemplo, para registrar uma variável chamada @user_id, inclua este código no método pai:
Monitoramento de infraestrutura: Registro de atributo personalizado
Nosso monitoramento de infraestrutura permite criar atributos personalizados que servem para anotar os dados do agente de infraestrutura. Você pode usar esses metadados para filtrar sua entidade, agrupar seus resultados e anotar seus dados.
Monitoramento de Mobile: Record atributo personalizado
Agente mobile inclui chamada de API para registrar atributo personalizado: