GENI Monitoring System
The Global Environment for Network Innovations (GENI) is a virtual laboratory providing resources for users to research distributed systems and networking as well as provide distributed computing resources for use in education. The University of Kentucky has been involved in many facets of the GENI project, one of which is the GENIMonitoring system I’ve worked on. The goal of the project is to collect information about the overall GENI infrastructure and monitor it for overall system health. In order to collect said information, it was first necessary to gain an understanding of the topology. This is accomplished by crawling an exposed API to map out GENI infrastructure endpoints from which to query data. Given these endpoints, another portion of the monitoring system then polls for historical metric information, which is then streamed through an ESPER query system to allow automated alerting based on configurable event parameters, as well as formatted in summation reports to provide utilization statistics of the overall system. Finally, this information is exposed to experimenters and system administrators through an open API.