Uma forma do usuário acessar seu Nerdlet é criando um launcher. O iniciador abre um Nerdlet na página de Apps do New Relic. Você também pode fornecer acesso ao seu Nerdlet a partir de uma entidade em sua conta.
Neste guia você aprenderá como vincular seu Nerdlet à sua entidade.
Antes de você começar
Se você ainda não o fez:
- Cadastre-se para uma conta New Relic
- Instalar e configurar a CLI do New Relic One
Crie um Nerdpack
Atualize sua CLI:
$nr1 update
Crie um Nerdpack com a CLI:
$nr1 create --type nerdpack --name entity-nerdlet
Isso resulta em um Nerdpack, chamado entity-nerdlet
, que consiste em um launcher, chamado entity-nerdlet-launcher
, e um Nerdlet, chamado entity-nerdlet-nerdlet
.
Sirva seu Nerdpack:
$cd entity-nerdlet$nr1 nerdpack:serve
Vá para https://one.newrelic.com/?nerdpacks=local e navegue até Apps.
?nerdpacks=local
é necessário para permitir que seus Nerdpacks servidos localmente sejam carregados no New Relic.
Em Your apps, clique no iniciador para visualizar seu aplicativo New Relic.
Anexe seu Nerdlet à entidade
Você viu como pode acessar seu Nerdlet a partir de um launcher. Agora acesse seu Nerdlet pela sua entidade.
No diretório raiz do seu Nerdpack, abra nerdlets/entity-nerdlet-nerdlet/nr1.json
. Este é o arquivo de metadados do seu Nerdlet. Você usará este arquivo para anexar seu Nerdlet à entidade.
Adicione um objeto context
com uma matriz entities
:
{ "schemaType": "NERDLET", "id": "entity-nerdlet-nerdlet", "displayName": "EntityNerdletNerdlet", "description": "", "context": { "entities": [] }}
Isso informa New Relic que você deseja exibir seu Nerdlet em uma matriz de contextos de entidade.
Adicione um contexto de entidade:
{ "schemaType": "NERDLET", "id": "entity-nerdlet-nerdlet", "displayName": "EntityNerdletNerdlet", "description": "", "context": { "entities": [ { "domain": "APM", "type": "APPLICATION" } ] }}
Aqui, você anexou seu Nerdlet a todos os aplicativos de entidade no domínio APM .
Acesse a APM.
Como você está servindo seu Nerdpack localmente, lembre-se de que você ainda deve especificar a string de consulta ?nerdpacks=local
.
Escolha qualquer um dos seus aplicativos.
Role para baixo para ver seu Nerdlet anexado ao aplicativo.
Clique nesta opção de menu e veja seu Nerdlet da mesma forma que fez com o launcher.
Configure seu entities
A chave context.entities
no arquivo nr1.json
do seu Nerdlet especifica a qual entidade seu Nerdlet deve ser anexado.
Especifique uma entidade domain
Anexe seu Nerdlet a um determinado domínio de entidade especificando domain
como um dos seguintes valores:
APM
: Monitoramento do desempenho de aplicativos (APM)BROWSER
: BrowserINFRA
: Monitoramento de infraestruturaMOBILE
: Monitoramento de CelularSYNTH
: Monitoramento sintético
Por exemplo, anexe seu Nerdlet a todas as entidades do domínio APM
:
{ "context": { "entities": [{ "domain": "APM" }] }}
Anexe seu Nerdlet a todas as entidades, exceto aquelas de um domínio:
{ "context": { "entities": [{ "domain": "!APM" }] }}
Anexe seu Nerdlet a todas as entidades em múltiplos domínios:
{ "context": { "entities": [{ "domain": "APM" }, { "domain": "BROWSER" }] }}
Especifique uma entidade type
Anexe seu Nerdlet a um determinado tipo de entidade especificando type
como um dos seguintes valores:
APPLICATION
HOST
MONITOR
Por exemplo, anexe seu Nerdlet a todas as entidades do tipo APPLICATION
:
{ "context": { "entities": [{ "type": "APPLICATION" }] }}
Anexe seu Nerdlet a todas as entidades, exceto aquelas de um tipo específico:
{ "context": { "entities": [{ "type": "!APPLICATION" }] }}
Anexe seu Nerdlet a toda entidade cujo tipo corresponda a uma matriz de tipos:
{ "context": { "entities": [{ "type": "APPLICATION" }, { "type": "MONITOR" }] }}
Especifique a entidade tags
Anexe seu Nerdlet a uma entidade que tenha uma determinada tag.
Por exemplo, anexe seu Nerdlet à entidade que possui um GUID específico:
{ "context": { "entities": [ { "tags": [ { "key": "guid", "values": ["<SOME ENTITY GUID>"] } ] } ] }}
Anexe seu Nerdlet a cada entidade que tenha accountId
específico e use a linguagem de programação Python:
{ "context": { "entities": [ { "tags": [ { "key": "accountId", "values": ["<SOME ACCOUNT ID>"] }, { "key": "language", "values": ["python"] } ] } ] }}
Combinar filtros
Ao filtrar a entidade à qual seu Nerdlet será adicionado, você pode combinar domain
, type
e tags
:
{ "context": { "entities": [ { "domain": "APM", "type": "APPLICATION", "tags": [ { "key": "language", "values": ["python"] } ] }, { "domain": "SYNTH", "type": "MONITOR" }, { "domain": "BROWSER" } ] }}
Neste exemplo, você anexou seu Nerdlet a:
- Todos os aplicativos APM cuja tag de metadados especifica o idioma
python
- E todos os monitores Sintético
- E todas entidades do Browser