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:

Victor. disse...

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/

André Déo disse...

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,

Unknown disse...

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 :(

prhr disse...

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

Yannatos disse...

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

Yannatos disse...

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

Socorro!!!

Abcs

ALMIR ALVES disse...

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'

A.G.G disse...

Great Job, funciona en 4.4.2