Integrate System data to the Metrics Service
In December 2021, with the launch of Zowe 1.26, a technical preview of the API ML Metrics Service was made available that visualizes the requests going through the API Mediation Layer services. The Metrics Service is a separate Java service written with Spring Boot which is dynamically onboarded to the Discovery Service.
The data within the service are visualized with the help of the Turbine and Hystrix streams coming from the service. This allows for very limited customization.
Epic Objective: Display system metrics Retrieve the information about the system the services are running on and visualize them. In order to do so the visualization part will need to be improved. Within the context of the zOS there is a ZEBRA project within Zowe that provides a service collecting metrics around the specific system. For display, a pre-built solution UI would be used.
A further step would be to generalize the system metrics functionality such that any metrics collection service could be used to display system metrics, rather than directly relying on ZEBRA. This aspect is a stretch goal.
Improved information about the system the services are running on, and the services themselves, would include log aggregation. The Metrics Service could provide functionality that collects all relevant logs together for review, and potentially run processing on the logs. This goal would involve research of options of how to achieve log aggregation, and is a stretch goal.
Related Issues
https://github.com/zowe/api-layer/issues/1101
https://github.com/zowe/api-layer/issues/1099
https://github.com/zowe/api-layer/issues/871
https://github.com/zowe/api-layer/issues/1086
Stretch Objective: Improve user experience Enhance the user interface of the Metrics Service and provide useful information to guide the user experience. The Turbine dashboard used to display HTTP metrics is not ideal for multiple reasons and could be replaced with an improved UI. Pre-built options could be used, but unless they can be directly embedded they place a pre-requisite on users. Either an embedded pre-built option can be used to replace the Turbine dashboard, or a custom-built UI display can be created.
Additionally, once system metrics are supported and displayed, it would be ideal to have them displayed in a consistent manner, meaning both HTTP and system metrics should use the same solution.
Another aspect of this goal is to improve information around how to use the Metrics Service. A user tour can be created for the service, as well as a clear feedback mechanism for users to give input on new features they would like to see and bugs they want fixed. Related Issues https://github.com/zowe/api-layer/issues/872 https://github.com/zowe/api-layer/issues/1045 https://github.com/zowe/api-layer/issues/1100