Pular para o conteúdo principal

Monitorando sinal rx-power gbic Mikrotik via Zabbix

Ambiente utilizado foi maquina Debian 8 Jessie + Zabbix Server 3.2.7. Após várias tentativas de conseguir essa monitoração por snmp e não funcionar (não encontrei a OID ou não existe ela rsrs), comecei a procurar uma forma de fazê-lo via ssh, e acabou dando certo.

Criei um usuário no Mikrotik(CRS212) com permissão para leitura:
Exemplo: 
Usuário – zabbix 
Senha – zabbix

Acesse o terminal do Debian Zabbix:
Digite: apt install sshpass
Será instalado esse pacote para que possamos enviar a senha junto com o comando no Linux para o Mikrotik.

Agora teste a conexão via ssh com o Mikrotik
ssh usuariomikrotik@ipdomikrotik
será feita uma pergunta:
Are you sure you want to continue connecting (yes/no)?
Responda YES

Pronto, já podemos enviar o comando direto do Debian Zabbix para o Mikrotik.
sshpass -p senhausuariomikrotik ssh usuariomikrotik@ipmikrotik interface ethernet monitor number=0  once | grep rx-power | sed 's/dBm//g' | awk '{print $2}'

Explicando o comando:

sshpass – permite enviar a senha junto com todo o comando, para não ser necessário digita-la posteriormente.

ssh – para conexão Linux ao Mikrotik

Agora abaixo os comandos que serão utilizados para pegar a informação no terminal do Mikrotik

interface – comando para entrar no diretório interface do mikrotik

ethernet – para acesso ao diretório da portas do equipamento

monitor – visualização de detalhes das portas ou de uma especifica

number – informar a porta especifica que você procura a informação x, dentro do terminal mikrotik digite “interface ethernet print” ele vai listar o número de cada interface, no meu exemplo utilizei o “0” que é referente a porta sfp1.

once – mostrar apenas uma vez, devido o valor rx-power ser dinâmico eu utilizo o onde para me retornar a informação apenas uma vez. 


Até aqui o comando lhe passará a seguinte informação (imagem abaixo), note que é bastante coisa, mas só preciso nesse momento do rx-power. Isso é o que o restante do comando vai fazer, que é tratar a saída do comando somente com o que preciso.

Obs: não entrarei em detalhes sobre cada comando, apenas o que cada um está tratando no exemplo.


| grep rx-power | sed 's/dBm//g' | awk '{print $2}'

grep – mostrará a linha onde tem a string rx-power

sed – substitui “dBm” por vazio

awk – vai mostrar apenas o segundo campo da linha onde fica o valor “-10.936”


Nesse momento temos a informação de forma totalmente manual, agora vamos configurar o Agente Zabbix para utilizar o UserParameter e realizar o comando.
Edite o arquivo /etc/zabbix/zabbix_agentd.conf, procure por UserParameter=0
Ele tem a seguinte sintaxe  UserParameter=<key>,<command>
key – nome que você vai dar ao parâmetro, pode ser qualquer um.
Seguido do comando que acabamos de testar ficando dessa forma:

UserParameter=rxpower,sshpass -p senhausuariomikrotik ssh usuariomikrotik@ipmikrotik interface ethernet monitor number=0  once | grep rx-power | sed 's/dBm//g' | awk '{print $2}'


salve e saia da edição.

Reinicie o serviço do agente Zabbix

/etc/init.d/zabbix-agent restart

Utilizaremos o comando zabbix_get para testar o UserParameter que acabamos de configurar.

zabbix_get -s 127.0.0.1 -k rxpower

Explicando o comando:
zabbix_get - O Zabbix Get é um utilitário de linha de comando que pode ser utilizado para se comunicar com o agente de monitoração do Zabbix e requisitar um dado do agente.
Parâmetro –s, especifica o DNS ou IP do host a ser consultado.
Parametro –k, especifica a chave de item que se deseja o valor.

Nesse ponto acabei encontrando o seguinte problema, ao executar o zabbix_get:

Could not create directory ‘/var/lib/zabbix//.ssh’
Host key verification failed.

