Перейти к содержимому
Калькуляторы

Мониторинг температуры на RB5009UG+S rOS 7.4 и отправка на почту

Коллеги, помогите пожалуйста с мониторингом температуры на RB5009UG+S rOS 7.4

Почта на микроте настроена и отправляет письма (другим скриптом(отправляет бекапы) и тестом, через "send email" )

Что не так с этим скриптом?

Реальная температура 38-39 градусов.

 

:local T1  [/system health get [find name=temperature] value];
:local T2 28;
:if ($T1 > $T2) do={
/tool e-mail send to=user@dpi.su subject=GW1-MAIN-OFFICE body="WARNING T= $T1 C"
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 08.09.2022 в 13:38, aspidz сказал:

local T1  [/system health get [find name=temperature] value];

Не очень хорошо, не уверен, что вообще выцепит температуру, не говоря о том, что может вытащить пустые board-temperature1, 2 и т.п. 5009 поддерживает только cpu-temperature, её и тащите: /system health get cpu-temperature

 

В 08.09.2022 в 13:38, aspidz сказал:

/tool e-mail send to=user@dpi.su subject=GW1-MAIN-OFFICE body="WARNING T= $T1 C"

Тоже не очень красиво, subject лучше экранировать, body в скобках должно идти  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 08.09.2022 в 20:33, jffulcrum сказал:

/system health get cpu-temperature

Так даже в терминале не работает, говорит, что syntax error (line 1 column 20)

Закомментил первые три строки, письмо приходит, но понятное дело, без указания температуры(так, что с отправкой всё в порядке, дело в первой строке).

Изменено пользователем aspidz

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на rOS 6.49 заработал скрипт с твоими правками

:local T1  [/system health get cpu-temperature];
:local T2 28;
:if ($T1 > $T2) do={
/tool e-mail send to=user@mail.su subject=GW1-MAIN-OFFICE body="WARNING T= $T1 C"

}

А на rOS 7.4 не хочет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А, проглядел, что ROS 7,там вывод health поменян. Попробуйте так: 

:local T1 [/system health get [find name="cpu-temperature"]]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 09.09.2022 в 13:56, jffulcrum сказал:

А, проглядел, что ROS 7,там вывод health поменян. Попробуйте так: 

:local T1 [/system health get [find name="cpu-temperature"]]

А где это можно поглядеть?

Не работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 09.09.2022 в 16:39, jffulcrum сказал:

:local T1 [/system health get [find where name="cpu-temperature"]]

:local T1 [/system health get [find where name="cpu-temperature"]]
:local T2 3;
:if ($T1 > $T2) do={
:local D1 [/system clock get date];
:local TIME1 [/system clock get time];
/tool e-mail send to=11@11.su subject=10.10.10.1_ALARM body="WARNING T= $T1 C $D1 $TIME1"

 

неа, всё равно не работает, первые три строки камментишь, приходит письмо с датой и временем но без температуры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Из консоли /system health print вывод покажите. М.б. опять что-то поменяли

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Немного подправил, проверил на CCR2216. v7.5  работает
Пользуйтесь

:local T1 [/system health get [:pick [/system health get 0]] value];
:local T2 40;
:if ($T1 > $T2) do={
:local D1 [/system clock get date];
:local TIME1 [/system clock get time];
:local MOD [/system resource get board-name];
/tool e-mail send to=xxx@gmail.com subject=" $MOD Temperature alarm!!!" body=" Temperaturea routera $T1 gradusov, $D1 $TIME1"
}

 

Изменено пользователем MikroUser

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 09.09.2022 в 20:16, jffulcrum сказал:

Из консоли /system health print вывод покажите. М.б. опять что-то поменяли

[admin@MikroTik_Net883] > /system health print
Columns: NAME, VALUE, TYPE
#  NAME             VALUE  TYPE
0  cpu-temperature     38  C  

 

В 10.09.2022 в 19:04, MikroUser сказал:

Немного подправил, проверил на CCR2216. v7.5  работает
Пользуйтесь

:local T1 [/system health get [:pick [/system health get 0]] value];
:local T2 40;
:if ($T1 > $T2) do={
:local D1 [/system clock get date];
:local TIME1 [/system clock get time];
:local MOD [/system resource get board-name];
/tool e-mail send to=xxx@gmail.com subject=" $MOD Temperature alarm!!!" body=" Temperaturea routera $T1 gradusov, $D1 $TIME1"
}

 

 

Благодарю, на RB5009UG+S rOS 7.4 работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.