Como monitorar dispositivos UNIFI UBIQUITI no zabbix – Parte 1

Olá a todos!

Atualizado 07/03/2019 incluindo suporte para zabbix versão 4.0

Em primeiro lugar, quero ressaltar que a documentação em relação a SNMP Unifi Ubiquiti é bem difícil de encontrar e em relação ao zabbix, a documentação é bem confusa. Tive que fazer uso de várias ferramentas fora do objetivo da tarefa e muitas tentativas e erros até chegar a um template do zabbix realmente funcional.

Dados coletados pelo Zabbix

O suporte SNMP nos dispositivos UNIFI Ubiquiti com firmware antigo é inexistente, incompleto ou incompatível com este template. Pois a Unifi fez algumas alterações nas OIDs do SNMP do Ubiquiti. Portanto aqui vão alguns pré-requisitos para se aventurar nesta brincadeira:

1 – O Software da controladora deverá ser o mais recente com suporte à SNMP. Sugiro começar com a versão 5.9.29.

2 – O firmware do dispositivo WIFI deverá ser igual ou superior a versão 3.9.x. As localizações das OIDs não são as mesmas nas versões mais antigas. A versão mais antiga que eu testei e que não funciona foi a 3.7.58.6385. Portanto, se sua versão de firmware é superior a esta, pode testar, mas, não garanto que irá funcionar.

3 – O servidor Zabbix deverá dispor das seguintes MIBs instaladas:
FROGFOOT-RESOURCES-MIB, IANAifType-MIB, IF-MIB, SNMP-FRAMEWORK-MIB, SNMPv2-CONF, SNMPv2-MIB, SNMPv2-SMI, SNMPv2-TC, UBNT-MIB, UBNT-UniFi-MIB

4 – A versão do servidor Zabbix foi a 3.4, portanto versões iguais ou superiores a esta deverão funcionar também.

Para quem não aguentar esperar e já quiser ir testando, segue o Template:

Template Unifi SNMP 2019 V1.1

Gostaram da dica?
Deixe seu comentário ou sugestão!

Até a próxima!

Alguns prints:



