cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
5681
Views
5
Helpful
4
Comments
Tomas de Leon
Cisco Employee
Cisco Employee

Today’s Tip of the Day is to give you an example of how to configure Call Home and Query Groups in an ACI Fabric Solution.  Please note that this steps and examples were presented using an earlier version of the APIC firmware release. As a result, you may see some changes in the screens but the general concepts of configuring has not changed.  Also due to the amount of screenshots, I have put a place holder in this text body "<< Screenshots in attached PDF >>"  for a screenshot that is in the attached PDF.

 

In the External Data Collectors menu, you can configure the sending of a variety of system data to Call Home, SNMP, or syslog destinations. When an event triggers the sending of a report, information from your selected queries is included in the report. You can configure a query based on a class name or a distinguished name, and you can further qualify the query based on subtrees and object properties.

 

Call Home provides an email-based notification for critical system policies. A range of message formats are available for compatibility with pager services or XML-based automated parsing applications. You can use this feature to page a network support engineer, email a Network Operations Center, or use Cisco Smart Call Home services to generate a case with the Technical Assistance Center.

 

The Call Home feature can deliver alert messages containing information about diagnostics and environmental faults and events.

 

The Call Home feature can deliver alerts to multiple recipients, referred to as Call Home destination profiles. Each profile includes configurable message formats and content categories. A predefined destination profile is provided for sending alerts to the Cisco TAC, but you also can define your own destination profiles.

 

When you configure Call Home to send messages, Cisco ACI fabric system delivers Call Home messages in the following formats:

    •    Short text format which provides a one or two line description of the fault that is suitable for pagers or printed reports.

    •    XML machine readable format that uses Extensible Markup Language (XML) and Adaptive Messaging Language (AML) XML schema definition (XSD). The AML XSD is published on the Cisco.com website at http://www.cisco.com/. The XML format enables communication with the Cisco Systems Technical Assistance Center

 

The following Test Case involves configuring the Call Home feature in your Cisco ACI fabric system. This test case will show examples of configuring the Call Home feature utililizing the APIC Admin GUI and REST API (using POSTMAN). For this test case, the fabric topology consist of 8 nodes: 3 APIC controllers, 2 Spine switches, and 3 Leaf switches.

 

In regards to the REST API examples listed in this test case, there is an assumption made that you have a REST CLIENT (like POSTMAN) installed on your workstation. This will be used for executing REST API requests to an APIC Controller. Also, while executing this test case, you may want to open the API inspector console from the APIC GUI. The API inspector displays the API POST requests used for the tasks performed. The Post Requests in the API inspector can be used for sending requests to APIC controllers.

 

<< Screenshots in attached PDF >>

 

Note: For this testplan, the ACI Software for the Leaf/Spine switches did not support CALLHOME features.  The configuration steps listed in the testplan are for the APIC controllers and the switches.  When the support is added to the Leaf/Spine switches, the same configuration steps apply.

 

 

Step 1: Create scheduler with schedule windows

 

The CALLHOME feature will require a Scheduler Trigger for the Switch Policies.

 

Use the GUI to a create scheduler with schedule windows. For this task, use the admin user "admin" and the password "ins3965!". Note: users, roles, and passwords may be different in your test topology. If so, just use your user credentials when "admin"\"ins3965!" are referenced in this test case.

 

After you have logged into the Admin GUI, select ADMIN-->SCHEDULERS tab.

 

<< Screenshots in attached PDF >>

 

Use the Quick Start wizard to "Create a scheduler". Select "Create a scheduler”.

 

<< Screenshots in attached PDF >>

 

 

 

--> ADD a NAME & DESCRIPTION

--> Click "+" to CREATE SCHEDULE WINDOW. For this task, create a "One Time" and a "Recurring" window.

 

<< Screenshots in attached PDF >>

 

 

Create a "One Time" window.

--> Click "+" to CREATE SCHEDULE WINDOW. 

--> Select WINDOW TYPE "One Time"

--> Enter WINDOW NAME

--> Select DATE

--> Enter "5" for MAXIMUM CONCURRENT NODES

