Hygieia

Hygieia – The Integrated Dashboard From Project Management to the Release

41 VIEWS

·

Hygieia is an open source dashboard tool developed by CapitalOne that provides visibility to developers and product owners. It integrates with code repositories, allows a view of the complete delivery pipeline in near real-time, and provides analysis of quality and performance. In this post, we will install the Hygieia dashboard on MacOS, configure the code repository with Bitbucket, and include a URL monitor. I will also provide a high-level review of installing and getting started with Hygieia.

Installing MongoDB

The prerequisites to installing Hygieia are Java, npm, Bower, Glup, Maven, and MongoDB.

First, we’ll install MongoDB.

We’ll install wget and download MongoDB via the website. Because we’re using MacOS, we can install wget with Homebrew:

Then, download the latest version of MongoDB:

Extract it:

In another terminal section, access the interactive shell of MongoDB:

Define the database:

Create a user with permission to write in the dashboarddb database:

To finish, get out of the MongoDB shell.

Installing Hygieia

Next, install Maven with Homebrew:

Download Hygieia from GitHub using Git:

Go to the Hygieia directory:

Run the Maven build. (This could take a while):

Create a file called api.properties to set up the configuration of Hygieia:

Open the file and include the properties below:

We can now start the Hygieia API with the JAR created with Maven, informing the properties file as a parameter:

Now, test if Hygieia is running, accessing the API URL:
http://localhost:8080/api/ping

(The expected result is only the exhibition of the word true.)

Installing the Hygieia UI

To access the Hygieia UI, we need to start a frontend project. Access the UI directory:

This project next needs Glup (a JavaScript tool that lets you automate mundane or time-consuming development tasks) to execute the command that will start the server. We can install Glup with npm:

Now, install the frontend project’s dependencies:

A new tab or browser window should open with the URL to access the project. If not, access the following URL:

http://localhost:3000/

Adding the Bitbucket feature

Inside the Hygieia directory, access the folder of the Bitbucket module:

Run Maven to install it:

Create a property file to set up the configuration:

Open the file and include the same configuration of MongoDB that was set up in api.properties. Additionally, you’ll need to set the configuration of your Bitbucket account. In bitbucket.key, you’ll need to access the public key associated with your Bitbucket account.

Now, start the module informing the configuration file as parameter:

Creating a dashboard

Accessing the UI project in the browser, we can create a new account to manage the dashboard. Open the http://localhost:3000 URL and click on “Don’t have an account?” to create a new account.


Just fill in the username, password, and the password confirmation to create a new account. Then, go back to the login page and sign in.

Click on “Create a new dashboard” to start the configuration of the developer dashboard.


As shown in the image of the form below, select Team Dashboard, and Select Widgets. This will allow you to select the features that will be available in your dashboard. Next, define the title, the application name, and click on “Create.”


On the next screen, select Repo, Monitor, and then click on “Create” to finish. The Repo widget will provide the configuration with Bitbucket to show the statistics of the repository. The monitor provides the URL status check with ping.

Configure Bitbucket

With the dashboard created, click on the name of the dashboard to access it. On the dashboard page, click on “Configure widget” below the Repo feature.

The Repo type is a list of all modules installed to access the code repositories. The installation of the modules is similar to our installation of Bitbucket.

Under Repo Type, choose Bitbucket. Paste the URL of the project inside the Repo URL field and define the branch that this widget will be associated with. Next, set the username and password if the repository is private. Then, click on “Save” to connect with Bitbucket.

Now we can see the statistics of the commits, pull requests, and issues of this branch.

Adding the URL monitor

Another feature that we will set up is the monitoring of URLs. This is a standard feature provided by Hygieia, and no installation is necessary. On the dashboard page, click on the engine icon on the right side of the Monitor feature.

Click on “Add service” and fill in the URL and a name for the application that you want to monitor. Then, click on “Save,” and wait for the icon to change to a green check according to the status received by the ping.

Our configured dashboard will look like the screen below with the widgets configured.

Conclusion

The Hygieia dashboard is a complete tool that lets you follow the flow of development of an application. There are several other features and widgets not discussed here that deserve a look (such as the configuration of Jenkins and Jira). With Hygieia, we can create dashboards that show the status of the project to the project manager, developers and the DevOps team. You can also create your own collector and associate it with other services you use, and you can add new widgets to customize the visualization of your data.

Do you think you can beat this Sweet post?

If so, you may have what it takes to become a Sweetcode contributor... Learn More.

Software Engineer with experience in analysis and development of systems. Free software enthusiast and apprentice of new tech.


Discussion

Click on a tab to select how you'd like to leave your comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Menu