Hardware Health Monitoring
Hardware Health Monitoring
Section titled “Hardware Health Monitoring”RouterOS provides real-time hardware health monitoring through /system/health, exposing sensor readings for temperature, input voltage, fan speed, and current draw. Available sensors depend on the hardware platform — higher-end devices expose more metrics than entry-level units.
Overview
Section titled “Overview”The health subsystem reads data directly from hardware monitoring chips on the RouterBOARD. These sensors allow you to detect thermal issues, power supply problems, and fan failures before they cause outages.
Sub-menu
Section titled “Sub-menu”/system/health
Reading Health Data
Section titled “Reading Health Data”Print All Sensors
Section titled “Print All Sensors”Display all available sensor readings for your device:
/system/health/printExample output on a CCR2004:
NAME VALUE UNIT temperature 47 C cpu-temperature 52 C fan1-speed 2200 RPM fan2-speed 2150 RPM voltage 24.1 VMonitor Continuously
Section titled “Monitor Continuously”Watch sensor values update in real time:
/system/health/monitorPress Q to exit the live view.
Read a Single Sensor
Section titled “Read a Single Sensor”Retrieve one sensor value — useful in scripts:
:put [/system/health/get temperature]Temperature
Section titled “Temperature”Properties
Section titled “Properties”Sub-menu: /system/health
| Property | Unit | Description |
|---|---|---|
| temperature | °C | Main board temperature |
| cpu-temperature | °C | CPU core temperature (where supported) |
| temperature-1 | °C | Additional sensor 1 (multi-sensor boards) |
| temperature-2 | °C | Additional sensor 2 (multi-sensor boards) |
Not all properties appear on all devices. Run /system/health/print to see what your hardware exposes.
Typical Temperature Ranges
Section titled “Typical Temperature Ranges”| Condition | Range |
|---|---|
| Optimal | 20 °C – 40 °C |
| Normal | 40 °C – 60 °C |
| Elevated | 60 °C – 70 °C |
| High | 70 °C – 80 °C |
| Critical | Above 80 °C |
Exact limits vary by model. Consult your device’s hardware manual for rated operating ranges.
Voltage
Section titled “Voltage”Properties
Section titled “Properties”| Property | Unit | Description |
|---|---|---|
| voltage | V | Input voltage at the router |
| poe-out-voltage | V | PoE output voltage (PoE-capable ports) |
Voltage monitoring detects power supply degradation, unstable sources (generators, UPS), and connector faults. When voltage falls outside safe operating ranges RouterOS logs a warning; in extreme cases the device may shut down to prevent hardware damage.
Voltage Commands
Section titled “Voltage Commands”# View current voltage/system/health/print
# Continuous monitoring/system/health/monitorFan Speed
Section titled “Fan Speed”Properties
Section titled “Properties”| Property | Unit | Description |
|---|---|---|
| fan-speed | RPM | Primary fan |
| fan1-speed | RPM | Fan 1 (multi-fan devices) |
| fan2-speed | RPM | Fan 2 (multi-fan devices) |
| fan-status | — | Operational status (ok / fault) |
Fan presence and property names differ by device. Only CCR, high-density CRS, and carrier-grade RB models include fans; SOHO and hEX series are passively cooled.
Automatic Fan Control
Section titled “Automatic Fan Control”RouterOS firmware adjusts fan speed based on temperature sensor readings:
- Low temperature: Fans run at minimum speed or stop (quiet operation)
- Moderate temperature: Fans ramp up proportionally
- High temperature: Fans run at maximum speed
- Critical temperature: Additional protective action may trigger (throttling or shutdown)
Manual Fan Control
Section titled “Manual Fan Control”A limited set of devices support setting fan speed manually:
# Check if manual control is available/system/health/print
# Enable manual fan control (device-dependent)/system/health/set fan-control=manual
# Set fan speed percentage/system/health/set fan-speed=75PoE Output and Fan Behavior
Section titled “PoE Output and Fan Behavior”On PoE switches and routers, enabling PoE output raises board temperature, which in turn increases fan speed. If fans are unexpectedly loud, check /system/health for temperature alongside /interface/ethernet/poe/print to correlate PoE load with thermal output.
Configuring Health Alerts
Section titled “Configuring Health Alerts”RouterOS has no built-in threshold-alarm system for health sensors. Alerts are implemented via the Scheduler executing a Script that reads sensor values and acts when limits are exceeded.
Log a Warning on High Temperature
Section titled “Log a Warning on High Temperature”/system/script/add name=health-temp-check source={ :local temp [/system/health/get temperature]; :if ($temp > 70) do={ :log warning ("High temperature: " . $temp . "C"); }}
/system/scheduler/add name=run-health-temp-check \ interval=1m \ on-event=health-temp-checkSend an Email Alert
Section titled “Send an Email Alert”First configure the SMTP client:
/tool/e-mail/set \ server=smtp.example.com \ port=587 \ password=<password>Then create the alert script:
/system/script/add name=health-email-alert source={ :local temp [/system/health/get temperature]; :local host [/system/identity/get name]; :if ($temp > 70) do={ /tool/e-mail/send \ subject=("Temperature alert: " . $host) \ body=("Board temperature is " . $temp . "C on " . $host); :log warning ("Email alert sent, temperature=" . $temp . "C"); }}
/system/scheduler/add name=run-health-email-alert \ interval=5m \ on-event=health-email-alertMonitor Multiple Sensors
Section titled “Monitor Multiple Sensors”Check temperature and voltage together and alert on either threshold:
/system/script/add name=health-full-check source={ :local temp [/system/health/get temperature]; :local volt [/system/health/get voltage]; :local host [/system/identity/get name];
:if ($temp > 75) do={ :log error ("CRITICAL temperature on " . $host . ": " . $temp . "C"); }
:if ($volt < 11) do={ :log error ("LOW voltage on " . $host . ": " . $volt . "V"); }}
/system/scheduler/add name=run-health-full-check \ interval=2m \ on-event=health-full-checkFan Fault Detection
Section titled “Fan Fault Detection”/system/script/add name=health-fan-check source={ :local fanSpeed [/system/health/get fan1-speed]; :if ($fanSpeed < 500) do={ :log error "Fan 1 may have failed or stalled"; }}
/system/scheduler/add name=run-health-fan-check \ interval=5m \ on-event=health-fan-checkChecking Health for Support
Section titled “Checking Health for Support”When reporting hardware issues to MikroTik support, include a full health and resource snapshot:
/system/health/print/system/resource/printPlatform Differences
Section titled “Platform Differences”Available health sensors vary significantly by hardware tier. The table below describes typical availability — always confirm with /system/health/print on your specific device.
| Feature | Entry-level (hEX, RB9xx) | Mid-range (RB4011, CCR1009) | High-end (CCR2004+, CRS3xx) |
|---|---|---|---|
| Board temperature | Yes | Yes | Yes |
| CPU temperature | No | Yes | Yes |
| Multiple temperature sensors | No | Partial | Yes |
| Input voltage | Yes | Yes | Yes |
| PoE voltage | No | Partial | Yes |
| Fan speed monitoring | No (fanless) | Partial | Yes |
| Manual fan control | No | No | Some models |
CHR (Cloud Hosted Router): Runs on a hypervisor with no physical sensors. /system/health/print returns no entries or only virtualized readings. Thermal and power monitoring is the responsibility of the host platform.
Troubleshooting
Section titled “Troubleshooting”High Temperature
Section titled “High Temperature”- Verify adequate airflow — check for blocked vents or cable obstruction
- Confirm ambient room temperature is within spec
- Check fan speed and status with
/system/health/print - Review PoE output load — reduce if possible
- Inspect the device for dust accumulation
Fan Not Spinning
Section titled “Fan Not Spinning”- Confirm the device has a fan (
/system/health/print— iffan-speedis absent, the device is fanless) - Check
fan-statusfor afaultindication - Verify the device has not been set to manual fan control at speed 0
- Contact MikroTik support if the fan is confirmed faulty
Voltage Fluctuations
Section titled “Voltage Fluctuations”- Check the power supply unit (PSU) condition
- Test with a known-good power cable
- Measure actual outlet voltage with a multimeter
- Consider adding a UPS to stabilise power delivery
Related Features
Section titled “Related Features”- Logging — configure where log messages are sent
- Netwatch — monitor external host availability
- Scheduler — automate recurring scripts
- E-mail Tool — SMTP client for alert delivery