Monitorando no Zabbix as sessões BGP do RouterOS/Mikrotik (Script Python)

Neste tutorial vamos aprender a monitorar o status da sessão BGP no RouterOS/Mikrotik, bem como receber notificações se a sessão cair ou reconectar.

PARA PARA PARA…. Quando escrevi este tutorial não existia esse tutorial aqui, recomendo você lêr ele, pois descobrimos outra forma mais simples.

Como a mikrotik não disponibiliza essas informações via SNMP (até o momento, esperaça de pobre é a ultima que morre) teremos que usar das artimanhas, então nosso amigo Gabriel Vargas Padilha fez um script em python mikrotikBgpZabbixScript para buscar as informações, eu montei a parte do Zabbix.

Se aida não tem o Zabbix instalado siga: Instalação do Zabbix 5 LTS + Grafana + NGINX + PostgreSQL + Telegram

Configuração

Requisitos:
– RouterOS 6.48 ou maior
– Zabbix Server 5.x
– Distribuição: Debian 10/11

Configuração no RouterOS/Mikrotik

Será necessário criar um usuário com permissões somente de leitura bem como restringindo o acesso para somente o IP do Zabbix, para fazer a conexão para coletas de dados.

Se desejar desativar as infomação de login. Isso fará com que você não veja mais nenhum login feito no router.

OBS: Não use espaço e caracter especial nos nomes dos Peer’s e tenha nomes diferentes para cada Peer.

Zabbix Serve/Linux

Pacotes necessários:

Acesse o diretório externalscripts e faça download.

Faça download dos scripts

De permissão para os arquivos para execução e altere o dono para o usuário zabbix.

Informações de uso do script:

METHOD’s
getPeer – Retorna todos os peerings em formato json.
getPeerInfo – Retorna o valor especifico de um peer.

Exemplos de uso:

Agora acesse seu Zabbix, e importe o Template:
Faça download do template RR Mikrotik – BGP – Script Python.xml e importe.

Crie um novo host, ou inclua o agent.

Selecione o Template RR Mikrotik – BGP – Script. Você encontra outros templates aqui também.

Por fim, herde os macros do template, e clique em modificar para informar os seus dados em seguida clique em salvar

OBS: A descoberta esta ajustada para 6h, se desejar que seja mais rápido execute manualmente, para realizar esse procedimento faça:

Grafana Modelo

Apenas uma idéia para você montar uma dash bacaninha:

Vou deixar aqui dash Modelo

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

15 Resultados

  1. fabio disse:

    RouterOS v7 alguma atualizacao ?

  2. Vinicius Albino disse:

    Parabéns pelos conteúdos aqui, tem sido de grande valia! Uma dúvida: no template, mais especificamente na regra de descoberta do item “state”, a coleta esta retornando apenas o numeral (6), onde deveria apareces “estabelecida ou established”. Sabe me dizer o por que?
    Muito obrigado.

  3. bruno borba disse:

    Parabéns pela contribuição!!!
    Fiz aqui e deu tudo certo!! Obrigado!!
    Se eu conseguir implementar algumas coisa aviso, Abraço

  4. Rad disse:

    Nesse tuto fiquei com o erro e ainda não achei a solução!

    Invalid discovery rule value: cannot parse as a valid JSON object: invalid object format, expected opening character ‘{‘ or ‘[‘ at: ‘0’

    Uso debian 10 buster

    zabbix 5.4.7

    OBS: consigo resposta do script usando o comando getpeers, porem o zabbix não coleta os dados

  5. Rad disse:

    Nesse tuto fiquei com o erro e ainda não achei a solução!

    Invalid discovery rule value: cannot parse as a valid JSON object: invalid object format, expected opening character ‘{‘ or ‘[‘ at: ‘0’

    root@zabbix[~]# cat /etc/os-release
    PRETTY_NAME=”Debian GNU/Linux 10 (buster)”
    NAME=”Debian GNU/Linux”
    VERSION_ID=”10″
    VERSION=”10 (buster)”
    VERSION_CODENAME=buster
    ID=debian
    HOME_URL=”https://www.debian.org/”
    SUPPORT_URL=”https://www.debian.org/support”
    BUG_REPORT_URL=”https://bugs.debian.org/”
    ————————————————————————————————-
    zabbix_server –version
    zabbix_server (Zabbix) 5.4.7
    Revision 84dc2ec5dc 28 October 2021, compilation time: Oct 20 2021 12:31:10

    Copyright (C) 2021 Zabbix SIA
    License GPLv2+: GNU GPL version 2 or later .
    This is free software: you are free to change and redistribute it according to
    the license. There is NO WARRANTY, to the extent permitted by law.

    This product includes software developed by the OpenSSL Project
    for use in the OpenSSL Toolkit (http://www.openssl.org/).

    Compiled with OpenSSL 1.1.1d 10 Sep 2019
    Running with OpenSSL 1.1.1d 10 Sep 2019

  6. JORGE PEREIRA disse:

    Grande contribuição, parabéns pelo tutorial, testado ok

  7. BRUNO disse:

    Nesse tuto fiquei com o erro e ainda não achei a solução!

    Invalid discovery rule value: cannot parse as a valid JSON object: invalid object format, expected opening character ‘{‘ or ‘[‘ at: ‘0’

  8. Everton disse:

    Poderia ter 1 assim para VYOS, bom material.

  1. 28 de dezembro de 2021

    […] Bem mais simplique que o metodo do outro tutorial com script python. […]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *