New system reports (project Dante)

Hi all,
we are proud to announce our brand new project named Dante inspired by Dante Alighieri and his famous Divina Commedia.

This project provides a beautiful recap of your system by collecting data from logs, databases, services, files and showing the results in a fully customizable dashboard running directly on your system.

You can also customize the interval date to show the statistics and send it via mail to different addresses.

Structure

The project is composed by four parts:

  • Beatrice: it’s a single page application written in VueJs that shows the statistics in a beautiful dashboard, fully customizable by drag and dropping widgets
  • Caronte: it’s a nodeJS application that screenshots the dashboard and its statistics and sent it via mail to the chosen addresses with a PDF as attachment
  • Ciacco: it’s the wrapper of all miners (the scripts that collects statistics from data in the system) that is executed every day
  • Virgilio: it’s the server written in Go that send statistics from server to the dashboard, doing the dirty job by counting and aggregating data in defined date interval

Like others NethServer module, Dante has its own configuration package inside the Cockpit UI, the name is nethserver-dante.

Preview

The UI it’s very simple and intuitive, there are 2 main components:

Navbar


Where you can choose:

  • Date interval: Last week, Last month, Last 6 months
  • Colors: you can choose 9 different color palettes to change charts colors
  • Full search: you can search the widget in the dashboard by typing text in the search input
  • Theme: there are 2 different themes for the UI: Light and Dark

Dashboard

White theme

Example 1

Example 2

Dark theme

Example 1

Example 2

Edit mode

You can customize the layout of the dashboard clicking on the Edit widgets button in the right top corner

Add/Remove widget

You can also add and remove the widgets in the dashboard creating a personal layout

Widgets

There are 6 different types of widgets:

  • Chart: pie, bar, lines charts with data visualized
  • Counter: contains last values aggregated, the values in the interval date and the final trend
  • Table: a simple table to show list of values
  • Ranking: the top N items of a particularly list
  • Label: simple label tho show only text
  • Title: customizable text widget to better organize dashboard layout

Mail Preview

You can decide mail recipient and when the email will sent, the email looks like this:

The attached PDF is a completely full export of the dashboard.

NethServer module preview

In the settings page of nethserver-dante module, you can configure each of the above described feature in the classical way.

Install

You can easily install dante and nethserver-dante with this command:

yum install --enablerepo=nethserver-testing nethserver-dante

References

Dante
NethServer Dante
Issue

Authors

Andrea Leardini @andre8244
Edoardo Spadoni @edoardo_spadoni
Giacomo Sanchietti @giacomo

11 Likes

Oh I do like the look of this project!

I’ll give it a try at some point.

1 Like

Why is needed wayland?

Hello, great idea, installed it for testing but still say “Loading”

Thank, any feedback is appreciated :wink:

Caronte, the software which sends the mail notification, creates a PNG and a PDF preview of the report attached to the mail. To create such previews it uses puppeteer, an headless Chrome, which needs come graphic libraries as dependency. But no X server is run inside the server!

That’s because Ciacco hasn’t still executed any miner. You need to wait until tomorrow, or move to the command line and execute:

ciacco

Do you think we should add a button inside the Cockpit UI to execute the data mining at least for the first time? (We can’t add it to report UI because it runs with very low privileges).

Or is it better to add an info saying “Data are still not ready, wait until tomorrow” ?

1 Like

think a note with the info wait for tomorrow for first data should be working

1 Like

now i got a message from the system
Validation failed: Language not found when i try to safe settings.

1 Like

Isn’t it possible to run the ciacco command automatically at the end of the install-routine?

Sorry, it was a last-minute change from yesterday afternoon, it should be fixed in the latest nethserver-dante package from cockpit.

Technically it could be done, but I fear problems because the process can take minutes. In that case it will block the yum transaction, which is always a bad idea because it could lead to a broken system.

says it is the last version:
Package nethserver-dante-0.0.0-1.15.g5195626.ns7.noarch already installed and latest version

Latest version is nethserver-dante-0.0.0-1.16.ga82e924.ns7.noarch.rpm

If it doesn’t install, use these commands:

yum --enablerepo=nethserver-testing clean all
yum --enablerepo=nethserver-testing update \*dante\*
1 Like

works perfect right now :slight_smile:

1 Like

Amazing job!! :heart:

just a short question, by sending the reports to a mail adress the report send with an adress no-reply@server.xxxxxxx.com but it takes the name of the system within. so that its not possible to send it maybe to an relay cause the domain is not existent.

So I would prefer a button.

1 Like

You need to configure the option inside Cockpit global settings:
System -> Settings -> Email notifications -> Sender address (From:)

The configuration will apply also to all root notifications (like cron).

1 Like

works like a … paddle wheel steamer :rofl: thanks for teaching also this

1 Like

Both would be great.

Maybe with a button “gather data now”, and a… time countdown?