Description

Every instance of a contrail compute node runs nova-compute and contrail-vrouter-agent processes. This article provides a list of all vrouter agent introspects which can be examined to monitor and troubleshoot vrouter agent processes.

Solution

Contrail vRouter Agent Introspect can be accessed via HTTP port 8085 ( http:// <ip-address-of-compute-node> :8085/ ). Various links are accessible from here, and can be used to see the current operational data in the vrouter agent.
 
Complete list of available agent introspects:

http:// <ip-address-of-compute-node> :8085/agent.xml shows agent operational data. Using this introspect, you can see the list of interfaces, VMs, VNs, VRFs, Next hops, MPLS labels, Security groups,ACLs and  Mirror configurations.


<agent type="rlist">
<PageReq type="sandesh">
<key type="string">0
<AgentInitStateReq type="sandesh">

<SgListReq type="sandesh">
<name type="string">0
<VnListReq type="sandesh">
<name type="string">0<uuid type="string">0<vxlan_id type="string">0<ipam_name type="string">0
<VmListReq type="sandesh">
<uuid type="string">0
<NhListReq type="sandesh">
<type type="string">0<nh_index type="string">0<policy_enabled type="string">0
<VrfListReq type="sandesh">
<name type="string">0
<Inet4UcRouteReq type="sandesh">
...

VrfListReq introspect can be accessed via http:// <ip-address-of–compute-node> :8085/Snh_VrfListReq . The URL is created by pre-pending ' Snh _' to the sandesh agent name ' VrfListReq ' (marked bold in the output above :8085/agent.xml ). Similar to this,  Snh_VnListReq can be used to get VnListReq sandesh introspect, for example.

http:// <ip-address-of-compute-node> :8085/controller.xml  shows agent <-> controller related statistics, such as current XMPP connections with the control node (XMPP server), the status and stats on these connections:


<controller type="rlist">
<AgentXmppConnectionStatusReq type="sandesh">

<AgentDnsXmppConnectionStatusReq type="sandesh">

<AgentDiscoveryXmppConnectionsRequest type="sandesh">

<AgentDiscoveryDnsXmppConnectionsRequest type="sandesh">


AgentXmppConnectionStatusReq  sandesh introspects can be observed on http:// <ip-address-of-compute-node> :8085/Snh_AgentXmppConnectionStatusReq? Again, the URL is created by pre-pending  'Snh' to the sandesh agent name. 
 
The same method for creating URLs, and making HTTP requests can be used to gather statistics information for all other agent introspects.

List of most useful introspect pages:

  • cpuinfo.xml - shows the CPU load and memory usage on the compute node.
  • ifmap_agent.xml - shows the current configuration data received from ifmap.
  • kstate.xml - shows data configured in the vrouter (kernel) module
  • pkt.xml - shows the current flow data in the agent
  • sandesh_trace.xml - gives the module traces
  • services.xml - provides stats and packet dumps for control packets like DHCP, DNS, ARP, ICMP.