Um aplicativo New Relic é representado por uma pasta Nerdpack , que pode incluir um ou mais arquivos Nerdlet e, opcionalmente, um ou mais arquivos inicializadores . Aqui explicamos:
- A estrutura de arquivos para um Nerdpack, um Nerdlet e um launcher
- Como vincular um arquivo inicializador a um Nerdlet
- Como vincular seu aplicativo a uma entidade monitor
Gerar componentes Nerdpack
Existem duas maneiras de gerar um modelo Nerdpack:
Gere um Nerdpack: use o comando CLI do New Relic One
nr1 create
e selecioneNerdpack
para criar um modelo Nerdpack que inclua um Nerdlet e um inicializador.Gere o Nerdlet ou o iniciador individualmente: use o comando da CLI do New Relic One
nr1 create
e escolhaNerdlet
oulauncher
. Isso pode ser útil ao adicionar Nerdlets a um Nerdpack existente.
Estrutura de arquivos Nerdpack
Ao gerar um modelo Nerdpack usando o comando nr1 create
, ele terá a seguinte estrutura de arquivos:
my-nerdlet├── README.md├── launchers│ └── my-nerdlet-launcher│ ├── icon.png│ └── nr1.json├── nerdlets│ └── my-nerdlet-nerdlet│ ├── index.js│ ├── nr1.json│ └── styles.scss├── node_modules│ ├── js-tokens│ ├── loose-envify│ ├── object-assign│ ├── prop-types│ ├── react│ ├── react-dom│ ├── react-is│ └── scheduler├── nr1.json├── package-lock.json└── package.json
Estrutura de arquivos Nerdlet
Um Nerdpack pode conter um ou mais Nerdlets. Uma pasta Nerdlet começa com três arquivos padrão, index.js
, nr1.json
e styles.scss
. Esta é a aparência dos arquivos padrão após serem gerados usando o comando nr1 create
:
index.js
O código JavaScript do Nerdlet.
import React from 'react';
export default class MyAwesomeNerdpack extends React.Component { render() { return <h1>Hello, my-awesome-nerdpack Nerdlet!</h1>; }}
nr1.json
O arquivo de configuração do Nerdlet.
{ "schemaType": "NERDLET", "id": "my-awesome-nerdpack-nerdlet", "description": "Describe me", "displayName": "MyAwesomeNerdpack"}
Além de usar o inicializador como ponto de acesso do seu aplicativo, você também pode associar o aplicativo a uma entidade monitor para que ele apareça no explorador de entidades. Para isso, adicione dois campos adicionais ao arquivo de configuração do primeiro lançamento Nerdlet: entities
e actionCategory
.
Neste exemplo, o Nerdlet foi associado a todos os aplicativos Browser-monitor e aparecerá na categoria interface Monitor :
{ "schemaType": "NERDLET", "id": "my-nerdlet", "description": "Describe me", "displayName": "Custom Data", "context": { "entities": [{ "domain": "BROWSER", "type": "APPLICATION" }] }, "actionCategory": "monitor"}
Para ver este aplicativo na interface, você iria até o explorador de entidade, selecionaria o aplicativo Browser e selecionaria um aplicativo monitor.
styles.scss
Um arquivo SCSS vazio para estilizar seu aplicativo.
icon.png
O ícone do iniciador que aparece na página Apps do New Relic quando um aplicativo é implantado.
Estrutura de arquivos do iniciador
Os lançadores têm sua própria estrutura de arquivos. Observe que:
Não é necessário um iniciador; como alternativa ao uso de um iniciador, você pode associar seu aplicativo a uma entidade monitor.
Um aplicativo pode ter mais de um inicializador, o que pode ser desejado para um aplicativo com vários Nerdlets.
Depois de gerar um inicializador usando o comando nr1 create
, sua pasta contém dois arquivos:
nr1.json
O arquivo de configuração.
{ "schemaType": "LAUNCHER", "id": "my-awesome-nerdpack-launcher", "description": "Describe me", "displayName": "MyAwesomeNerdpack", "rootNerdletId": "my-awesome-nerdpack-nerdlet"}
Para conectar um iniciador a um Nerdlet, o rootNerdletId
deve corresponder ao id
no arquivo de configuração nr1.json
do Nerdlet de lançamento. Para Nerdpacks com múltiplos Nerdlets, isso precisa ser feito apenas para o Nerdlet de primeiro lançamento.
icon.png
O ícone exibido no iniciador do aplicativo na página Apps .