--> Accept "unlimited" for MAXIMUM RUNNING TIME

--> Click "OK" button to continue

 

<< Screenshots in attached PDF >>

 

 

 

Create a "Recurring" window.

--> Click "+" to CREATE SCHEDULE WINDOW

--> Select WINDOW TYPE "Recurring"

--> Enter WINDOW NAME

--> Select "every-day" for DAY

--> Enter "12" for HOUR

--> Enter "0" for MINUTE

--> Enter "5" for MAXIMUM CONCURRENT NODES

--> Accept "unlimited" for MAXIMUM RUNNING TIME

--> Click "OK" button to continue

 

<< Screenshots in attached PDF >>

 

 

--> Click "SUBMIT" to finish

 

<< Screenshots in attached PDF >>

<< Screenshots in attached PDF >>

 

 

 

 

Example of the API Source of Step 1 to be used with the POSTMAN REST API Client:

 

method: POST

http://172.18.217.211/api/node/mo/uni/controller/schedp-deadbeef_scheduler.json

payload

{"trigSchedP":{"attributes":{"dn":"uni/controller/schedp-deadbeef_scheduler","name":"deadbeef_scheduler","descr":"deadbeef_scheduler added by tdeleon@cisco.com","rn":"schedp-deadbeef_scheduler","status":"created"},"children":[{"trigAbsWindowP":{"attributes":{"dn":"uni/controller/schedp-deadbeef_scheduler/abswinp-deadbeef_onetime","name":"deadbeef_onetime","date":"2014-06-05T13:57:12.000Z","concurCap":"5","rn":"abswinp-deadbeef_onetime","status":"created"},"children":[]}},{"trigRecurrWindowP":{"attributes":{"dn":"uni/controller/schedp-deadbeef_scheduler/recurrwinp-deadbeef_recur","name":"deadbeef_recur","hour":"12","concurCap":"5","rn":"recurrwinp-deadbeef_recur","status":"created"},"children":[]}}]}}

response: {"imdata":[]}

 

 

 

 

STEP 2: Create CALLHOME Query Group and CALLHOME Monitoring Destination

 

After you have logged into the Admin GUI, select ADMIN-->EXTERNAL DATA COLLECTORS tab.

 

<< Screenshots in attached PDF >>

 

TASK 2.1: Create a query group

 

--> Use the "Quick Start" wizard to create a query group. Click "QUICK START" on the EXTERNAL DATA COLLECTORS panel on the left.

 

<< Screenshots in attached PDF >>

 

--> Select "Create a query group" from the "Quick Start" wizard

 

<< Screenshots in attached PDF >>

 

 

On the CREATE QUERY wizard, Define Name and Queries.

--> Add NAME

--> Click "+" to ADD QUERIES

--> Add NAME

--> Select SUBTREE for TARGET

--> Select FULL for RESPONSE SUBTREE

--> Check ALL boxes for RESPONSE SUBTREE INCLUDE

--> Click "OK" button to continue

 

<< Screenshots in attached PDF >>

 

 

--> Click "SUBMIT" to finish

 

<< Screenshots in attached PDF >>

<< Screenshots in attached PDF >>

 

 

 

Example of the API Source of TASK 2.1 to be used with the POSTMAN REST API Client:

 

method: POST

http://172.18.217.211/api/node/mo/uni/fabric/chquerygroup-deadbeef_query.json

payload

{"callhomeQueryGroup":{"attributes":{"dn":"uni/fabric/chquerygroup-deadbeef_query","name":"deadbeef_query","rn":"chquerygroup-deadbeef_query","status":"created"},"children":[{"callhomeQuery":{"attributes":{"dn":"uni/fabric/chquerygroup-deadbeef_query/chquery-deadbeef_query","name":"deadbeef_query","target":"subtree","rspSubtree":"full","rspSubtreeInclude":"event-logs,count,stats,state,port-deployment,tasks,relations-with-parent,health,fault-count,local-prefix,config-only,record-subtree,no-scoped,relations,health-records,audit-logs,deployment,required,faults,fault-records","rn":"chquery-deadbeef_query","status":"created"},"children":[]}}]}}