36 comentários sobre “Como monitorar dispositivos UNIFI UBIQUITI no zabbix – Parte 1”

  1. Boa noite amigo.
    Implantei com sucesso os passos deste tutorial, mas faltam detalhes de como configurar no Zabbix. Eu devo adicionar um Host com o IP do Unifi Controller utilizando o Template?

    1. Boa noite Pablo!
      Primeiro você deve importar o template.
      Após isso, criar um novo host com o IP do AP UNIFI e não esquecer de fixar este mesmo IP na configuração do AP.
      Durante a criação do host, basta ir em templates e selecionar o template Unifi clicar em add, e depois salvar a configuração.
      Após cerca de 1 minuto você já será capaz de ver o resultado das coletas.
      Caso não esteja coletando, você pode fazer um teste a partir do seu servidor zabbix utilizando o comando:
      snmpwalk -v1 -c public ipdoapubiquiti

  2. Boa noite Amigo
    Funciona com um zabbix proxy coletando as informações?
    Pois pelo que entendi esse zabbix proxy teria ter as MIBs que mencionou

    1. Boa noite Tiago!
      Funciona com zabbix proxy, sem problemas.
      Só precisa das Mibs para depuração e apenas no servidor zabbix.
      Depois que eu conclui os artigos, eu mudei a direção e refiz todo o template usando as OIDs sem tradução.
      Forte abraço e sucesso

  3. Obg pela resposta, mas fiquei um pouco confuso, pelo que você detalhou no item 3 deste artigo as mibs do Unifi devem estar instaladas no zabbix, para eu realizar as coletas dos itens conforme o seu template eu preciso dessas mibs instaladas no zabbix?

    1. Olá Fabrício!
      Depois que eu completei o template, eu o refiz usando os números das OIDs ao invés das traduções das MIBs.
      As MIBs referentes ao UNIFI não deverão fazer falta. Elas servem para debugar ou implementar novas funções de dispositivos UNIFI.
      Eu deixei a informação, pois, alguém pode querer melhorar o template e não vai conseguir sem as MIBs.
      Abraços
      Alex Moura

      Segue a resposta em inglês que eu dei para uma outra pessoa que fez uma pergunta semelhante.
      Em resposta a Glenn

      Hello Glenn!
      In fact, I developed this template using these MIBs, but, these requirements are to troubleshooting.
      I changed my direction, and only using the OID numbers to create the template and used the OID names to identify the MIBs correspondent names.
      Despite my system have these MIBs, in theory, perhaps not necessary for troubleshooting.
      MIBs are files to translate the OID numbers to human readable information.
      So let’s go to solve your problem.

      Follow these steps to fix your AP.
      1 – The SNMP protocol must be enabled at the Acess Point set in services SNMP session in controller. For troubleshooting use “public” community.
      2 – Use ping to test the physical connection to the Access point.
      3 – On zabbix server use NetCat to test the port connectivity;
      EX: nc -vu 192.168.0.200 161
      this will be a correct response. Connection to 192.168.0.200 port [udp/snmp] succeeded!
      4 – test snmp response with this command:
      snmpwalk -v2c -c public 192.168.0.200
      5 – looking if the correct port is configured in the host settings in zabbix.

      This is a easy part, if this not enough to solve your problem, then let me know more detailed information.
      If you solved then let me know too.
      Best Regards
      Alex Moura

  4. Muito obrigado por compartilhar seu conhecimento! Funcionou!
    Não encontrei no template um gráfico que mostrasse todos os usuários/quantidade de todos os SSIDs.
    Seria legal pra eu ter uma ideia do uso geral.
    Tem alguma dica de como posso implementar esse gráfico?
    Mais uma vez, obrigado por compartilhar!

    1. Olá Fernando!
      Isto é uma limitação tanto do zabbix, quanto do Unifi.
      O fato de que eu faço as coletas dinamicamente de acordo com as redes configuradas, impede que eu faça este somatório com as funções padrão do zabbix.
      Andei pesquisando em alguns fóruns sobre isto, e descobri que isto é uma característica muito solicitada aos desenvolvedores do zabbix para tratar valores SNMP gerados dinamicamente.
      Do lado do Unifi, não há uma “OID” contendo o somatório de clientes conectados.
      Caso tenha alguma idéia de como implementar um script de coleta e queira compartilhar, terei o maior prazer em testar e implementar na solução.
      Um grande abraço!
      Alex Moura

  5. Primeiramente obrigado pela contribuição…

    Estou tentando criar o Host.. mas no momento de adiciona-lo recebo essa msg do

    Zabbix Details Cannot add host

    Cannot find host interface on “AP_RP_Contabilidade” for item key “unifiVapEssId”.

    O que eu devo fazer?
    At,
    Xico

    1. Bom dia!
      Provavelmente você já tem o item configurado em sua instalação zabbix.
      Acredito que o primeiro passo seja identificar esta duplicidade e removê-la.
      Os ítens referentes ao wifi são gerados dinamicamente e não precisam serem configurados.
      Mande mais detalhes e talvez eu consiga te ajudar melhor.
      Atenciosamente
      Alex Moura

  6. amigos, como faço pra criar no template um item que eu faça o cálculo do total de usuários(dispositivos) ativos no AP, estou tentando criar um protótipo de item pra que depois que descubra o unifiVapNumStations ele já me informe o total por AP

    1. Olá Joel!
      Até a versão 4.0 do zabbix não é possível.
      Em breve atualizarei para a versão 4.4 do zabbix, onde pelo que li pode ser que seja possível.
      Assim que fizer atualizo o template.

      Vou reproduzir a resposta que dei a outro colega mais abaixo.
      Isto é uma limitação tanto do zabbix, quanto do Unifi.
      O fato de que eu faço as coletas dinamicamente de acordo com as redes configuradas, impede que eu faça este somatório com as funções padrão do zabbix.
      Andei pesquisando em alguns fóruns sobre isto, e descobri que isto é uma característica muito solicitada aos desenvolvedores do zabbix para tratar valores SNMP gerados dinamicamente.
      Do lado do Unifi, não há uma “OID” contendo o somatório de clientes conectados.
      Caso tenha alguma idéia de como implementar um script de coleta e queira compartilhar, terei o maior prazer em testar e implementar na solução.
      Um grande abraço!

      Alex Moura

  7. Bom dia mestre,
    Estou entrando nesta onda de zabbix agora.
    possuo uma nanobeam m5 e não consigo adicioná-la no zabbix. da erro de porta.

    como configuro a porta ?

    1. Boa tarde Moreno!
      Você precisa garantir que no software controlador estes parâmetros estão ativados e setados.

      Services / SNMP / SNMPv1, SNMPv2c/ Enabled
      Community = Nome que você gostaria de utilizar. Pode deixar a public para efeitos de teste. Mas, não recomendo deixar a community como public.
      Sugiro que você leia também este artigo
      https://duvidaonline.com.br/blog/2019/01/03/como-monitorar-dispositivos-unifi-ubiquiti-no-zabbix-parte-3-atualizando-firmware-e-habilitando-o-protocolo-snmp/
      Um forte abraço!
      Alex Moura

  8. Boa tarde Alex Moura, tudo bem?

    Tem alguma novidade sobre a questão de total de usuários conectados no AP invés de retornar o total por SSID/Frequência?

    Abraços

        1. Boa tarde Rodrigo!
          Este era o cara que falei para alguém nos comentários que davam vários problemas e por isto desisti.
          Quero fazer todas as funções sem depender de scripts externos.
          Abraços
          Alex Moura

  9. Estou fazendo o teste com Unifi Ac lite. Está coletando tudo corretamente, exceto quantidade de usuários pois acredito que ele separa o que esta na 2.4ghz para o que esta na 5ghz mas aparece estranho no grafico. O que pode ser? No lugar de ter AC ou 2.4hz aparece “ng” e “na” a chave que coleta isso é: {#UNIVAPRADIO}

    1. ng é a banda BG
      na é a banda AC
      Não existe um contador consolidado de quantidade de usuários no AP, ele separa por redes e por bandas.
      Eu solicitei até para a unifi a inclusão deste indicador.
      O zabbix não consegue consolidar estes números até a versão 4.4.
      Ainda não testei na versão 5.0

  10. Cara, eu importei as tres mibs que faltavam no ubuntu em /usr/share/snmp/libs/. Minha linha do snmp.conf está comentada (#MIBS 🙂 e acredito que os gráficos não estão refletindo a realidade do tráfego. Zabbix versão 6. Obrigado.

    1. Ainda não testei na versão 6 do zabbix.
      E as MIBs são desnecessárias para o correto funcionamento do template.
      Elas existem apenas para referência caso você queira debugar o SNMP sem se perder.

Deixe uma resposta