Cisco CDR Reporting & Analytics | Installation Notes
While the CDR data can be used to answer an enormous range of questions, it can’t do everything. In particular it doesn’t have any record of when phones register or deregister, or when a device is having registration problems.
Lucky for us, we can get that information out of CallManager via syslog.
if you set this up and would like some help digging around more in the resulting data, by all means shoot us an email – we’d be happy to help flesh this out more for you!
A new index needs to be created on your indexing tier. If you are standalone, you can do it through the UI under Settings, Indexes. For now, call it cucm_syslog.
Next, from inside the Cisco CDR app, click “Settings” in the top right, then “Advanced Search” then “Search Macros”. On the following page find the macro “custom_syslog_index” and change it accordingly. As of this writing this will only affect one panel on the Device Detail page but over time more areas will leverage this data.
Our first big task is to have syslog installed and available. This is very likely only going to be a concern if you run a single, standalone Splunk+Cisco CDR instance. If you have a bigger Splunk install than just our Cisco CDR Reporting and Analytics app, then you are likely ingesting syslog somewhere already. If you have a Splunk “Team,” then I’m *sure* you have syslog somewhere. Ask them about it after bringing them brownies or cake.
If you do not already have a syslog server, you or a colleague will first have to build one, and that is outside the scope of this document.
Next we’ll walk you through collecting all the CallManager service information, which includes device registration/deregistration, resource allocation failures, and lots more. There are other options scattered around in CUCM – finding them and interpreting them is an exercise left to the reader.
You might want to also check the other services available – I’d suggest enabling only one at a time and carefully checking the license amounts they seem to take. If you have suggestions, please send them to us!
Now that we have this dumping data to syslog, let it run for an hour or two, then check the filesize of the created log.txt file and do a little math.
What you need to check is only that this amount of data isn’t likely to take you over the license. The file size isn’t exactly going to be the size ingested in Splunk, but it’s usually close enough to give you an idea if this is a good idea or not.
Also note that Splunk Enterprise lets you go over your allocated data amount up to 5 times in a rolling 30-day window (up to 3 times if you’re on a Trial Splunk license), so even if you “blow up your license” for a day, it’s not the end of the world. Perhaps ingesting one afternoon’s worth of data into Splunk would be useful just to see what answers you can really get out of it?
A warning though that if you have a “no enforcement” license, then “going over” isn’t really a concept; but if you consistently do it, at some point, Splunk will make you pay for that extra license.
If it’s not there already, install the UF on the syslog machine, and in the Splunk configuration tell it to read the files in a ‘local’ input.conf file:
However if you are using kiwi syslog, then do not set sourcetype to “syslog”. Instead set sourcetype to “cucm_kiwi_syslog”
[monitor:///var/log/remote/192.168.0.*/log.txt]
host_segment = 4
# NOTE: if you are using kiwi syslog, then uncomment the following line and comment out the sourcetype=syslog line.
#sourcetype = cucm_kiwi_syslog
sourcetype = syslog
index = cucm_syslog
Obviously, that’s just a sample – you need to fix it up to your path!
After that, as long as your UF’s outputs are set right, you’ll have data coming in.
Index Macro: return to the Cisco CDR Reporting and Analytics app, click “Settings” in the top navigation bar, then “Advanced Search”, then “Macros”. Find the macro titled “custom_syslog_index” and click it.
The default value will be index=“cisco_cdr_syslog”. If you followed our recommendation above and named your index “cucm_syslog”, then edit the value here to be index=“cucm_syslog”.
More generally, change this to match whatever index your syslog data lives in. Also if your syslog data lives in two or more indexes, you can specify ( index=“A” OR index=“B” ) in parentheses.
Field Extractions: Assuming that the syslog sourcetype you are using includes the fields: Device_name, cucm_eventname and cucm_eventdescription then you will see this information display in the Device Detail, within its “Summary” tab.
%UC_CALLMANAGER-6-DeviceUnregistered:%[Device
name=CiscoUM1-VI3][Device IP address=10.10.20.18][Protocol=SCCP][Device
type=80][Device description=VM][Reason
Code=9][IPAddressAttributes=3][App ID=Cisco CallManager][Cluster
ID=LocalCluster][Node ID=hq-cucm-pub.abc.inc]: Device unregistered
%UC_CALLMANAGER-6-DeviceRegistered: %[Device
name=CiscoUM1-VI3][Device IP address=10.10.20.18][Protocol=SCCP][Device
type=80][Performance monitor object=2][Device description=VM][Associated
directory numbers=7003][IPAddressAttributes=3][App ID=Cisco
CallManager][Cluster ID=LocalCluster][Node ID=hq-cucm-pub.abc.inc]:
Device registered
%UC_CALLMANAGER-4-DeviceTransientConnection: %[Connecting
Port=50538][Device name=][Device IP Address=10.10.20.18][Device
type=255][Reason Code=6][Protocol=SCCP][IPAddressAttributes=0][App
ID=Cisco CallManager][Cluster ID=LocalCluster][Node
ID=hq-cucm-pub.abc.inc]: A device attempted to register but did not
complete registration
Cisco has a variety of places that syslog output can be enabled. We talk about a few of the locations and services that they provide syslog ability for, but there’s also Cisco Unified CM Administration, System, Enterprise Parameters, and the section Cisco Syslog Agent, which gets system information too – both OS and hardware information and alarms.
Frankly, we’re not even SURE what all is available or how you might use it. The sky really is the limit, we think, but we aren’t *nearly* as hip to what’s in CUCM as you probably are, so tell us your ideas!
And, that concludes our wonderful foray into the wide world of Syslogging from CallManager.
If you have any comments at all about the documentation, please send them to docs@sideviewapps.com.
Have your cake and eat it too! Trust Webex with your calls, but pull all the metadata into Sideview's app in Splunk, for ad-hoc investigation, charting and flexible dashboards.