Well, for monitoring the water quality, I really don't have much right now, but here is what I have...
For reading pH I use the pH/ORP Adapter from Phidgets, together with a descent pH Probe.
Phidgets Inc. - 1130_0 - pH/ORP Adapter
Wiring is easy. 5V, GND and an analog pin on the arduino. Do an analogRead on the analog_pin and you will be returned a value, corresponding with the pH value. What I did was to read values in a pH4 solution and in a pH7 solution and then map those values in the arduino. ie
float pH = 0.00;
int pHInt = map(pH , 357, 532, 400, 700); // 357 value from pH4 - 532 value from pH7
pH = pHInt / 100.00;
For reading the temperature, for now I'm using a 1-Wire temperature sensor:
There are plenty of tutorials on the net about using a DS18B20 sensor. they are not super accurate (mine is actually about 0.6 degrees Celsius off), but it's is easily corrected in the Arduino code.
The water level is monitored using a Ultrasonic range finder:
it measures the distance from the censor to the water surface, a bit of calculation, and voila, you have the volume.
For data logging (if you have a normal job, unlike me...), you could simply use a SD card:
See this tutorial by Jeremy Blum:
Tutorial 11 for Arduino: SD Cards and Datalogging - YouTube
Well, that's pretty much it for water data on this side.
I could recommend you to have a look at Atlas-Scientific Home
They have a bunch of very exotic hardware, that I imagine will be very fun to play around with (sadly I don't have any of those, since they are quite expensive)
Just don't let the electronics bug bite you. Actually I find all this electronic tinkering and programming much more fun than the actual aquarium part