response: {"imdata":[]}

 

 

 

 

TASK 2.2: Create a Callhome Destination Group

 

--> Select "Monitoring Destinations" on the EXTERNAL DATA COLLECTORS panel on the left.

 

--> Right CLICK and Select + CREATE CALLHOME DESTINATION GROUP

 

<< Screenshots in attached PDF >>

 

 

From the CREATE CALLHOME DESTINATION GROUP wizard, add values for the all the fields listed on the STEP 1 > PROFILE page.

--> ADD requested values for CALLHOME DESTINATION GROUP PROFILE

--> Click "NEXT" to continue

 

<< Screenshots in attached PDF >>

 

 

For STEP 2 > DESTINATIONS page, add a CALLHOME DESTINATION

--> Click "+" to CREATE a DESTINATION

--> Add requested values

--> Click "FINISH" to finish

 

<< Screenshots in attached PDF >>

<< Screenshots in attached PDF >>

 

 

Example of the API Source of TASK 2.2 to be used with the POSTMAN REST API Client:

 

method: POST

http://172.18.217.211/api/node/mo/uni/fabric/chgroup-deadbeef_callhome_dg.json

payload

{"callhomeGroup":{"attributes":{"dn":"uni/fabric/chgroup-deadbeef_callhome_dg","name":"deadbeef_callhome_dg","descr":"deadbeef_callhome_dg added by tdeleon@cisco.com","rn":"chgroup-deadbeef_callhome_dg","status":"created"},"children":[{"callhomeDest":{"attributes":{"dn":"uni/fabric/chgroup-deadbeef_callhome_dg/dest-deadbeef_callhome_dest","name":"deadbeef_callhome_dest","email":"ciscok1d5002@gmail.com","format":"short-txt","rn":"dest-deadbeef_callhome_dest","status":"created"},"children":[]}},{"callhomeProf":{"attributes":{"dn":"uni/fabric/chgroup-deadbeef_callhome_dg/prof","from":"deadbeef_admin@cisco.com","replyTo":"tdeleon@cisco.com","email":"ciscok1d5002@gmail.com","phone":"+1-919-991-5651","contact":"Cisco Systems","addr":"7200-10 Kit Creek Road","contract":"020050432","customer":"05002","site":"27709-4987","rn":"prof","status":"created"},"children":[{"callhomeSmtpServer":{"attributes":{"dn":"uni/fabric/chgroup-deadbeef_callhome_dg/prof/smtp","host":"173.37.93.161","rn":"smtp","status":"created"},"children":[{"fileRsARemoteHostToEpg":{"attributes":{"tDn":"uni/tn-mgmt/mgmtp-default/oob-default","status":"created"},"children":[]}}]}}]}}]}}

response: {"imdata":[]}

 

 

 

 

STEP 3: Configure CALLHOME for Fabric -> Fabric Policies

After you have logged into the Admin GUI, select FABRIC-->FABRIC POLICIES tab.

 

<< Screenshots in attached PDF >>

 

 

TASK 3.1: Create a Switch Policy for CALLHOME INVENTORY

--> Select SWITCH POLICIES

--> Click "+" to expand SWITCH POLICIES

--> Click "+" to expand POLICIES

--> Select CALLHOME INVENTORY POLICIES

--> Right CLICK and Select + CREATE CALLHOME INVENTORY POLICY

 

<< Screenshots in attached PDF >>

 

 

--> Add NAME

--> Set Admin State to ENABLED

--> Set MAXIMUM-RETRY COUNT to 3

--> Select DESTINATION GROUP that was created in STEP 2

--> Select SCHEDULER that was created in STEP 1

--> Click "SUBMIT" to finish

 

<< Screenshots in attached PDF >>

<< Screenshots in attached PDF >>

 

 

Example of the API Source of TASK 3.1 to be used with the POSTMAN REST API Client:

 

method: POST

http://172.18.217.211/api/node/mo/uni/fabric/chinvp-deadbeef_inventory.json

payload

