This tool has actually been posted for some time now but I failed to highlight it in my blog…until now.
There are a few other blog articles out there that detail the functionality provided by this new add-in, but to some it up, the data portion of the add-in is powered by a custom timer job that periodically gathers information about certain aspects of the farm and keeps a dedicated SharePoint list updated with the latest status. The second half of this solution is an add-in to Visio that connects to this dedicated list and generates/updates a diagram based on the information stored in this list.
Here are some of the other write-ups on this tool
http://sharepintblog.com/2011/10/07/sharepoint-topology-data-collection-walkthrough/
Here is the add-in on codeplex
http://visiospfarmaddin.codeplex.com/
Here is the timer job on codeplex
http://sharepointtopology.codeplex.com/
Keep in mind that this timer job alone creates this list, gathers that data and keeps it up to date. This data could be used by a number of different applications other than Visio, but remember, you can connect the shapes in any Visio diagram to data hosted in a SharePoint list, so use the diagram that our add-in generates or BYOD (Bring Your Own Diagram).
Here is the sample diagram that was created using this solution add-in with some customizations
http://www.microsoft.com/en-ie/download/details.aspx?id=28186