I recently did a migration to move our CUCM nodes to be specified by FQDN hostname. We had been using non-FQDN hostnames, however, we wanted to migrate to using the FQDN hostname to line up with current best practices and in prep for piloting Mobile and Remote Access (MRA) on Expressway. In the process of putting together my implementation plan, I realized that we would likely lose any RTMT profiles we had saved which can be quite complicated and have a number of custom counters defined.
From The Horse’s Mouth
Cisco does state in their documentation that you will need to recreate any custom RTMT profiles after a node rename. I don’t know about you, but our saved RTMT profile is very detailed and has lots of custom counters to help us quickly identify the status of all sorts of pieces and parts of the CUCM system. Recreating all of these performance monitors by hand would quite honestly stink.
Here is how I overcome that. Based upon the documentation, I had anticipated I would have to recreate our RTMT profile after the change, but I wanted to look deeper after the change to see how difficult this was before I went to all of that work. This is where knowledge of how the back-end CUCM database (IBM Informix) is organized is helpful.
Disclaimers and all that jazz
DISCLAIMER: Understanding the CUCM database dictionary and running some SELECT statements is much different from running an UPDATE statement against the database. Performing an UPDATE function is changing the data in the database. You can really mess things up if you don’t know what you are doing. Test this in a lab before you go changing anything on a production system. Don’t blame me if you mess this up. You have been warned!
In addition to what I said above, what you are about to do is NOT TAC supported. After all Cisco does state the following in their official “Changing the IP Address and Hostname for Cisco Unified Communications Manager” procedure documentation:
RTMT custom alerts that are derived from performance counters include the hard-coded server IP address or hostnames. You must delete and reconfigure these custom alerts.
With all that out-of-the-way, the RTMT profiles are stored in the Informix database in a single table. You can see them by running the following SQL query at the CUCM CLI:
run sql select * from rtmtprofile
What you will get back will look a little scary, but if you paste it into a text editor you will see the key data is in the “content” field. Most of your custom performance counters will be referenced with something that looks like this (… = omitted data):
...<Series Name="\\OLD_NAME\Cisco MOH Device(MOH_CUCMSN-02)\ResourceActive"/>...
All I had to do was do a simple search and replace. I searched for: “\\OLD_NAME\” and replace it with “\\FQDN_NAME\” for each of my node names and my old profile was ready to work with my new node names. The next step is to get this back into the database. Nothing super complicated here but you will need to customize this for your cluster as your PKID will be different from mine. Don’t forget you will need to keep all the other data in that content field the same. If you have a large RTMT profile, there is a lot of info there!
run sql update rtmtprofile set content = 'ALL_YOUR_NEW_XML_CONTENT' where pkid = 'c2889282-7872-4446-a27d-eef677a4320c'
And there you go. If you have multiple profiles the same approach can be replicated for the other profiles in the database table.
Good luck! Hope this helps!