{"callhomeInvP":{"attributes":{"dn":"uni/fabric/chinvp-deadbeef_inventory","name":"deadbeef_inventory","maximumRetryCount":"3","rn":"chinvp-deadbeef_inventory","status":"created"},"children":[{"callhomeRsDestGroupRel":{"attributes":{"tDn":"uni/fabric/chgroup-deadbeef_callhome_dg","status":"created"},"children":[]}},{"callhomeRsInvScheduler":{"attributes":{"tnTrigSchedPName":"deadbeef_trigger","status":"created,modified"},"children":[]}}]}}

response: {"imdata":[]}

 

 

 

TASK 3.2: Create a DEFAULT Monitoring Policy for CALLHOME/SNMP/SYSLOG

--> Select MONITORING POLICIES

--> Click "+" to expand MONITORING POLICIES

--> Click "+" to expand DEFAULT

--> Select CALLHOME/SNMP/SYSLOG

 

<< Screenshots in attached PDF >>

 

--> Click "+" to CREATE CALLHOME SOURCE

--> Add NAME

--> Check ALL boxes for INCLUDE

--> Accept ALERTS for LEVEL

--> Select DESTINATION GROUP that was created in STEP 2

--> Select SCHEDULER that was created in STEP 1

--> Click "SUBMIT" to finish

 

<< Screenshots in attached PDF >>

<< Screenshots in attached PDF >>

 

 

Example of the API Source of TASK 3.2 to be used with the POSTMAN REST API Client:

 

method: POST

http://172.18.217.211/api/node/mo/uni/fabric/monfab-default/chsrc-deadbeef_callhome_src.json

payload

{"callhomeSrc":{"attributes":{"dn":"uni/fabric/monfab-default/chsrc-deadbeef_callhome_src","name":"deadbeef_callhome_src","incl":"events,audit,faults","rn":"chsrc-deadbeef_callhome_src","status":"created"},"children":[{"callhomeRsDestGroup":{"attributes":{"tDn":"uni/fabric/chgroup-deadbeef_callhome_dg","status":"created"},"children":[]}},{"callhomeRsQueryGroupRel":{"attributes":{"tDn":"uni/fabric/chquerygroup-deadbeef_query","status":"created"},"children":[]}}]}}

response: {"imdata":[]}

 

 

 

 

TASK 3.3: Create a COMMON Monitoring Policy for CALLHOME/SNMP/SYSLOG

--> Select MONITORING POLICIES

--> Click "+" to expand MONITORING POLICIES

--> Click "+" to expand COMMON

--> Select CALLHOME/SNMP/SYSLOG

--> Right CLICK and Select + CREATE CALLHOME SOURCE

 

<< Screenshots in attached PDF >>

 

 

--> Add NAME

--> Check ALL boxes for INCLUDE

--> Accept ALERTS for LEVEL

--> Select DESTINATION GROUP that was created in STEP 2

--> Select SCHEDULER that was created in STEP 1

--> Click "SUBMIT" to finish

 

<< Screenshots in attached PDF >>

<< Screenshots in attached PDF >>

 

 

Example of the API Source of TASK 3.3 to be used with the POSTMAN REST API Client:

 

method: POST

http://172.18.217.211/api/node/mo/uni/fabric/moncommon/chsrc-deadbeef_callhome_src.json

payload

{"callhomeSrc":{"attributes":{"dn":"uni/fabric/moncommon/chsrc-deadbeef_callhome_src","name":"deadbeef_callhome_src","incl":"events,audit,faults","rn":"chsrc-deadbeef_callhome_src","status":"created"},"children":[{"callhomeRsDestGroup":{"attributes":{"tDn":"uni/fabric/chgroup-deadbeef_callhome_dg","status":"created"},"children":[]}},{"callhomeRsQueryGroupRel":{"attributes":{"tDn":"uni/fabric/chquerygroup-deadbeef_query","status":"created"},"children":[]}}]}}

response: {"imdata":[]}

 

 

 

STEP 4: Configure CALLHOME for Fabric -> Access Policies

