I figured out my problem and thought I would post results here. I still have a lingering issue where Ambari is reporting the Ganglia Monitor on the Ganglia Server host as down when it is actually running, but everything seems to be working now.
The problem was ipv6. Ganglia monitors were sending data over UDP to an ipv6 address which was returned by my dns server. Since it is UDP and not TCP, the monitor did not realize this was not succeeding and did not fall back to ipv4. To fix this problem, I had to add an entry in /etc/hosts to statically link the main Ganglia server to an ipv4 address on each host. This is not ideal, so if anyone knows a better solution that does not involve hacking /etc/hosts, I would love to know.
Everything is working now, but the monitor on the ganglia server host shows as down, even though when I run ‘service hdp-gmond status’ there are no errors.