zabbix_export: version: '6.0' date: '2021-11-21T21:36:35Z' groups: - uuid: 7df96b18c230490a9a0a9e2307226338 name: Templates templates: - uuid: d4b9f2cd2d334fde8a093bf2bcbe8a77 template: 'Mikrotik - BGP LLD' name: 'Mikrotik - BGP LLD' description: | ## Overview MikroTik BGP LLD usando SSH Ajustes os intervalos de atualizações de acordo com sua necessidade. Declare macros do template de acordo com configuração do seu RouterOS. {$MIKROTIK\_SSH\_PASS} {$MIKROTIK\_SSH\_PORT} {$MIKROTIK\_SSH\_USER} Altere o timeout do zabbix-server "zabbix\_server.conf" Timeout=30 OBS: O template não vai monitora peers desabilitados. O template monitora os seguintes itens {#PEERNAME} ({#REMOTEAS}) - Prefix {#PEERNAME} ({#REMOTEAS}) - Status E gera alarme caso o status do peer vier diferente de "established" Qualquer duvida, segue email para contato. Email: [jorge.iwano@gmail.com](mailto:jorge.iwano@gmail.com) ## Author Jorge Iwano groups: - name: Templates discovery_rules: - uuid: 895d361d89b8423fb1c3819a16001e9c name: 'BGP - Peers' type: SSH key: 'ssh.run[,,{$MIKROTIK_SSH_PORT},]' delay: 3600s params: ':global list [/routing bgp peer find]; :global count 0; :global total [:len $list]; :put "{\"data\":["; :foreach i in=$list do={; :set count ($count + 1); :local name [/routing bgp peer get value-name=name number=$i]; :local remoteas [/routing bgp peer get value-name=remote-as number=$i]; :local disabled [/routing bgp peer get value-name=disabled number=$i]; :if ( $count < $total) do={; :put "{\"{#PEERNAME}\":\"$name\",\"{#REMOTEAS}\":\"$remoteas\",\"{#DISABLED}\":\"$disabled\"},"; } else={; :put "{\"{#PEERNAME}\":\"$name\",\"{#REMOTEAS}\":\"$remoteas\",\"{#DISABLED}\":\"$disabled\"}"; }; }; :put "]}";' username: '{$MIKROTIK_SSH_USER}' password: '{$MIKROTIK_SSH_PASS}' filter: conditions: - macro: '{#DISABLED}' value: 'false' formulaid: A item_prototypes: - uuid: cc2b7960762e43da9c9041fc8e6b8199 name: '{#PEERNAME} ({#REMOTEAS}) - Prefix' type: SSH key: 'ssh.run[{#PEERNAME}-prefix,,{$MIKROTIK_SSH_PORT},]' delay: 60s params: ':put [/routing bgp peer get value-name=prefix "{#PEERNAME}"]]' username: '{$MIKROTIK_SSH_USER}' password: '{$MIKROTIK_SSH_PASS}' tags: - tag: Application value: BGP - uuid: e01703036ecf417e89622f43674d17cf name: '{#PEERNAME} ({#REMOTEAS}) - Status' type: SSH key: 'ssh.run[{#PEERNAME}-status,,{$MIKROTIK_SSH_PORT},]' delay: 60s trends: '0' value_type: TEXT params: ':put [/routing bgp peer get value-name=state "{#PEERNAME}"]]' username: '{$MIKROTIK_SSH_USER}' password: '{$MIKROTIK_SSH_PASS}' tags: - tag: Application value: BGP trigger_prototypes: - uuid: 5b45ced0ae1d4d5e973b3c0d71e31ff8 expression: 'find(/Mikrotik - BGP LLD/ssh.run[{#PEERNAME}-status,,{$MIKROTIK_SSH_PORT},],,"like","established")=0' name: 'Peer {#PEERNAME} not established' priority: DISASTER macros: - macro: '{$MIKROTIK_SSH_PASS}' value: password - macro: '{$MIKROTIK_SSH_PORT}' value: '22' - macro: '{$MIKROTIK_SSH_USER}' value: admin