Se você encontrar problemas ao configurar localização privada para monitoramento sintético do New Relic, tente estas dicas de resolução de problemas para identificar problemas comuns minion ou gerentes de trabalho.
Demanda de trabalho e consumo
Identifique suas taxas de transferência atuais e avalie se suas chamadas por minuto ou gerente de trabalho conseguem acompanhar a carga de trabalho.
Os trabalhos exigem taxas de transferência por minuto:
SELECT rate(uniqueCount(jobId), 1 minute) FROM SyntheticRequestWHERE type != 'SIMPLE' FACET location SINCE 2 days agoTrabalhos por minuto ao longo do tempo:
SELECT rate(uniqueCount(jobId), 1 minute) FROM SyntheticRequestWHERE type != 'SIMPLE' FACET location SINCE 2 weeks ago TIMESERIESIdentifique o crescimento da fila:
SELECT derivative(checksPending, 1 minute) AS 'queue growth rate (per minute)'FROM SyntheticsPrivateLocationStatus WHERE name = 'YOUR_PRIVATE_LOCATION' SINCE 2 days ago TIMESERIESTaxa de consumo:
SELECT rate(uniqueCount(jobId), 1 minute) FROM SyntheticRequestWHERE type != 'SIMPLE' FACET location SINCE 2 weeks ago TIMESERIESLimpe o monitor com falha que está consumindo recursos:
SELECT 100*latest(minionJobsFailed)/latest(minionJobsReceived) AS 'job failure rate (%)'FROM SyntheticsPrivateMinion FACET minionLocation SINCE 2 weeks ago TIMESERIES MAX
Resolução de problemas de uso de memória
Alocação de memória recomendada por chamadas por minuto:
Docker: 2,5 GiB por núcleo de CPU para docker chamadas por minuto
Chamadas Kubernetes por minuto:
- 3 GiB por chamadas por minuto trabalhador pesado
- 3 GiB por pod de verificação de integridade
- 1,6 GiB para pod minion
Destino 60% de utilização máxima de memória
Alocação de memória recomendada por gerenciador de tarefas Sintético:
Docker: 3,256 GiB por núcleo de CPU para docker Sintético job manager
Gerenciador de tarefas Kubernetes Sintético (os valores são configuráveis):
- 1,6 GiB para pod do gerenciador de tarefas
- 1,0 GiB para pod de tempo de execução de ping
- 2 GiB por pod de tempo de execução da API Node.js
- 3 GiB por pod de tempo de execução do browser Node.js.
Destino 60% de utilização máxima de memória
Consulta útil para identificar o uso atual:
Uso de memória por local:
SELECT latest(minionPhysicalMemoryUsedPercentage) FROM SyntheticsPrivateMinionFACET minionLocation SINCE 2 weeks ago TIMESERIES MAXUso de memória por nome do host:
SELECT latest(minionPhysicalMemoryUsedPercentage) FROM SyntheticsPrivateMinionWHERE minionLocation = 'YOUR_PRIVATE_LOCATION' FACET minionHostname SINCE 2 weeks ago TIMESERIES MAX
Resolução de problemas de uso da CPU
Identifique possíveis períodos de alta demanda de CPU:
Uso geral da CPU:
SELECT latest(minionProcessorsUsagePercentage) FROM SyntheticsPrivateMinionFACET minionLocation SINCE 2 weeks ago TIMESERIES MAXUso de CPU para um local especificado:
SELECT latest(minionProcessorsUsagePercentage) FROM SyntheticsPrivateMinionWHERE minionLocation = 'YOUR_PRIVATE_LOCATION' FACET minionHostname SINCE 2 weeks ago TIMESERIES MAX
Resolução de problemas de rede
Network access is red:
O minion privado faz uma verificação no New Relic para verificar o acesso à rede pública. Se o acesso à rede pública não estiver disponível, o ícone Network Access na página Overview do minion privado ficará vermelho, mas caso contrário o minion privado estará totalmente funcional. Se este for o comportamento esperado, você pode ignorar esse erro com segurança.
Você também pode ver entradas de log como esta:
2016-01-21 21:47:09,401 [dw-22 - GET /private-location/status] c.n.s.m.util.PrivateMinionUtils WARN Unable to detect Public Network Access trying to fetch https://newrelic.com/synthetics: java.net.ConnectException: Connection refused
New Relic access is red:
O minion privado deve ter acesso a https://synthetics-horde.nr-data.net
para recuperar a lista de tarefas a serem executadas e publicar resultados que você pode visualizar na interface do usuário do New Relic. Se suas regras de firewall não permitirem acesso direto, você deverá configurar o acesso por proxy. Se necessário, adicione o endpoint DNS à sua lista de permissões.
Network IOPS:
O IOPS de rede também pode ser um bom lugar para solucionar problemas se você estiver usando um provedor de nuvem para suas chamadas por minuto. As chamadas por minuto docker e do Kubernetes exigem uma quantidade razoável de taxas de transferência de gravação. Analise seu IOPS médio e determine o tamanho de volume apropriado necessário para suas operações de disco por segundo.
Conflitos de porta executando docker contêineres no host
Se você estiver executando mais de um contêiner Docker localização privada no mesmo host, você terá conflitos de porta. Para evitar essa contenção de porta, certifique-se de fazer o seguinte ao iniciar a configuração dos gerenciadores de tarefas:
- Execute gerenciadores de tarefas e chamadas por minuto em hosts diferentes.
- Execute cada gerenciador de tarefas em um host separado.
- Execute cada chamada por minuto em um host diferente.