a CT or cutternt transformer is easy to use so that is an option.
any sensor that on the voltate to the fan would also be able to send a signal
connecting a 100k resistor {proper selection based on existing voltage ] and an LED is simple, so you can see when the motor is running.
using that same signal to your micro is not hard.
if you have WiFi available, your ESP8266 can connect to your WiFi.
an ESP8266 can detect the on/off of voltage or the LED, but I think you would need to do a lot more to use a CT into the ESP8266 as the 8266 has a much smaller Aanalog to Digital converter.
if you do not have WiFi available, then you need to use one of the RF modules.
if your fans are in separate buildings, then you would need one Arudino at each building/fan, connected to the transmitter.
I would offer that one ESP8266 located near your WiFi would make life easier.
have your one ESP8266 at the WiFi, and have it poll each of the sensors every minute.
if sensor #3 is HIGH, showing the fan is on you would be able to log it as on and running and also start a timer for fan #3
once it goes off, you can log it as off and note the duration of the run time.
if your run time exceeds the time alloted, you can send an alarm to your phone that #3 is running for more than X minutes.
I am making up this as I go along as I do not know your specific needs.
a single EXP8266 with an RTC and a data logger, that is near yoru WIFI,
and infividual RF nodes, one at each fan, or one in each building, could relay the status of each device.
communication can be as simple as the ESP sending a signal, once every 30 seconds
and poll the status of the nodes at the fans.
ESP - attention node1, what is your status = node1 to ESP OFF
ESP - attention node2, what is your status = node2 to ESP OFF
ESP - attention node3, what is your status = node3 to ESP OFF
ESP - attention node4, what is your status = node4 to ESP OFF
ESP - attention node5, what is your status = node5 to ESP OFF
ESP - attention node6, what is your status = node6 to ESP OFF
in 3 minutes, you know the conditions.
repeat every 5 minutes.
the ESP could data log any RUN times.
ESP - attention node3, what is your status = node3 to ESP ON
ESP = datalog that at 6:27 node 3 went HIGH
start noide3 timer
at 6:30 ( the next loop to poll all the units)
ESP - attention node1, what is your status = node1 to ESP OFF
ESP - attention node2, what is your status = node2 to ESP OFF
ESP - attention node3, what is your status = node3 to ESP ON
ESP - attention node4, what is your status = node4 to ESP OFF
ESP - attention node5, what is your status = node5 to ESP OFF
ESP - attention node6, what is your status = node6 to ESP OFF
ESP = node 3 is till HIGH, keep count time
check noide3 timer, if it exceeded the run time, send alarm
at 6:35 ( the next loop to poll all the units)
ESP - attention node1, what is your status = node1 to ESP OFF
ESP - attention node2, what is your status = node2 to ESP OFF
ESP - attention node3, what is your status = node3 to ESP OFF
ESP - attention node4, what is your status = node4 to ESP OFF
ESP - attention node5, what is your status = node5 to ESP OFF
ESP - attention node6, what is your status = node6 to ESP OFF
ESP = node 3 has changed status and is not OFF
check noide3 timer, datalog the fan is now OFF
then the ESP could note the time ON and OFF and list minutes of run time.
this would be accurate to 10 (19?) minutes as the fan could start one second AFTER you did a poll and end one second BEFORE you did your next poll.
as an alternate polling, you could ask how long have you been running ?
ESP - attention node1, how long have you been running ? = node1 to ESP 0 seconds
ESP - attention node2, how long have you been running ? = node1 to ESP 0 seconds
ESP - attention node3, how long have you been running ? = node1 to ESP 372 seconds
ESP - attention node4, how long have you been running ? = node1 to ESP 0 seconds
ESP - attention node5, how long have you been running ? = node1 to ESP 0 seconds
ESP - attention node6, how long have you been running ? = node1 to ESP 0 seconds
the ESP would do the math on timing.
let us know what your needs really are.