My name is Jeroen Baten. I work in the ICT-OS (Operational Systems) department of Deltares.
Recently we developed a CMDBuild REST interface Python module. This article describes this work.
About ICT-OS department
At the ICT-OS department we try to facilitate our 600 highly skilled experts with the tools they need to do their work. This means we manage over 500 (a number that is increasing fast) virtual machines on our internal infrastructure. One of the more popular applications is the platform- independent FEWS (Flood Early Warning System) application that is heavily used internally and at over 40 sites in the world, in which case we can adapt it to client wishes regarding use, database and a number of other parameters. Most of our internal systems are running on Centos, using PostgreSQL and, of course, in many cases our FEWS application (https://www.deltares.nl/en/software-solutions/). We prefer to use open source tools as much as possible.
For the last 3 years we have used CMDbuild as the tool at the heart of our infrastructure. We have devised a setup wherein we define “Products”, consisting of one or more “Applications”, containing “Services”, provided by “Service Instances”, provided by “Servers”. We use this to keep track of our rather large inventory of systems and their respective owners. We also use it to gather all information out of CMDBuild to import into Zabbix to automatically configure the monitoring of our systems. We also use it to check for several, what we call, “violations”. Like: “Is there a valid IP address associated with this server?” or “is there a DNS entry for this IP address?”.
The first generation of our cmdb2zabbix interface used a SQL-select statement to generate a large data object and then push that data object to the REST interface of Zabbix.
The cmdb2zabbix version that is currently under development is a rewrite to Python with a python module to interface to CMDBuild, a python module to interface to Zabbix, and a python module containing Deltares Way-Of-Working. The CMDBuild REST interface allows us to interface to the application independent of the underlying data model. This way we can update CMDBuild without having to worry about whether or not the data model has changed. We have to do this to keep our technical debt as low as possible.
After this is done, we plan to use CMDBuild as our central tool for automatic provisioning of our systems.
The CMDBUild Python module has been published under an Apache 2.0 license and can be found on GitHub (https://github.com/kwoot/cmdbuild-python-lib).
Deltares is an independent institute for applied research in the field of water and subsurface. Throughout the world, we work on smart solutions, innovations and applications for people, environment and society. We focus on five expertises:
- Flood Risk
- Sustainable Planning
- Water & subsoil resources
Our main focus is on deltas, coastal regions and river basins. Managing these densely populated and vulnerable areas is complex, which is why we work closely with governments, businesses, other research institutes and universities at home and abroad. That is why our motto is “Enabling Delta Life”. As an applied research institute, the success of Deltares can be measured in the extent to which our expert knowledge can be used in and for society. For Deltares the quality of our expertise and advice comes first.
Knowledge is our core business
All contracts and projects, whether financed privately or from strategic research budgets, contribute to the consolidation of our knowledge base. Furthermore, we believe in openness and transparency, as is evident from the free availability of our software and models. Open source works, is our firm conviction. Deltares employs over 800 people and is based in Delft and Utrecht.
Posted on: 25 September 2015
Posted by: Jeroen Baten
Office/Role: ICT-OS (Operational Systems)