Continuous integration in the cloud needs monitoring in order to keep build servers running smoothly.
Without monitoring the integration might get interrupted; networks’ problems or running out of disk space or RAM are the most common problems which can happen at any moment. If the monitoring doesn’t work it will take time before the integration is running again and that would be really against the very concept of Continuous Integration. If you get notifications promptly you can react and prevent the issues before those become problems. Alerts with detailed information delivered by email, SMS or Jabber instant messaging ensure that issues are solved quickly. For monitoring we use Zabbix, an enterprise-class open source distributed monitoring solution.
With Zabbix we can monitor our build servers’ status 24/7 and get notifications when there is a need for administrative tasks. It also helps us greatly with resource planning, when it’s time to extend server capacity or increase amount of the servers for build process.
Cloud instances with pre-installed and configured Continuous Integration tools can be launched at any time and first builds started right after. Therefore we need to get also the new instances under monitoring instantly. Using Zabbix’s network discovery, IP ranges are periodically scanned using the discovery rules. Each build server has a Zabbix agent installed and that enables us to get detailed status of the server and even run remote commands for certain alerts. Zabbix has native agents for several OSes. We have servers running on different versions of Windows and Linux and with Zabbix we can use native agents for detailed monitoring. Using the host templates the maintenance is made easy as it allows you define sets of items, triggers and graphs for host. Zabbix also offers a high level view of monitored resources and graphic visualisation of monitored values which makes easy to see data from different angles. Having build servers running in the cloud and Zabbix monitoring health and integrity of the servers ensures that integration is really continuous and most importantly, we at Bitbar take care of all this so that our customers can focus on developing their own products and do not have to worry about administrative chores like monitoring build servers’ availability.