Hi,

We have discussed (APIM team and analytics team) and came to a decision to
implement the health monitor for APIM as a separate Java client. The
following diagram depicts the architecture of the health monitor.


​

   - Health checker incorporates the full life cycle of an API, therefore
   it is located outside the firewall and can be viewed by the admin of the
   APIM.
   - This client consumes quota from the whole API, therefore the client
   needs to manage it.
   - This Java client will ping (call API methods from the client) the APIs
   periodically (hourly, daily, weekly) and tracks the status codes of the
   responses.
   - For each API, there will be a separate thread spawned and that thread
   will keep track of that API.
   - This information will be published to DAS inside the firewall using
   HTTPS protocal.
   - Based on the status code, a status will be reported as one of the
   following (These are to be decided):
      1. Healthy - 2xx
      2. Some problems occurred during the time period - 4xx
      3. Failures reported - 5xx
   -  Following configuration information will be given the the health
   monitor using a yaml file:
      - APIM credentials:
         - APIM username
         - APIM password
      - APIM configuration info:
         - APIM host
         - APIM port
         - Application name
         - Application tier
         - Application key type
         - Application key validity time (default -1, infinitely valid)
         - Information of APIs:
            - API name
            - API url
            - API version
            - API provider
            - API tier
            - API parameters (if available)
            - API payload (if available)
         - DAS creadentials:
         - DAS username
         - DAS password
      - DAS configuration info:
         - DAS receiver url
      - An email notification can be configured to be sent when a failure
   is reported for an API.

WDYT?

Best regards.

References:

[1] API metrics: http://apimetrics.io/check-api-health/
-- 
Pruthuvi Maheshakya Wijewardena
mahesha...@wso2.com
+94711228855
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to