After you have logged into the Admin GUI, select FABRIC-->ACCESS POLICIES tab.

 

<< Screenshots in attached PDF >>

 

 

--> Select MONITORING POLICIES

--> Click "+" to expand MONITORING POLICIES

--> Click "+" to expand DEFAULT

--> Select CALLHOME/SNMP/SYSLOG

 

<< Screenshots in attached PDF >>

 

 

--> Click "+" to CREATE CALLHOME SOURCE

--> Add NAME

--> Check ALL boxes for INCLUDE

--> Accept ALERTS for LEVEL

--> Select DESTINATION GROUP that was created in STEP 2

--> Select SCHEDULER that was created in STEP 1

--> Click "SUBMIT" to finish

 

 

<< Screenshots in attached PDF >>

<< Screenshots in attached PDF >>

 

 

Example of the API Source of Step 4 to be used with the POSTMAN REST API Client:

 

method: POST

http://172.18.217.211/api/node/mo/uni/infra/moninfra-default/chsrc-deadbeef_callhome_src.json

payload

{"callhomeSrc":{"attributes":{"dn":"uni/infra/moninfra-default/chsrc-deadbeef_callhome_src","name":"deadbeef_callhome_src","incl":"events,audit,faults","rn":"chsrc-deadbeef_callhome_src","status":"created"},"children":[{"callhomeRsDestGroup":{"attributes":{"tDn":"uni/fabric/chgroup-deadbeef_callhome_dg","status":"created"},"children":[]}},{"callhomeRsQueryGroupRel":{"attributes":{"tDn":"uni/fabric/chquerygroup-deadbeef_query","status":"created"},"children":[]}}]}}

response: {"imdata":[]}

 

 

 

STEP 5: Verify CALLHOME feature is working

 

Check your EMAIL Client for the DESTINATION GROUP that was created in STEP 2 to see if the account is receiving CALLHOME messages from the Cisco ACI fabric system.

 

<< Screenshots in attached PDF >>

Comments
michelvankessel
Level 5
Level 5

Hello,

Could you please tell me if this example is still valid for version 1.1.3f ? It does not seem to work anymore

Many thanks in advance

Michel van Kessel

Tomas de Leon
Cisco Employee
Cisco Employee

Added a new attachment which works with 1.1(3f)

michelvankessel
Level 5
Level 5

Hello Tomas,

what is the easiest way to troubleshoot the callhome setup? I tried this configuration, but no email is send. (yet)

I do see there is a error message saying "Callhome message failed to send to destination michel@...... Please check smtp server config" 

I tried several SMTP settings, but i cannot see what is happening in  the background. Do you know where the send attempt is logged? In which logfile? 

many thanks in advance

regards

Michel van Kessel

raugusti
Level 1
Level 1

Hi Tomas,

 

first, I'd like to thank you for all those great posts; searching through various ACI docs for the right piece of info is often tedious work. Your posts keep my attention even when they don't cover any of my current ACI related challenges. 

 

Back to my issue with the callhome: I'm running version 3.2(1m) and I followed your doc (totd-apic-callhome-example_01.pdf) but something is wrong. It will help a lot if you can answer following questions:

1. If I complete first two steps ("Create a scheduler" in step one and "Callhome Query Group" plus "Callhome Destination Group" in step two) should I see anything in the output of "show callhome common" command? In other words, what is the minimal callhome related config so I can see something in the output of "show callhome" related commands (like "show callhome common destination-profile" and "show callhome common transport-email" etc...

2. Is callhome email always sent from APIC or each device generates its own email? In other words, will leaf or spine switch generate its own callhome email if one power supply stops working or APIC is going to do it for them?

3. Can you clarify purpose of steps three (Configure Callhome for Fabric -> Fabric Policies) and four (Configure Callhome for Fabric -> Access Policies)? Is callhome enabled per switch or for complete ACI environment (if I want to have a pair of switches for testing purposes and need callhome for everything except those two)?

4. Finally, is your callhome config expecting some pre-configured environment? If I have brand new ACI (or I removed any previous config and only applied OOB IP addresses) should described callhome procedure work?

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: