I'm setting up some MySQL monitoring and migrating from Nagios + Cacti to Icinga. Does Idoutils replace Cacti, for pragmatic purposes? Does Idoutils utilize cacti templates? Or if not is migrating them simple? What about Percona Cacti graphs? Can they be utilized in Idoutils?
I really appreciate any advise on this question,
IDOUtils is considered the database backend of the core, where various web guis and other addons get their information from. It is not considered a replacement for graphing storage engines like rrdtool provides (which is the backend Cacti uses mainly).
Icinga Core, or mainly your check plugins, may output so called performance data (check the plugin api - http://docs.icinga.org/latest/en/pluginapi.html). Given that your plugins provide such, you could add graphing addons like pnp4nagios or ingraph in order to generate graphs, as well as include their web frontend representation.
https://wiki.icinga.org/display/howtos/Setting+up+PNP+with+Icinga
https://www.netways.org/projects/ingraph/wiki
IDOUtils itsself stores performance data if told to do so, but it does not scale in large environments to save such data within the idoutils db schema. More information on IDOUtils itsself - http://docs.icinga.org/latest/en/db_intro.html
So IDOUtils does not replace Cacti at all, if follows a different approach. If you wanna replace Cacti, and migrate data the best way, you might live without nice GUI trees, but use PNP with rrdtool integrated into Icinga.
For migration purposes, check your Cacti RRDs as well as the command line calls to rrdtool. You can re-use them e.g. with PNP (also rrdtool) and its templates. If you are planning to use something different like ingraph (rdbms backend) or graphite, data migration will be difficult (no idea on that).