For users using monitoring module, migrating their custom dashboards, navigation items and permissions and restrictions to Icinga DB Web has been made easier with the recent Icinga DB Web release (v1.1.1) through its migrate command.
Once Icinga DB Web has been upgraded to v1.1.1, run the command icingacli icingadb migrate --help
to see the avaliable actions under migrate command and what each action does.
The migrate command offers the following four actions:
1) role
2) dashboard
3) navigation
4) filter
In this blogpost I will discuss what each action does.
Role
After migrating to Icinga DB, it is important that the users have similar permissions and restrictions for Icinga DB Web as that of the monitoring module. So to make this hassle free, the Icinga DB Web migrate command provides role action.
To demonstrate this, I have created a role testrole with the user testuser having monitoring permissions and restrictions as shown below.
After running the the following migrate command, the permissions and restrictions of the role testrole are migrated to Icinga DB Web.
icingacli icingadb migrate role --role=testrole
This could be seen in the figure below.
The migrate command migrates all permissions and restrictions configured for the monitoring module to Icinga DB Web except for the permissions Full Module Access and General Module Access. These permissions must be adjusted manually. This allows the user to look into the migrated permissions before actually being applied for the users.
Dashboard
Icinga Web has made monitoring simpler by allowing the creation of custom dashboards. Hence it is important to migrate the custom dashboards that references the views of the monitoring module to Icinga DB Web. This could be achieved effortlessly and efficiently, using the dashboard action.
To demonstrate this, I have created a dashboard for the user testuser as show in the figure below.
To migrate the dashboards for the testuser, I run the following command.
icingacli icingadb migrate dashboard --user=testuser
The figure below shows the migrated dashboard for the testuser.
Navigation
The navigation items provided by the monitoring module (host-action and service action) and the custom menu items pointing to the monitoring views are migrated using the navigation action.
To demonstrate this action, I have created a navigation item of type host action for the testuser as shown below.
The navigation item belonging to the testuser is migrated to Icinga DB Web using the following command:
icingacli icingadb migrate navigation --user=testuser
The command retains the host action of the monitoring module and creates a new Icinga DB host-action as shown in the figure below. But if you use the optional option –no-backup the host-action of the monitoring module will be deleted.
Filter
This action is to support the users who have already been using Icinga DB Web and want to update the old wildcard filters with the newer one in dashboards, navigation items and roles.
This is necessary because if a Icinga DB Web dashboard is created using the old wildcard filter, the list will be empty as shown in the figure below.
Once the filters are migrated then the dashboard will have the new wildcard filter, and the list as shown in the figure below.
Similarly, the restrictions with old wildcard filter will also be transformed using filter action, as shown below.
Before filter migration:
After filter migration:
Conclusion
By default all these actions creates a backup. But the migration command also provides an option to migrate without a backup using the option –no-backup.
If you are planning to migrate to Icinga DB which has a lot of cool features, you could first look at this blogpost. To learn more about the Icinga DB Web migration refer to this documentation.