Rumbling sounds coming from a water heater are an indication that sediment has collected in the bottom of a tank. The sound is boiling water trapped in the sediment, thus preventing the heat to transfer into the rest of the water in the tank.
You can try draining a few gallons of water off the bottom of the water heater tank, to try to reduce some of the sediment. This is done by attaching a hose to the tank valve at the bottom. Allow it to drain for about five minutes.
WARNING: HOT WATER IS DANGEROUS. DISCHARGE THE WATER ONLY INTO A FLOOR DRAIN, LAUNDRY TUB OR BATHTUB. HOT WATER WILL KILL YOUR GRASS IF DISCHARGED ONTO YOUR LAWN. HOT WATER WILL CRACK A TOILET BOWL IF DISCHARGED INTO THE TOILET.
Many newer models have anti-sediment mechanisms built in. If your heater is an older model, it may be cheaper to just replace the heater if buildup is severe.
One of two things have occurred. First, the dip tube may have broken off. This tube forces incoming water to the bottom of the tank so that hot water is drawn off of the top. When a dip tube breaks, cold water entering the tank mixes with the hot water causing it to cool. This is both a problem for gas and electric heaters.
Second, if your heater is electric, the bottom heating element may be malfunctioning, causing only the top of the tank to heat properly. The cause of this problem could be a bad element or a thermostat malfunction. This type of problem should be evaluated by a qualified technician.
First, check to see if the toilet is leaking. Open the tank and see if the water is flowing into the overflow tube. If it is, adjust the valve so that the water stops approximately one inch from the top.
Second, put a few drops of food coloring in the top of the tank to test the flush valve mechanism. Let the water sit for 15 minutes and, upon returning, the water in the bowl has changed color, this is an indication that water is leaking into the bowl and that the ball or flapper needs to be replaced.