Hi all,

I am currently working on the first phase of the project creating a
Management Dashboard for Micro-gateways.

Introduction

The WSO2 API microgateway is a  lightweight message processor which is used
for message security , transport security, routing and other common API
management services. So that it is important to have a management dashboard
for these micro gateways to keep track of the micro services.

Issue

Currently up and running micro-gateways can not be monitored from a
dashboard. When there are plenty of microgateways exposing several
APIs/microservices , there should be a dashboard available in API manager
Admin portal in order to know the state and details of these
micro-gateways. We can use either push or pull method in order to notify
about the up and running microgateways.

Push Method

Pros :

   -

   No unnecessary traffic. The data is pushed only when the data becomes
   available.
   -

   In this scenario , both endpoints stay idle until some information is
   sent to the admin portal.
   -

   The admin portal keeps the connection to the other endpoint (micro
   gateway) constantly active, so get the new information instantly.


Cons :

   -

   Sometimes the data will arrive at an unwanted time when the admin portal
   is not ready for it. However this can be remedied by using a dependency
   constraint.


Option 1:
We can store the data that we receive from the mocrogateways in a database
and then push those data to be displayed in the Management Dashboard.

Option 2:

    Otherwise we can keep those data in memory and then push those to be
displayed in the management dashboard.


Solution

We can implement a User Interface(dashboard) in the APIM Admin portal to
monitor the micro gateways and push or pull (REST API) mechanism support of
notifying in Micro gateway side. When considering the push and pull method,
it will be efficient to use the Push method for this due to the above
mentioned pros and cons. In the dashboard it will be useful to display some
of the following features.


   -

   Currently up and running microservices



   -

   Status of the microservices (up or down)



   -

   The uptime of the exposed micro services



   -

    Request Counter (No.of requests served , No.of failed requests, No.of
   successful requests)



   -

   Request Failure rate



   -

   No.of requests per second(Throughput)



Rough sketch of a dashboard

[image: dashhhhhhhhboard.png]
I have created a  swagger specification for this. Please find it attached
below. And highly appreciate your thoughts on this $subject.

Thanks!


-- 
*Kavindi Gunasinghe* | Intern - Engineering | WSO2 Inc. <http://wso2.com/>
(M)+94 773058210 | (E) [email protected] <[email protected]>
<https://wso2.com/signature>

Attachment: swagger_definition.yaml
Description: application/yaml

_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to