terça-feira, 3 de abril de 2018

Instalação do SNMP Builder no Zabbix 3.4.6

Introdução

O SNMP Builder é um projeto do giapnguyen, que sofreu um fork pelo mickvav, que o atualizou para a versão 3.2. Esse projeto também já fez parte, e tenho esperanças que um dia volte a fazer, do EveryZ.

Eu resolvi testar ele no Zabbix 3.4.6, e obtive sucesso, sendo necessário apenas uma alteração à mais do que o tutorial inicial.

Como muitas pessoas perguntam sobre esse projeto, mas tem dificuldades com o inglês, eu resolvi fazer um tutorial em Português sobre o assunto.

Instalação

Por questão de organização eu sempre crio um diretório /install na máquina, e deixo todas as instalações lá. No meu caso o Zabbix está instalado no /var/www/html/zabbix/. Então faça as adaptações necessárias ao seu cenário.

# cd /install

# wget https://github.com/mickvav/snmpbuilder/archive/master.zip

# cd /var/www/html/zabbix/

# unzip /install/master.zip

# mv snmpbuilder-master/snmp_builder* .

# rm -rf snmpbuilder-master


Ajustes

O importante nesse arquivo é definir o path das MIBs:

# vi snmp_builder.php
define('MIBS_ALL_PATH', '/var/www/html/zabbix/snmp_builder/mibs:/usr/share/snmp/mibs');


No arquivo menu.inc.php, iremos criar a entrada do SNMP Builder no Zabbix:
# vi include/menu.inc.php
Na linha 220:

[
        'url' => 'snmp_builder.php',
        'label' => 'SNMP Builder'
],

Seu Código vai ficar assim:


                'popup_httpstep.php'
        ]
],
[        'url' => 'snmp_builder.php', 
        'label' => 'SNMP Builder'
],
[        'url' => 'maintenance.php',
        'label' => _('Maintenance')
],  

# vi jsLoader.php

Na linha 51:
        // snmp_builder
        '../snmp_builder/Tree.js' => '',
        '../snmp_builder/snmp_builder.js' => '',
        '../snmp_builder/DynTable.js' => '',
        // /snmp_builder


Ao acessar o menu Configuração, você vai ver o menu SNMP Builder. Ao tentar gravar o item no template surge o erro referente ao valor do campo history.
Erro ao adicionar item ao template

Para solucionar o problema, vamos editar o arquivo snmp_builder.php, essa foi a única alteração adicional que eu precisei fazer. Nesse caso eu configurei retenção de um dia (86400 segundos).

# vi snmp_builder.php
Na linha 240:

'history'               => 86400,


E agora é possível criar o item normalmente.
Item adicionado ao template

8 comentários:

  1. Não sei se eu fiz algo de errado, mas a minha instalação não aparece aquele menu "OID TRE", e sempre me retorna o seguinte erro: .Cannot find module (SNMPv2-SMI): At line 8 in /usr/share/snmp/mibs/NET-SNMP-MIB txt Cannot find module (SNMPv2-SMI): At line 8 in /usr/share/snmp/mibs/

    ResponderExcluir
  2. Victor,

    Atualizei a parte de ajustes:
    define('MIBS_ALL_PATH', '/var/www/html/zabbix/snmp_builder/mibs:/usr/share/snmp/mibs');

    Deve ser esse o seu problema.

    Abs,

    ResponderExcluir
  3. André, fiz todos os procedimentos, porém nada funcionou
    inspecionando o HTML, percebi que o seguinte erro ocorre:

    snmp_builder.php:36 Uncaught ReferenceError: DynTable is not defined
    at snmp_builder.php:36
    (anonymous) @ snmp_builder.php:36

    Fui checar no arquivo o que correspondia e encontrei na seguinte linha i código:

    var oidview = new DynTable('oidview',{'headers' : ['Oid/Name','Type','Value']});

    essa linha está apresentando o seguinte erro:

    Uncaught ReferenceError: DynTable is not defined

    Não imagino onde eu tenha falhado, ou oq fazer :(

    ResponderExcluir
  4. Opa bom dia André, aqui foi q é uma beleza.
    Porem não apareceu a arvore OID.
    o zabbix foi instalado via repositorio em um centos 7. portando esta llocaalizado
    /usr/share/zabbix
    os arquivos do snmpbuilder
    ficaram em /usr/share/zabbix/snmpbuilder
    e o snmp esta em
    /usr/share/snmp/mibs

    Portanto
    define('MIBS_ALL_PATH', '/usr/share/zabbix/snmp_builder/mibs:/usr/share/snmp/mibs');

    mas nao carregou todos os elementos da pagina

    ResponderExcluir
  5. Bom dia! Muito útil as informações e agradeço meu xará.
    Porém também passo pelo mesmo problema: não aparece a árvore das MIB´s.
    Estou seguindo o "passo a passo" e ainda não consegui.

    Com certeza sua ajuda será muito útil para nós que acompanhamos o seu post.

    Forte abraço!

    Andre Yannatos

    ResponderExcluir
  6. Opa! Agora funcionou. A árvore é "populada' quando seleciono no campo MIB, ao lado de SERVER.
    Depois dai, não sei como fazer....

    Socorro!!!

    Abcs

    ResponderExcluir
  7. Bom dia Amigo eu tentei fazer o que você informou mais está dando um erro, irei postar o que eu fiz

    segue o erro

    .Cannot find module (SNMPv2-SMI): At line 6 in /usr/share/zabbix/snmp_builder/mibs/VDSL2-LINE-TC-MIB mib Cannot find module (SNMPv2-SMI): At line 6 in /usr/share/zabbix/snmp_builder/mibs/VDSL2-LINE-TC-MIB.mib


    e a configuração do menu.inc.php
    R= [
    'url' => 'hosts.php',
    'label' => _('Hosts'),
    'sub_pages' => [
    'items.php',
    'triggers.php',
    'graphs.php',
    'applications.php',
    'host_discovery.php',
    'disc_prototypes.php',
    'trigger_prototypes.php',
    'host_prototypes.php',
    'httpconf.php'
    ]
    ],



    [
    'url' => 'snmp_builder.php',

    'label' => 'SNMP Builder'
    ],


    [

    'url' => 'maintenance.php',
    'label' => _('Maintenance')
    ],
    [
    quando tento colocar essa linha da erros e não deixa eu abrir, inclusive já alterei o caminha da minhas mibs e fronted do meu zabbix

    ##caminho do frontend:
    #define('MIBS_ALL_PATH', '/var/www/html/zabbix/snmp_builder/mibs:/usr/share/snmp/mibs');
    define('MIBS_ALL_PATH', '/usr/share/zabbix/snmp_builder/mibs:/usr/share/snmp/mibs');



    'popup_httpstep.php'

    ResponderExcluir