Here is a great project for monitoring water usage, and affecting usage behavior using graphical feedback:
From http://labs.teague.com/?p=722
Since we wanted to have an internet connected data-stream of our water usage, we decided to try out the YellowJacket Arduino with built-in WiFi. Data was then sent to the server at regular intervals when the water source was in use (from 1-15 seconds depending on the wireless setup and resolution desired). Using a GET request with ID and usage information, the server was then able to store and retrieve sensor data. The complete circuitry and code (see download link below) were both conceptually straight-forward and easy to implement.