There are a lot of digital tachometers/hour meters out there. This is one, as an example:
http://www.amazon.com/gp/product/B0049IFX56/ref=ox_sc_act_title_1?ie=UTF8&m=AR8XJJ19SNPNX
I have a similar digital unit. You wrap a wire around the spark plug wire, which lets it sense when the plug fires. They may or may not also have a ground wire. So installation is dead simple. It works on my twin-cylinder tractor, as well as my single-cylinder engines (4-stroke and 2-stroke). Mine has a 9999 RPM max. Others go higher (helpful for chainsaws and the like). Mine assumes that the plug fires on every revolution, whether or not that spark is actually used (many/most 4-stroke engines fire the plug on every revolution, even though only every other spark is actually used). Some other units let you configure it to for machines which really do only fire when required (higher-end 4-stroke engines, I presume).
The photo ones would probably work, if you exposed the flywheel, and put something shiny on it, for the eye to detect. But their use would be much more limited, and would need you to keep the tach pointed at the rotating shiny area. The inductive kind are not that much more expensive, and can be installed on the dash and monitored while using the tractor, if you want, plus they'll act as an hour meter. I move mine around to different machines as needed, for checking RPM's.