Cisco ACI Plugin

Hello,

We are planning to develop a Cisco ACI plugin. I saw at the conference #8 that on the voting board the PostIt had about 10 votes.

Before we start coding, I wanted to ask if anyone has already done some checks for Cisco ACI?

Our idea is to write a special agent plugin. Ideas and inputs are welcome. If you are interested in providing inputs, please contact me.

Is anyone else interested in such a plugin?

2 Likes

Hi,
we are currently evaluating how we will integrate ACI into checkmk. Our current plan is to simply use a “local check” using a Python script. Our approach is agentless on the ACI side. Checks are implemented using a poll mechanism from checkmk (like SNMP-GET) for important key performance and fault indicators, which are relevant for us. We’ll use the REST API of the APIC to poll the information, either raw using Python requests or by using the Cisco ACI cobra framework.

Some ACI classes, which we intend to monitor using REST-API queries along with specific filters:

  • faultInst: To get ACI related errors
  • bgpPeerP: BGP peerings
  • bfdSess: BFD sessions
  • ethpm.DOMRxPwrStats: Transceiver DOM threshold monitoring

In any case, if there should be a push based mechanism from APIC, our approach will be using websockets. Our design principle was that no piece of software, app whatever must be deployed in APIC to enable checkmk montoring, because interop testing will be difficult on both sides (APIC upgrade => check plugins, checkmk upgrade => check plugin). If using standard based mechanisms (REST-API or webhooks), the APIC only must be tested whether these methods works generically for all use-cases.

For the webhook documentation: Cisco APIC REST API Configuration Guide, Release 4.2(x) and Later - Using the REST API [Cisco Application Policy Infrastructure Controller (APIC)] - Cisco
=> Chapter “Subscribing to Query Results”