I've done this. The symptoms you describe for me were all cracked heating element; which would occasionally trip the safety switch, occasionally the fuse. Electrician diagnosed it and replaced the element which fixed it for ten more years. Since then I've replaced house and water heater twice.
With the current cost and availability of parts; search the littlebirdelectronics.com store for DS18B20 waterproofed sensors, because they come pre-wired with about a metre of cable ($10 to $23), and either the Sparkfun ESP8266 Thing ($19) or the Adafruit HUZZAH ESP8266 Breakout ($14). And a resistor for the pullup on the DS18B20 DQ pin.
I would use two DS18B20 sensors; one encased in insulation touching the output pipe of the heater, so that the copper will transfer heat to it, and the other measuring ambient temperature, so that you can subtract the two to estimate the heat of the water.
Powering the ESP8266 boards; lots of options, read the documentation for each.
Software; my tendency is to use NodeMCU Lua and pipe data into whatever TCP or UDP sink you like. Lots of options for that too.
I'd also be tempted to sense the power draw on the hot water system heating element or compressor somehow; I've done it in several ways; (a) place a 3.3V or 5V power supply in parallel with the element and either power a separate wireless node or wire it as a spare input to what you have, (b) use a current transformer over one of the conductors.
I've several ESP8266 plus DS18B20 assemblies around the house, and one spent time in a church measuring ambient. I'm quite used to them now. Ask any questions.