Netwatch mikrotik

1. Netwatch mikrotik

Daniel M
BDMG88

(usa Outra)

Enviado em 17/04/2025 - 15:40h

Ola criei um monitoramento simples no Netwatch da Mikrotik versão 7.

meu monitoramento ja envia pelo telegram mensagens de up e down para os hosts cadastrados;
Porém preciso que continue enviando se determinado host ainda esta down. Para isso apliquei um novo script em DOWN, porém ele continua executando meu script de up mas o down esta dando erro no script;

UP
/tool fetch url="https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage\?chat_id=-11111111111111&text=Teste:Host 192.168.88.254_acessivel_novamente_UP" keep-result=no;

/system scheduler remove [find name="recheck-teste"]
DOWN

/tool fetch url="https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage\?chat_id=-11111111111111&text=Teste:Host 192.168.88.254_esta_inacessivel_down" keep-result=no;

:if ([/system scheduler find name="recheck-teste"] = "") do={
/system scheduler add name="recheck-teste" interval=1m on-event=(
":if ([/tool netwatch get [find host=192.168.88.254] status] = \"down\") do={
/tool fetch url=\"https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage\?chat_id=-1111111111111&text= teste_ainda_esta_down" keep-result=no
} else={
/system scheduler remove [find name=recheck-teste]
}"
)
}



Alguém que entenda de mikrotik consegue me dar uma luz?


  


2. Re: Netwatch mikrotik

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 17/04/2025 - 15:40h

Olá! Vou tentar te ajudar com seu script de monitoramento no *Netwatch* da Mikrotik.

Pelo que você descreveu, parece que o script para o estado de "DOWN" está gerando erro. Isso pode acontecer devido a erros de sintaxe ou lógicas incorretas na referência ao agendador.

Aqui estão algumas sugestões para corrigir o seu script:

1. **Verifique a sintaxe geral do seu script**. Às vezes, um pequeno erro de formatação pode causar problemas.

2. **Corrija a comparação do status**. A comparação do status deve ser feita corretamente. Tente simplificar a lógica:

**Código para o estado DOWN:**
```plaintext
/tool fetch url="https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage?chat_id=-11111111111111&text=Teste:Host 192.168.88.254_esta_inacessivel_down" keep-result=no;

:if ([/system scheduler find name="recheck-teste"] = "") do={
/system scheduler add name="recheck-teste" interval=1m on-event=(
":if ([/tool netwatch get [find host=192.168.88.254] status] = \"down\") do={
/tool fetch url=\"https://


3. Re: Netwatch mikrotik

Daniel M
BDMG88

(usa Outra)

Enviado em 17/04/2025 - 16:43h


alexabolada escreveu:

Olá! Vou tentar te ajudar com seu script de monitoramento no *Netwatch* da Mikrotik.

Pelo que você descreveu, parece que o script para o estado de "DOWN" está gerando erro. Isso pode acontecer devido a erros de sintaxe ou lógicas incorretas na referência ao agendador.

Aqui estão algumas sugestões para corrigir o seu script:

1. **Verifique a sintaxe geral do seu script**. Às vezes, um pequeno erro de formatação pode causar problemas.

2. **Corrija a comparação do status**. A comparação do status deve ser feita corretamente. Tente simplificar a lógica:

**Código para o estado DOWN:**
```plaintext
/tool fetch url="https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage?chat_id=-11111111111111&text=Teste:Host 192.168.88.254_esta_inacessivel_down" keep-result=no;

