Script simples para MikroTik que coleta informação básicas de funcionamento da rb, é envia para api via post, sendo possível também de realizar ações via get.
#Script Status
:local nome [/system identity get name]
:local uptime [/system resource get uptime];
:local modelo [/system router get model];
:local versao [/system resource get version];
:local ver [/system resource get version]
:local cpu [/system resource get cpu-load]
:local memlivre [/system resource get free-memory]
:local memtotal [/system resource get total-memory]
# put it all together
:set $str "nome=$nome&Uptime=$uptime&Versao=$ver&CPU=$cpu&memlivre=$memlivre&memtotal=$memtotal";
{
:local result [/tool fetch url=SUAURL as-value output=user http-method=post http-data=$str];
:if ($result->"status" = "finished") do={
:if ($result->"data" = "0") do={
log info "Ativar Regra..."
} else={
log info "Regra Desativada...."
}
}
}
No caso, se a página exibir uma mensagem contendo “0” a rb ativa uma regra, caso contrario, desativa a regra.
Para debug, criar em PHP script para receber os dados de POST
<?php
#Recebe os dados e converte para json, facilitando a leitura
$dados = json_encode($_POST);
#Salva os dados em um arquivo json
file_put_contents('log.json',$dados);
?>

Comentários