Logging SNR and thruput values
From MikroTik Wiki
This script logs the radio name, system identity, system uptime, board name, firmware version, clients connected, ccq, nstreme, frequency etc. The clients script logs the details of radios connected to an AP.
It is extremely useful for debugging wireless problems, like intermittent noise, signal and ccq. Use the following script on a schedule. Configure the Mikrotik AP to log data to a syslog server (remote) and you have a powerful way of monitoring your equipment. This newer version does not care what your radio's are named.
Tested and works with version 3.12 and up.
#AP STATS
:foreach i in=[/interface wireless find ] do={/interface wireless monitor $i once do { :log info ( "int=" . [/int wire get $i name] . "," . [/system identity get name] . "," . [/system resour get uptime] . "," . [/system reso get board-name] ."," . [/system reso get version] . "," .$"registered-clients" . ",". $"overall-tx-ccq" . "." . $"nstreme" . "," . $"rx-ccq" . "," . $"noise-floor" . "," . $"frequency" . "," . $"band" . "," . [/int wire get $i ssid] . "," . [/int wire get $i ack-timeout] . "," . [/int wire get $i hw-retries] . "," . [/int wire get $i wds-mode] . "," . $"tx-rate" . "," . $"rx-rate" . "," . $"signal-strength" . "," . $"tx-signal-strength")}}
#CLIENTS
/int wire reg
:foreach i in=[ /int wir reg find] do={:log info ([/system identity get name] . "," . [get $i mac-address ]. "," . [get $i last-ip] . "," . [get $i rx-rate] . "," . [get $i tx-rate] . "," . [get $i uptime] . "," . [get $i last-activity] . "," . [get $i signal-strength] . "," . [get $i signal-to-noise] . "," . [get $i tx-ccq] . "," . [get $i bytes] . "," . [get $i packets])}
2.x firmware version
:local interface "wlan1";
/interface wireless monitor $interface once do={
:local signal $"signal-strength";
:local snr $"signal-to-noise";
:local noise $"noise-floor";
:local thruput $"p-throughput";
:local freq $"frequency";
:log info "SNR: $snr Signal $signal Noise: $noise , thruput: $thruput , freq: $freq MHz";
};