A partir da versão 1.24.0 do agente você pode habilitar a autoinstrumentação do agente e monitor o desempenho do agente usando New Relic APM. Isto permitirá ter uma melhor visão do comportamento do agente, utilização de filas e integração de carga entre outros facilitando a configuração e resolução de problemas.
Importante
A autoinstrumentação do agente de infraestrutura é um recurso experimental. A telemetria instrumentada pode sofrer alterações (métrica, transação, evento personalizado). Recomendamos habilitá-lo apenas para cenários complexos de resolução de problemas. Aplicam-se preços padrão para ingestão de dados.
A autoinstrumentação está desabilitada por padrão. Para habilitá-lo use a opção de configuração self_instrumentation:
self_instrumentation: "newrelic"
Assim que self_instrumentation
estiver habilitado, o agente reportará métricas sobre si mesmo e um novo aplicativo New Relic infrastructure agent
aparecerá na interface do New Relic APM .
Acessando o aplicativo New Relic infrastructure agent
você verá dados de:
- Go Runtime (CPU, memória...)
- Transação (amostras, integração, https post...)
Para ver métrica personalizada sobre a utilização de filas de eventos internos do agente e integração de carga você pode importar o seguinte dashboard.
Dica
Substitua o espaço reservado ACCOUNT_ID
pelo número da sua conta na carga json abaixo. Mais informações sobre a importação do painel
{ "name": "New Relic infrastructure agent instrumentation", "description": "Overview of New Relic infrastructure agent", "permissions": "PUBLIC_READ_WRITE", "pages": [ { "name": "Overview", "description": null, "widgets": [ { "title": "Goroutines", "layout": { "column": 1, "row": 1, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": ACCOUNT_ID, "query": "SELECT average(newrelic.timeslice.value) AS `Go/Runtime/Goroutines` FROM Metric WHERE metricTimesliceName = 'Go/Runtime/Goroutines' AND appName = 'New Relic Infrastructure Agent' TIMESERIES" } ], "yAxisLeft": { "zero": true } } }, { "title": "Agent Used Memory", "layout": { "column": 5, "row": 1, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": ACCOUNT_ID, "query": "FROM Metric SELECT average(apm.service.memory.physical) WHERE appName = 'New Relic Infrastructure agent' TIMESERIES" } ], "yAxisLeft": { "zero": true } } }, { "title": "Integrations Payload Size", "layout": { "column": 9, "row": 1, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": ACCOUNT_ID, "query": "FROM Transaction SELECT average(payload_size) facet name,integration_hostname,integration_port LIMIT MAX TIMESERIES" } ] } }, { "title": "Queue Event utilization", "layout": { "column": 1, "row": 4, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": ACCOUNT_ID, "query": "FROM Metric SELECT percentile(agent.eventQueueUtilization,99,95,50) TIMESERIES " } ], "yAxisLeft": { "zero": true } } }, { "title": "Queue Capacity", "layout": { "column": 5, "row": 4, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": ACCOUNT_ID, "query": "FROM Metric SELECT max(agent.eventQueueCapacity) TIMESERIES" } ], "yAxisLeft": { "zero": true } } }, { "title": "postEventsNum", "layout": { "column": 9, "row": 4, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": ACCOUNT_ID, "query": "FROM Metric SELECT max(agent.postEventsNum) TIMESERIES" } ], "yAxisLeft": { "zero": true } } }, { "title": "Transactions", "layout": { "column": 1, "row": 7, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": ACCOUNT_ID, "query": "FROM Transaction SELECT average(duration) WHERE appName = 'New Relic Infrastructure agent' FACET name TIMESERIES " } ], "yAxisLeft": { "zero": true } } }, { "title": "Transaction Errors", "layout": { "column": 5, "row": 7, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": ACCOUNT_ID, "query": "FROM TransactionError SELECT count(*) TIMESERIES" } ], "yAxisLeft": { "zero": true } } } ] } ]}