Управление LED-индикаторами на MikroTik
Светодиодные индикаторы на MikroTik-устройствах показывают статус питания, активность интерфейсов и другие параметры. Но иногда они мешают: роутер в спальне мигает ночью, в серверной LED отвлекают от работы с индикаторами другого оборудования, или вы хотите кастомную индикацию — LED горит, когда VPN активен, и гаснет при потере связи. RouterOS предоставляет полный контроль над LED через /system/leds — можно отключить все индикаторы, настроить «ночной режим» по расписанию или привязать LED к пользовательским событиям.
Все команды приведены для RouterOS 7.20+.
Описание
Типы LED в RouterOS
Каждый LED на устройстве MikroTik управляется через запись в /system/leds. Доступные типы триггеров:
| Тип | Описание |
|---|---|
interface-activity | Мигает при активности (tx/rx) на интерфейсе |
interface-status | Горит, когда интерфейс в состоянии UP (link) |
interface-speed | Индикация скорости порта (100M/1G/2.5G/10G) |
modem-signal | Уровень сигнала LTE/3G модема |
wireless-status | Статус Wi-Fi интерфейса |
on | Всегда включён |
off | Всегда выключен |
ap-cap | Статус CAPsMAN/CAP |
Глобальная настройка all-leds-off
RouterOS 7 имеет глобальный параметр для отключения всех LED:
[admin@MikroTik] >/system/leds/settings/print # all-leds-off: never
Возможные значения:
never— LED работают по своим правилам (по умолчанию).immediate— все LED выключены немедленно.after-1s— LED загораются при старте на 1 секунду, затем гаснут (подтверждение загрузки).after-5s,after-10s,after-20s,after-1m— аналогично, но с разным временем.
Настройка
Просмотр текущих LED
[admin@MikroTik] ># Все LED и их текущие настройки /system/leds/print # Columns: LEDS, TYPE, INTERFACE # 0 user-led interface-activity ether1 # 1 led1 interface-status ether2 # 2 led2 interface-status ether3 # 3 pwr-led on # 4 5ghz-led wireless-status wlan1 # 5 2ghz-led wireless-status wlan2
Отключение всех LED
[admin@MikroTik] ># Глобальное отключение (рекомендуемый способ) /system/leds/settings/set all-leds-off=immediate # Или отключение каждого LED по отдельности /system/leds/set [find] disabled=yes
Чтобы вернуть LED обратно:
[admin@MikroTik] >/system/leds/settings/set all-leds-off=never /system/leds/set [find] disabled=no
«Тёмный режим» — LED гаснут через 1 секунду после старта
Этот режим удобен: при загрузке роутера LED на секунду загораются (подтверждение, что устройство работает), затем гаснут:
[admin@MikroTik] >/system/leds/settings/set all-leds-off=after-1s
Ночной режим по расписанию
LED включены днём (08:00–22:00) и выключены ночью. Используем Scheduler:
[admin@MikroTik] ># Выключить LED в 22:00 /system/scheduler add name=leds-off start-time=22:00:00 interval=1d \ on-event="/system/leds/settings/set all-leds-off=immediate" # Включить LED в 08:00 /system/scheduler add name=leds-on start-time=08:00:00 interval=1d \ on-event="/system/leds/settings/set all-leds-off=never"
Кастомная индикация: LED горит при активном VPN
Привязываем пользовательский LED (user-led) к статусу WireGuard-интерфейса. Когда туннель поднят — LED горит, когда упал — гаснет.
[admin@MikroTik] ># Привязать user-led к статусу WireGuard-интерфейса /system/leds set [find leds="user-led"] type=interface-status interface=wireguard1
Если нужно более сложное условие (интерфейс UP + трафик), используйте interface-activity:
[admin@MikroTik] >/system/leds set [find leds="user-led"] type=interface-activity interface=wireguard1
LED как индикатор ошибки (через скрипт)
Скрипт может включать и выключать LED в зависимости от состояния системы. Сначала переведите LED в ручной режим:
[admin@MikroTik] ># Перевести user-led в ручной режим (выключен) /system/leds set [find leds="user-led"] type=off
Скрипт для «мигания» LED при ошибке:
[admin@MikroTik] >/system/script add name=led-alarm dont-require-permissions=no source={ # Мигнуть 5 раз :for i from=1 to=5 do={ /system/leds/set [find leds="user-led"] type=on :delay 500ms /system/leds/set [find leds="user-led"] type=off :delay 500ms } }
Привязать к событию Netwatch:
[admin@MikroTik] >/tool/netwatch add host=8.8.8.8 type=icmp interval=30s \ down-script={ /system/leds/set [find leds="user-led"] type=on :log warning "Internet DOWN - LED alarm ON" } \ up-script={ /system/leds/set [find leds="user-led"] type=off :log info "Internet UP - LED alarm OFF" } \ comment="LED alarm - internet monitor"
Индикация уровня загрузки CPU
На устройствах с несколькими LED можно реализовать «шкалу» загрузки процессора:
[admin@MikroTik] >/system/script add name=cpu-led-indicator dont-require-permissions=no source={ :local cpuLoad [/system/resource/get cpu-load] # led1 = >25%, led2 = >50%, led3 = >75% :if ($cpuLoad > 25) do={ /system/leds/set [find leds="led1"] type=on } else={ /system/leds/set [find leds="led1"] type=off } :if ($cpuLoad > 50) do={ /system/leds/set [find leds="led2"] type=on } else={ /system/leds/set [find leds="led2"] type=off } :if ($cpuLoad > 75) do={ /system/leds/set [find leds="led3"] type=on } else={ /system/leds/set [find leds="led3"] type=off } } # Обновление каждые 5 секунд /system/scheduler add name=cpu-led-update interval=5s \ on-event="/system/script/run cpu-led-indicator"
Проверка
[admin@MikroTik] ># Текущее состояние LED /system/leds/print # Глобальная настройка /system/leds/settings/print # all-leds-off: never # Проверка scheduler (ночной режим) /system/scheduler/print where name~"leds"
Типичные ошибки
1. all-leds-off перезаписывает индивидуальные настройки
Проблема: вы настроили кастомный LED (например, VPN-индикатор), но all-leds-off=immediate гасит все LED, включая ваш кастомный.
Решение: all-leds-off — это глобальное переопределение. Если нужен кастомный LED при отключённых остальных, используйте индивидуальное отключение:
[admin@MikroTik] ># Сбросить глобальную настройку /system/leds/settings/set all-leds-off=never # Отключить ненужные LED по отдельности /system/leds/set [find leds="led1"] disabled=yes /system/leds/set [find leds="led2"] disabled=yes /system/leds/set [find leds="pwr-led"] disabled=yes # Оставить только нужный /system/leds/set [find leds="user-led"] type=interface-status \ interface=wireguard1 disabled=no
2. LED не возвращаются после отмены all-leds-off
Проблема: установили all-leds-off=immediate, затем all-leds-off=never, но LED не загорелись.
Решение: проверьте, что индивидуальные LED не отключены параметром disabled=yes:
[admin@MikroTik] >/system/leds/settings/set all-leds-off=never /system/leds/set [find] disabled=no
3. Название LED зависит от модели
Проблема: имена LED (user-led, led1, pwr-led, 5ghz-led) различаются от модели к модели. Скрипт, написанный для hAP ax2, не будет работать на RB5009.
Решение: всегда проверяйте доступные LED на конкретном устройстве:
[admin@MikroTik] >/system/leds/print # На hAP ax2: user-led, pwr-led, 5ghz-led, 2ghz-led, led1-led5 # На RB5009: user-led, sfp-led, led1-led9 # На hEX S: user-led, led1-led5
4. Scheduler ночного режима не учитывает часовой пояс
Проблема: время на роутере не настроено, и LED выключаются/включаются в неправильное время.
Решение:
[admin@MikroTik] ># Настроить NTP и часовой пояс /system/clock/set time-zone-name=Europe/Moscow /system/ntp/client/set enabled=yes /system/ntp/client/servers add address=pool.ntp.org
Управление LED — маленькая, но полезная функция RouterOS. В быту она позволяет избавиться от мигающих индикаторов в спальне. В production-сетях — создать визуальную индикацию статуса VPN, интернет-соединения или критических ошибок без обращения к мониторингу. Комбинация LED + Netwatch + Scheduler даёт простую и наглядную систему визуальных оповещений.
/system/leds/settings/print
# all-leds-off: never
# Все LED и их текущие настройки
/system/leds/print
# Columns: LEDS, TYPE, INTERFACE
# 0 user-led interface-activity ether1
# 1 led1 interface-status ether2
# 2 led2 interface-status ether3
# 3 pwr-led on
# 4 5ghz-led wireless-status wlan1
# 5 2ghz-led wireless-status wlan2
# Глобальное отключение (рекомендуемый способ)
/system/leds/settings/set all-leds-off=immediate
# Или отключение каждого LED по отдельности
/system/leds/set [find] disabled=yes
/system/leds/settings/set all-leds-off=never
/system/leds/set [find] disabled=no
/system/leds/settings/set all-leds-off=after-1s
# Выключить LED в 22:00
/system/scheduler
add name=leds-off start-time=22:00:00 interval=1d \
on-event="/system/leds/settings/set all-leds-off=immediate"
# Включить LED в 08:00
/system/scheduler
add name=leds-on start-time=08:00:00 interval=1d \
on-event="/system/leds/settings/set all-leds-off=never"
# Привязать user-led к статусу WireGuard-интерфейса
/system/leds
set [find leds="user-led"] type=interface-status interface=wireguard1
/system/leds
set [find leds="user-led"] type=interface-activity interface=wireguard1
# Перевести user-led в ручной режим (выключен)
/system/leds
set [find leds="user-led"] type=off
/system/script
add name=led-alarm dont-require-permissions=no source={
# Мигнуть 5 раз
:for i from=1 to=5 do={
/system/leds/set [find leds="user-led"] type=on
:delay 500ms
/system/leds/set [find leds="user-led"] type=off
:delay 500ms
}
}
/tool/netwatch
add host=8.8.8.8 type=icmp interval=30s \
down-script={
/system/leds/set [find leds="user-led"] type=on
:log warning "Internet DOWN - LED alarm ON"
} \
up-script={
/system/leds/set [find leds="user-led"] type=off
:log info "Internet UP - LED alarm OFF"
} \
comment="LED alarm - internet monitor"
/system/script
add name=cpu-led-indicator dont-require-permissions=no source={
:local cpuLoad [/system/resource/get cpu-load]
# led1 = >25%, led2 = >50%, led3 = >75%
:if ($cpuLoad > 25) do={
/system/leds/set [find leds="led1"] type=on
} else={
/system/leds/set [find leds="led1"] type=off
}
:if ($cpuLoad > 50) do={
/system/leds/set [find leds="led2"] type=on
} else={
/system/leds/set [find leds="led2"] type=off
}
:if ($cpuLoad > 75) do={
/system/leds/set [find leds="led3"] type=on
} else={
/system/leds/set [find leds="led3"] type=off
}
}
# Обновление каждые 5 секунд
/system/scheduler
add name=cpu-led-update interval=5s \
on-event="/system/script/run cpu-led-indicator"
# Текущее состояние LED
/system/leds/print
# Глобальная настройка
/system/leds/settings/print
# all-leds-off: never
# Проверка scheduler (ночной режим)
/system/scheduler/print where name~"leds"
# Сбросить глобальную настройку
/system/leds/settings/set all-leds-off=never
# Отключить ненужные LED по отдельности
/system/leds/set [find leds="led1"] disabled=yes
/system/leds/set [find leds="led2"] disabled=yes
/system/leds/set [find leds="pwr-led"] disabled=yes
# Оставить только нужный
/system/leds/set [find leds="user-led"] type=interface-status \
interface=wireguard1 disabled=no
/system/leds/settings/set all-leds-off=never
/system/leds/set [find] disabled=no
/system/leds/print
# На hAP ax2: user-led, pwr-led, 5ghz-led, 2ghz-led, led1-led5
# На RB5009: user-led, sfp-led, led1-led9
# На hEX S: user-led, led1-led5
# Настроить NTP и часовой пояс
/system/clock/set time-zone-name=Europe/Moscow
/system/ntp/client/set enabled=yes
/system/ntp/client/servers
add address=pool.ntp.org