Você pode usar o NerdGraph em api.newrelic.com/graphiql para criar, consultar e gerenciar suas regras de análise de logs. NerdGraph é nosso explorador de API no formato GraphQL.
Esquema de análise de dados
Os campos de regras de análise disponíveis incluem:
Campos | Descrição |
---|---|
id | Identificador exclusivo de análise de dados. |
parsingRules | O nome da regra de análise. |
descrição | Uma descrição do que esta regra de análise representa. |
grok | O padrão Grok para esta regra de análise. Por exemplo, você pode incluir o |
lucene | O valor de pesquisa usado na interface do New Relic; por exemplo, |
ID da conta | O ID da conta New Relic do usuário. |
NRQL | A consulta NRQL utilizada para consultas, se aplicável; por exemplo:
|
createdBy | O usuário que criou a regra. Opcional: você também pode incluir |
updatedBy | O usuário que atualizou a regra pela última vez. Opcional: você também pode incluir |
habilitado | Se esta regra de análise está habilitada ou não. |
excluído | Se esta regra de análise foi ou não eliminada. A exclusão de uma regra de análise não exclui o log já roteado. |
Exemplo de consulta de regras de análise de log
Este exemplo de solicitação da API NerdGraph obtém todas as regras de análise para uma determinada conta. Neste exemplo, todos os campos disponíveis são solicitados.
query { actor { account(id: 12345678) { logConfigurations { parsingRules { accountId createdBy { email gravatar id name } deleted description enabled grok id lucene nrql updatedAt updatedBy { email gravatar id name } } } } }}
A resposta retornada será semelhante a esta:
{ "data": { "actor": { "account": { "id": 12345678, "logConfigurations": { "parsingRules": [ { "accountId": 12345678, "createdBy": { "email": "myname@ncompany.com", "gravatar": "https://secure.gravatar.com/avatar/d0a88888888d666d111111111111111f", "id": 7777777, "name": "My Name" }, "deleted": false, "description": "Integer Test", "enabled": true, "grok": "source=%{NUMBER:test:int}", "id": "123", "lucene": , "nrql": "SELECT * FROM Log WHERE `logtype` = 'integer'", "updatedAt": "2021-08-23T17:25:06.553Z[UTC]", "updatedBy": { "email": "myname@ncompany.com", "gravatar": "https://secure.gravatar.com/avatar/d0a88888888d666d111111111111111f", "id": 7777777, "name": "My Name" } }...
Criar regras de análise
Este exemplo cria uma nova regra de análise de log. Antes de criar a regra, revise a documentação sobre análise de log e regras de análise integradas.
mutation { logConfigurationsCreateParsingRule( accountId: 12345678 rule: { description: "example parsing rule" enabled: false grok: "sampleattribute=%{NUMBER:test:int}" lucene: "logtype:testLogs" nrql: "SELECT * FROM Log WHERE `logtype` = 'testLogs'" } ) { rule { id enabled description grok } errors { message type } }}
Atualizar regras de análise
Este exemplo atualiza a regra de análise cujo id
é "123"
. Você pode atualizar qualquer um dos seguintes campos conforme necessário: description
, enabled
, grok
, lucene
e nrql
.
mutation { logConfigurationsUpdateParsingRule( accountId: 12345678 rule: { description: "example parsing rule" enabled: false grok: "sampleattribute=%{NUMBER:test:int}" lucene: "logtype:testLogs" nrql: "SELECT * FROM Log WHERE `logtype` = 'testLogs'" } id: "123" ) { errors { message type } rule { id grok description enabled } }}
Excluir regras de análise
A exclusão de uma regra de análise não exclui dados que já foram analisados. Os dados são retidos por um determinado período de tempo definido pelo campo retentionPolicy
.
mutation { logConfigurationsDeleteParsingRule(accountId: 123456789, id: "123") { errors { message type } }}