E não me retornava o valor esperado, o primeiro passo foi criar o arquivo .ssh na pasta /var/lib/zabbix , apenas criei e deixei lá vazio.
Depois editei o arquivo /etc/ssh/sshd_config e adicionei as linhas

AllowUsers root
AllowUsers zabbix

Salve e saia do arquivo e reinicie o serviço ssh.

 /etc/init.d/ssh restart

Rodei o zabbix_get novamente e funcionou.

Criação do item no Zabbix
Acesse o Zabbix na interface Web e crie um host com uma interface do agente com 127.0.0.1
Vá em itens > criar item


Pronto, monitoramento sendo realizado ok.





Postagens mais visitadas deste blog

Como configurar Host Zabbix + SNMPv3 + Mikrotik

Configuração para monitoramento de equipamento RouteBoard Mikrotik utilizando protocolo SNMPv3. Acesse sua RB e vá no menu IP > SNMP 1 - Habilite a caixa de seleção "Enbled". 2 - Informe uma "Engine ID", no meu caso eu peguei a serial number da RB Agora vamos configura a "Communities" No mesmo menu IP >> SNMP, do lado direito vai ter uma caixa escrito "Communities" Click dela e crie uma nova clicando no sinal +(em azul) e defina: 1 - nome para community. 2 - opção segurança coloque "private". 3 - Authentication Protocol SHA1. 4 - Encryption Protocol DES 5 - Authentication Password defina uma senha. 6 - Encryption Protocol defina uma nova encriptação veja na imagem: Acesse o terminal do seu servidor zabbix(devidamente instalado e com snmp instalado). use o comando abaixo alterando para o seu cenario. snmpwalk -v3 -u <NOMECOMMUNITY> -l authPriv -a SHA -A <SENHA> -x DES -X <ENCRIPTAÇÃO> -E <ENGINEID> <IP...

UPGRADE DE VERSÃO PHPIPAM 1.4 para 1.5

phpipam é um aplicativo de gerenciamento de endereço IP da Web de código aberto (IPAM).  Seu objetivo é fornecer gerenciamento de endereços IP leve, moderno e útil.  É um aplicativo baseado em php com backend de banco de dados MySQL, usando bibliotecas jQuery, recursos ajax e HTML5/CSS3. Baixe o arquivo mais recente, utilizei o seguinte link abaixo usando o wget, ou faça o download e transfira para o servidor com o WinSCP. # wget https://github.com/phpipam/phpipam/releases/download/v1.5.0/phpipam-v1.5.0.tgz Descompacte o arquivo dentro de /tmp com o comando: # tar -zxvf NOMEDOPACOTE Renomeie a pasta atual dentro de /var/www/html/phpipam para um nome de sua escolha: # mv phpipam phpipam-original Copie o arquivo do /tmp para o /var/www/html: # cp -R /tmp/phpipam /var/www/html Na pasta original tem um arquivo "config.php", nele tem as credenciais de acesso ao banco de dados. Copie este arquivo e cole dentro do /var/www/html/phpipam: # cp -R /var/www/html/phpipam-original/config....

Monitoração de quantidade de interfaces PPPoE no Mikrotik via Zabbix-3-2.

Nesse tutorial vou considerar que já tenha instalado o seu Zabbix o pacote " snmp-mibs-downloader " e a mib " MIKROTIK-MIB.txt " no caminho /usr/share/snmp/mibs. Apos conferir isso,  já podemos realizar o teste no concentrador Mikrotik. Configure o protocolo snmp no Mikrotik, Acesse sua RouterBoard e faça o caminho indicado na imagem: Irá abrir essa janela abaixo, onde habilitara o protocolo e podera fazer mudança sobre a versão e a comunidade(padrão "public") Aplique as modificações, o Mikrotik já está configurado. Agora está pronto para realizarmos os teste no terminal do Zabbix. Sintaxe do comando SNMP. snmpwalk -v[numero da versão] -c[comunidade] IP-MIKROTIK   Exemplo: snmpwalk -v1 -c public 192.168.88.1 Certifique-se de que seu servidor Zabbix tem comunicação com o Mikrotik, ao realizar o comando acima ele irá listar varias informações de seu equipamento como na imagem abaixo, lembrando de alterar os dados do exemp...