-------------------------- MRTG script ----------------------------- # init :global first :local batv :local ol :local outv :local temp :local o # :local k :set k 1000 # /system ups monitor ups1 once do= { :set batv $"battery-voltage"; :set temp $"temperature"; :set ol $"on-line"; :set outv $"output-voltage"; :set o $"load"; } /snmp set location ($outv/1000) :if ($ol=false) do= { /snmp set contact 0 } :if ($ol=true) do= { /snmp set contact 15000 } -------------------------- SMS script ----------------------------- :global bflag :global bf :global sm :local batv :local ol :local outv :local bload :local temp :local mailto :local bc ############################## # 38хххххххххх@sms.beeline.ua –admin1 # 38хххххххххх@sms.beeline.ua – admin2 ############################## :set mailto "х@ххх.ua"; ############################## # init ups variables /system ups monitor ups1 once do= { :set batv $"battery-voltage"; :set temp $"temperature"; :set ol $"on-line"; :set outv $"output-voltage"; :set bload $"load"; :set bc $"battery-charge"; } ############################## :if ($ol=false && $bf=1) do={ :set bf 2 } :if ($ol=false && $bf=0) do={ :set bf 1 } :if ($bf!=1 && $bf!=2) do={ :set bf 0 } ## send mail ##################### :if ($ol=false && $bf=2 && $sm!=1) do= { /tool e-mail send from=("х@ххх.ua") to=($mailto) server=("193.43.95.14") subject=("ofice power: $ol") body=("battV= $batv online= $ol outV= $outv.$bload charge= $bc temp= $temp "); :set bf 0; :beep frequency=900 length=100ms; :delay 15ms; :beep frequency=700 length=100ms; :delay 15ms; :beep frequency=500 length=100ms; :delay 15ms; :set sm 1; } :if ($ol=true && $sm=1) do= { /tool e-mail send from=("х@ххх.ua") to=($mailto) server=("ххх.хх.хх.хх") subject=("ofice power: $ol") body=("battV= $batv online= $ol outV= $outv.$bload charge= $bc temp= $temp "); :set bf 0; :beep frequency=500 length=100ms; :delay 15ms; :beep frequency=700 length=100ms; :delay 15ms; :beep frequency=900 length=100ms; :delay 15ms; :set sm 0; } ######################### :beep frequency=100 length=100ms; #:delay 15ms; ------------------------------------------------------- # ups online script #################################### /system ups monitor ups1 once do= { :if ($"on-line"=true) do={ /snmp set location="220"; } :if ($"on-line"=false) do={ /snmp set location="0"; } /snmp set contact=($"output-voltage"/10000); } Настройки Mikrotik: ups online script - вставляет в /ip/snmp/location значение 'online' с UPS-Monitor, а в /ip/snmp/contact значение VOut. Скрипт нужно вставить в /system/scripts, затем добавить в /system/sheduler [ups script] на выполнение через 1 минуту. Ставим в /ip/snmp в настройках "enable", прописываем "comunity" (пароль для SNMP, его также нужно прописать в профилях SNMP в dude). Настройки в dude: Нажатием на объекте в dude, выбрать "вид" и добавить в конце поля "метка" значение: online [oid("1.3.6.1.2.1.1.6.0")] Vout [oid("1.3.6.1.2.1.1.4.0")] После этого на объекте будут отображаться значения Online и VOut Пример: (220 или 0 для Online) (245-24.5v, 120 - 12v, 135 - 13.5v для VOut)