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