aspidz Posted September 8, 2022 Posted September 8, 2022 Коллеги, помогите пожалуйста с мониторингом температуры на 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" } Вставить ник Quote
jffulcrum Posted September 8, 2022 Posted September 8, 2022 В 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 в скобках должно идти Вставить ник Quote
aspidz Posted September 9, 2022 Author Posted September 9, 2022 (edited) В 08.09.2022 в 20:33, jffulcrum сказал: /system health get cpu-temperature Так даже в терминале не работает, говорит, что syntax error (line 1 column 20) Закомментил первые три строки, письмо приходит, но понятное дело, без указания температуры(так, что с отправкой всё в порядке, дело в первой строке). Edited September 9, 2022 by aspidz Вставить ник Quote
aspidz Posted September 9, 2022 Author Posted September 9, 2022 на 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 не хочет Вставить ник Quote
jffulcrum Posted September 9, 2022 Posted September 9, 2022 А, проглядел, что ROS 7,там вывод health поменян. Попробуйте так: :local T1 [/system health get [find name="cpu-temperature"]] Вставить ник Quote
aspidz Posted September 9, 2022 Author Posted September 9, 2022 В 09.09.2022 в 13:56, jffulcrum сказал: А, проглядел, что ROS 7,там вывод health поменян. Попробуйте так: :local T1 [/system health get [find name="cpu-temperature"]] А где это можно поглядеть? Не работает. Вставить ник Quote
jffulcrum Posted September 9, 2022 Posted September 9, 2022 :local T1 [/system health get [find where name="cpu-temperature"]] Вставить ник Quote
aspidz Posted September 9, 2022 Author Posted September 9, 2022 В 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" неа, всё равно не работает, первые три строки камментишь, приходит письмо с датой и временем но без температуры. Вставить ник Quote
jffulcrum Posted September 9, 2022 Posted September 9, 2022 Из консоли /system health print вывод покажите. М.б. опять что-то поменяли Вставить ник Quote
MikroUser Posted September 10, 2022 Posted September 10, 2022 (edited) Немного подправил, проверил на 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" } Edited September 10, 2022 by MikroUser Вставить ник Quote
aspidz Posted September 12, 2022 Author Posted September 12, 2022 В 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 работает. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.