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.
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
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.
Boa tarde, pode me auxiliar com relação a um SW HP?
ResponderExcluirEstou tentando coletar os sinais RX e TX dos Transceivers. Até consegui as mibs e configurei, mas alguns apresentam resultados que não consegui traduzir ainda. TX retorna 250, 88 por exemplo, e RX -3.21 K. Outros transceivers me reportam sempre 2.15 G, tanto RX com TX.
Olá amigo, ainda não trabalhei com esse equipamento que você descreveu, aqui utilizo apenas Mikrotik, mas posta tua duvida no grupo Zabbix Brasil no Telegram, a galera lá já encarou de tudo, vou deixar o link aqui (https://telegram.me/joinchat/AI7jrT05Fqe8BscujO5IfQ), vou dar uma olhadinha lá se alguém já teve essa sua mesma necessidade, eu encontre algo posto aqui.
ExcluirSeuguem as OIDs de TX e RX
ResponderExcluir.1.3.6.1.4.1.14988.1.1.19.1.1.9.1 - Value Type INTEGER - SFP Optical Tx
.1.3.6.1.4.1.14988.1.1.19.1.1.10.1 - Value Type INTEGER - SFP Optical Rx
Dependendo da versão do Mikrotik, será preciso atualizar o IOS.
Como saber a interface?!
ExcluirShow , as Oids funcionaram ok , Obrigado
ExcluirBom dia, estou tentando obter os dados através desse acesso, mas não estou conseguindo, e estou tendo somente essa resposta com o zabbix_get:
ResponderExcluirsh: 1: sh: 1: seds/dBm//g: not foundawk{print$2}: not found
Host key verification failed.
Comando colocado no UserParameter do Agente
UserParameter=rxpower,sshpass -p xxx ssh
zabbix@xxxxxx -p xxx interface ethernet monitor number=0 once | grep
rx-power | sed's/dBm//g' | awk'{print$2}'
Onde o X são as informações do mikrtik o mesmo está com o SO 6.40.3
poderiam me ajudar nessa por favor
Com essa versão do RouterOS basta você utilizar as OID's
Excluir.1.3.6.1.4.1.14988.1.1.19.1.1.9.1 - Value Type INTEGER - SFP Optical Tx
.1.3.6.1.4.1.14988.1.1.19.1.1.10.1 - Value Type INTEGER - SFP Optical Rx
que vc vai conseguir pegar o TX e RX
quando fiz o tutorial ainda não funcionava essas OID's
root@Srv-zabbix:~# snmpwalk -v 2c -c public xxx.xxx.xxx.xxx
ResponderExcluir.1.3.6.1.4.1.14988.1.1.19.1.1.10.1
SNMPv2-SMI::enterprises.14988.1.1.19.1.1.10.1 = No more variables left in this MIB View (It is past the end of the MIB tree)
ao consultar estou recebendo a seguinte mensagem. o que devo esta fazendo de errado?
Obs: o xxx corresponde ao ip do meu mikrotik (ocultado)
Obrigado
Qual a versão do MK?
Excluiressa OID vai funcionar somente a partir da 6,40 se não me engano.
Verifique se o seu modulo sfp mostra sinal no Mikrotik , se mostrar vai dar certo as Oids que o Jorge passou depois e so fazer o snmpwalk como fiz abaixo
ExcluirServidor@Servidor# snmpwalk -v1 -c public 192.168.1.2 1.3.6.1.4.1.14988.1.1.19.1.1.10
SNMPv2-SMI::enterprises.14988.1.1.19.1.1.10.2 = INTEGER: 0
SNMPv2-SMI::enterprises.14988.1.1.19.1.1.10.3 = INTEGER: -10318
SNMPv2-SMI::enterprises.14988.1.1.19.1.1.10.5 = INTEGER: 0
SNMPv2-SMI::enterprises.14988.1.1.19.1.1.10.6 = INTEGER: 0
SNMPv2-SMI::enterprises.14988.1.1.19.1.1.10.7 = INTEGER: 0
SNMPv2-SMI::enterprises.14988.1.1.19.1.1.10.8 = INTEGER: -41266
Vai listar todas as portas opticas ai e so criar o template