diasdmhub / Intelbras_NVR_Zabbix_Template

Zabbix template to monitor SNMP data from your Intelbras/Dahua NVR
https://diasdmhub.github.io/Intelbras_NVR_Zabbix_Template/
GNU General Public License v3.0
22 stars 10 forks source link

Bug no agente SNMP do NVR "NVD 3316 P" da Intelbras #6

Closed diasdmhub closed 9 months ago

diasdmhub commented 1 year ago


De forma recorrente, ocorrem falhas na comunicação SNMP do NVR "NVD 3316 P" da Intelbras. Diariamente o Zabbix informa a perda permanente da conexão SNMP com o NVR.

Após rastrear os pacotes SNMP, a falha de comunicação foi delimitada ao próprio gravador. Como o acesso ao sistema operacional do NVR é bloqueado, não foi possível investigar mais a fundo.

Ficou evidente que o NVR não está respondendo corretamente às requisições SNMP. Deste modo, a monitoração é prejudicada bem como a confiabilidade do NVR. O bloqueio do software também dificulta uma análise mais apurada.

Solução de contorno com o Zabbix

[!WARNING] Em caso de acesso remoto, é altamente recomendado utilizar um certificado SSL no NVR (HTTPS).

1. O CGI do gravador deve estar habilitado.

image

2. No Zabbix o host deve ter associado uma macro para registrar a senha do dispositivo.

image

3. Em seguida, deve ser criado um script global a ser executado no Zabbix Server ou Proxy com o escopo "Action Operation". Ele simplesmente reinicia o serviço SNMP no gravador.

image

curl -k --digest -u "{$API_USER}:{$API_PASS}" "{$WEB_SERVICE}://{HOST.CONN}:{$WEB_PORT}/cgi-bin/configManager.cgi?action=setConfig&SNMP.Enable=false"
sleep 5
curl -k --digest -u "{$API_USER}:{$API_PASS}" "{$WEB_SERVICE}://{HOST.CONN}:{$WEB_PORT}/cgi-bin/configManager.cgi?action=setConfig&SNMP.Enable=true"

[!NOTE]

  • O script faz uma requisição HTTP por meio da API do NVR.
  • Na imagem acima, foi utilizado o usuário admin, mas pode-se utilizar outro usuário com nível de administrador.
  • A macro {HOST.CONN} herda o IP ou DNS do NVR.
  • As macros {$API_USER}, {$API_PASS}, {$WEB_SERVICE} e {$WEB_PORT} fazem parte da template deste repositório. Caso não utilize esta template, altere as macros para os valores de seu NVR.
  • Caso esteja utilizando HTTP, remova o parâmetro -k do comando curl.

4. Crie uma Trigger Action e vincule ela à trigger "No SNMP data collection" do NVR. A operação deve ser o script criado.

image

Com esta automação, o serviço SNMP do gravador deve ser reiniciado automaticamente.


[!IMPORTANT] O objetivo desta issue é somente documentar o bug no NVR da Intelbras e propor uma solução de contorno. Portanto, não é oferecido suporte a esta automação.

diasdmhub commented 9 months ago

Felizmente tenho a satisfação de informar que recebi da Intelbras um firmware atualizado para meu NVR e desde então não tive mais falhas de SNMP. A nova versão é de "19/12/2023".

Infelizmente, não recebi um "changelog" com informações sobre o que fora atualizado e, ao questionar a Intelbras, o representante também não tinha essa informação. Após uma longa história, houve uma correção no firmware. Isto confirma que a falha era de fato no software embarcado do dispositivo.

virgilioborges commented 1 month ago

Felizmente tenho a satisfação de informar que recebi da Intelbras um firmware atualizado para meu NVR e desde então não tive mais falhas de SNMP. A nova versão é de "19/12/2023".

Bom dia! Primeiramente, muito obrigado pelo excelente trabalho com o template para NVRs da Intelbras. Agradeço também pelo script de reinicialização do serviço de SNMP, que tornou viável o monitoramento dos vários equipamentos que temos aqui (modelos 3116, 3332 e 7132). Não consegui encontrar a última versão do firmware do modelo 3116 citada por você (19/12/2023). Você poderia me enviar ou indicar onde posso encontrá-lo para download? Obrigado.

diasdmhub commented 1 month ago

@virgilioborges, infelizmente o esquema de versionamento da Intelbras não é muito amigável. O firmware que a Intelbras me forneceu não foi disponibilizado para download. Era uma versão que eles chamaram de "beta". Acho que pouco tempo depois eles lançaram uma nova atualização já com essa correção incluída.

Atualmente, para o NVR 3316 P, o site da Intelbras possui um firmware na versão 6 de 05/06/2024. No changelog, é indicado que a versão 4 teve "ajustes na estabilidade do protocolo SNMP". Acredito que você pode atualizar seus dispositivos para a versão mais recente.

virgilioborges commented 1 month ago

Perdão, @diasdmhub. Confundi o 3116 com o 3316. A linha 33XX teve atualização 5/06 e já apliquei. A linha 3116 é que parou em 2022. Obrigado e continue com o excelente trabalho. Estou usando a verão atualizada no Zabbix 7 e está 100%!

diasdmhub commented 1 month ago

É interessante notar que a correção que a Intelbras implementou parece ter sido uma solução de contorno... definitiva.

Ao buscar os registros do NVR, é possível notar que diariamente o usuário default altera a configuração SNMP no dispositivo. Screenshot from 2024-09-27 19-55-14

Primeiro, o SNMP é desabilitado. snmp_desabilitado

Em seguida, o SNMP é reabilitado. snmp_reabilitado

Com isso, entendo que criaram uma automação que reinicia o serviço SNMP diariamente. Seria melhor se o SO fosse acessível e pudéssemos encontrar a causa-raiz da falha, mas até o momento tem funcionado bem.

virgilioborges commented 1 month ago

Resumindo, fizeram uma gambiarra, que aparentemente resolveu ☺. É impressionante como que o hardware trabalha no limite de memória e CPU, em todos os modelos que tenho. A linha 3316/3332 trabalha um pouco mais folgada, mesmo assim precisei ajustar os parâmetros de codificação do stream principal e extra. Já o modelo 7132 trabalha o tempo todo em 100% de CPU, independente de ajustes no codec. A TP-Link está entrando pesado com sua linha de NVRs e câmeras IP no mercado nacional, vamos ver como será a reação da Intelbras, que, até então, domina esse nicho.

diasdmhub commented 1 month ago

É verdade! Esses dispositivos trabalham consumindo o máximo que o hardware oferece. No geral, são bem otimizados.

E bem lembrado. Dispositivos da TP-Link são bons concorrentes. É bom conhecer a linha de CFTV deles. Valeu pela dica.