I had one of these before and got quite a bit of use out of it before it quit, so I recently got another one. They're powered by two AAAs and come in various colors, and are $15. I use amber since it's a recognized side-visibility color.

The light zip-ties onto whatever you want to attach it to. It doesn't have any particular water-resistance features, so I'd avoid putting it in the path of tire spray or other especially wet locations. The underside of the top tube is a good spot for it, and its light hits my waterbottles and my legs for some extra visibility. Facing forward on the seat tube could be even better, but I think it would interfere with my waterbottle.

The power button is soft rubber with no tactile feedback, and has "soft-OFF," which means it will slowly deplete your batteries even when OFF. So I try to remember to recharge my AAAs once or twice a week, depending on how many hours I'm riding. It has steady-burn and three flashing speeds.

Removing the batteries can be slightly annoying since the light is zip-tied to the bike and the second battery doesn't always come out easily.

This video clip shows the BikeBrightz along with some other lights.