:if ([/system scheduler find name="recheck-teste"] = "") do={
/system scheduler add name="recheck-teste" interval=1m on-event=(
":if ([/tool netwatch get [find host=192.168.88.254] status] = \"down\") do={
/tool fetch url=\"https://




ainda não funcionou infelizmente ; ficou assim;


DOWN

/tool fetch url="https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage\?chat_id=-1002302617440&text=Teste:Host 192.168.88.254_Inacessivel_down" keep-result=no;

:if ([/system scheduler find name="recheck-teste"] = "") do={
/system scheduler add name="recheck-teste" interval=1m on-event=(
":if ([/tool netwatch get [find host=192.168.88.254] status] = \"down\") do={
/tool fetch url=\"https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage\?chat_id=-1111111111111&text=Teste:Host 192.168.88.254_Inacessivel_down"




4. Re: Netwatch mikrotik

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 17/04/2025 - 16:43h

Olá! Vamos tentar resolver o problema do seu script de monitoramento no *Netwatch* da Mikrotik.

Pelo que você compartilhou, pode haver alguns erros de sintaxe. Vou destacar alguns pontos que podem melhorar o seu script:

1. **Verificação da Sintaxe**: Certifique-se de que todos os comandos estejam na sintaxe correta. Um erro pequeno pode causar grandes problemas.

2. **URL Correto**: Verifique se as URLs estão formatadas corretamente, especialmente os parâmetros passados.

3. **Uso do Scheduler**: O agendador precisa ser ativado corretamente. Certifique-se de que a condição para criar o scheduler esteja correta e que o evento esteja sendo chamado adequadamente.

Aqui está um exemplo simplificado do código. Verifique e veja se ajuda:

```plaintext
/tool fetch url="https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage?chat_id=-1002302617440&text=Teste:Host 192.168.88.254_Inacessivel_down" keep-result=no;

:if ([/system scheduler find name="recheck-teste"] = "") do={
/system scheduler add name="recheck-teste" interval=1m on-event={
:if ([/tool netwatch get [find host=192.168.88.254] status] =


5. Re: NETWATCH MIKROTIK

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 17/04/2025 - 17:23h

Problemas identificados:
A sintaxe do comando on-event está incorreta

Há problemas com as aspas aninhadas

A formatação do bloco condicional pode ser melhorada
Script corrigido para DOWN:

/tool fetch url="https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage\?chat_id=-11111111111111&text=Teste:Host_192.168.88.254_esta_inacessivel_down" keep-result=no;

:if ([/system scheduler find name="recheck-teste"] = "") do={
/system scheduler add name="recheck-teste" interval=1m on-event="\
:if ([/tool netwatch get [find host=192.168.88.254] status] = \"down\") do={\
/tool fetch url=\\\"https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage\\?chat_id=-1111111111111\\&text=teste_ainda_esta_down\\\" keep-result=no\
} else={\
/system scheduler remove [find name=\\\"recheck-teste\\\"]\
}\
";
}


Utilizado o DeepSeek


6. Re: Netwatch mikrotik

Daniel M
BDMG88

(usa Outra)

Enviado em 18/04/2025 - 12:25h


danniel-lara escreveu:

Problemas identificados:
A sintaxe do comando on-event está incorreta

Há problemas com as aspas aninhadas

A formatação do bloco condicional pode ser melhorada
Script corrigido para DOWN:

/tool fetch url="https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage\?chat_id=-11111111111111&text=Teste:Host_192.168.88.254_esta_inacessivel_down" keep-result=no;

:if ([/system scheduler find name="recheck-teste"] = "") do={
/system scheduler add name="recheck-teste" interval=1m on-event="\
:if ([/tool netwatch get [find host=192.168.88.254] status] = \"down\") do={\
/tool fetch url=\\\"https://api.telegram.org/bot7744456981:AAEDsTsPodsFToDGUHnELlAr2QGi0NrTLA0/sendMessage\\?chat_id=-1111111111111\\&text=teste_ainda_esta_down\\\" keep-result=no\
} else={\
/system scheduler remove [find name=\\\"recheck-teste\\\"]\
}\
";
}


Utilizado o DeepSeek


Boa tarde, teve um avanço, com essa programação em down ele executa o aviso que o host esta down, só não executa a scheduler de 1m em 1m de que continua fora, quando sobe também continua avisando que mudou para UP, muito obrigado pela força!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts