Code Monkey home page Code Monkey logo

ercole-web's People

Contributors

afumagalli98 avatar amreo avatar cirelli94 avatar dependabot[bot] avatar ljcastrolemons avatar mbolis avatar rcmaiolini avatar simonerota avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ercole-web's Issues

UX test labels on menu

We should do a usability test for the reduced menu with or without labels under icons.

Add Hosts page

We must add an "Hosts" page to show the list of hosts returned from a call to /hosts with the selected filters.

We must have a button to open a panel/window/section for filters, which normally must be hidden.
We must have all filters allowed from the /hosts api (take a look at https://github.com/ercole-io/ercole/blob/master/swagger.yml ).
All filters allow empty value.


At the bottom of the page we must have two buttons:

  • Export data that call /hosts with the active filters and with Header set to Accept=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet and save output file.
  • LMS audit file that call /hosts with the active filters and with Header set to application/vnd.oracle.lms+vnd.openxmlformats-officedocument.spreadsheetml.sheet and save output file.

Here an example with cURL:

curl --location --request GET 'http://dev.ercole.io/api/hosts' \
--header 'Accept: application/vnd.oracle.lms+vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
--header 'Authorization: Basic dXNlcjpwYXNzd29yZA=='

Change menu behaviour and icons

We should change menu behaviour: we need an hamburger button at the left of ercole icon to reduce / expand menu, without expand on hover.

We should change some icons (those are font-awesome icon name):

  • Dashboard, hosts, Databases, Alerts, ADDM, Patch Advisor -> use the same as demo.ercole.io
  • Licenses -> dollar-sign
  • Segment Advisor -> defrag (we need to find icon, or use deezer)
  • Engineered systems -> times
  • Settings -> cogs
  • Alerts -> bell
  • Middlewares -> globe
  • Hypervisors -> object-group

Use this order:

Dashboard
Hosts
Databases
- Oracle
-- Proactive (open only submenu)
--- ADDM
--- Segment Advisors
--- Patch Advisors
- SQL Server
-- Proactive
Hypervisors
Middleware
Engineered systems
Alerts
Licenses
Settings
- Agents

[BUG] browser goback button returns in the wrong page

Describe the bug
Browser goes back to the /databases page

Expected behavior
Browser goes back to the /hosts page

To Reproduce

  1. Open a new tab
  2. Go to https://dev.ercole.io
  3. Insert username/password and click to Sign in
  4. Click to the databases icon in the sidebar
  5. Click to the hosts icon in the sidebar
  6. Click on any row in the first page
  7. At this moment a host detail page is showed
  8. Click to the back button of the browser
  9. The databases page is showed

Desktop (please complete the following information):

  • OS: ubuntu 18.04
  • browser: chromium 83.0.4103.61
  • ercole version: [e.g. 2.0.2 or 478ca8d925b4b140327a8325f82d376baefd26ea]
  • ercole-web version: [e.g. 2.0.2 or 43ffbf3]

Dashboard Alerts

In the dashboard there must be 3 panels, one for each category:

  • AGENT -> Agent (icon: broadcast-tower)
  • LICENSE -> License (icon: dollar-sing)
  • ENGINE -> Ercole Engine (icon: tools)

Each panel represent a deck of alerts; inside the deck they are sorted with these criteria:

  1. severity: warning and critical first, then info
  2. date: newest first

License and Engine panels has a "Mark as read" button, that mark as read only that single alert (calling /alerts/{id} ), and show the next alert (following above criteria).

For each little panel there must be three numbers under it, which is the number of alert of that panel category for each severity (info / warn / critical).
They must be clickable: once clicked they must route user to alerts page filtered by that severity and category code.

If there are no alerts for a category, it must be an empty alert with a message: "There are no [ Agent / License / Ercole Engine ] alerts"

Here a mockup:

image

Add database list on licensing tab

in the licensing tab, when you click a license, we will show not only the server that enable the license, but also the database list.

Add charts to dashboard

Once ercole-io/ercole#244 is done, we must add these graphs (see wireframe):
all graphs must have a legend at left with explanation.

  • all-technologies:
    we need a single select on technology (from ercole-io/ercole#245 ) which let select every technology that has at least one metric.

  • changes:
    we need a multiselect on technology as above, with default all selected, and a select for the date to do the query.

  • type of techologies:
    we have three bubble charts for each list of technologies that arrive from API

When a bubble in the previous charts represent a technology we must use its appropriate color from ercole-io/ercole#245

Add Cluster detail page

Add cluster detail page using data from api {{baseUrl}}/hosts/clusters/:name:

  • The list of virtual machines is obtained from vms field.

  • the following chart show values from field virtualizationNodesStats array:
    label is virtualizationNode, in black totalVMsWithoutErcoleAgentCount value, in orange totalVMsWithErcoleAgentCount value.
    image

  • the following chart use type, cpu and sockets fields for their respective fields and virtualizationNodesCount for physical host from the above api.

image

Re-add RPM build and publish step to travis for ercole-web.

Glossary

We should change some terms, everywhere in frontend:
notifications must became -> alerts

Export data button in Hosts view

As of now at the bottom of the hosts list page there is a button named Host List File: this button must be named Export data.

When this button is pressed on Hosts view, we must call /hosts with the active filters, as for the list, with Header:
Accept:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet to download .xlsx file.

Add CPU Growth Chart

In the host detail page we must add a chart for the CPU growth.

It must have a line with the value returned for totalDailyCPUUsage value from /hosts/:id:

{
...
    "history": [
          Object { _id: "5f0d61a4cb1ec248b08e33d4", createdAt: "2020-07-14T07:41:24.668Z", totalDailyCPUUsage: 1.3 },
          ...
     ]
}

And then a line for dailyCPUUsage for each DB in the databases array in features/oracle/database/databases:

{
...
    "features": { "oracle": { "database": { "databases": [ { ..., "changes": [ { ..., "dailyCPUUsage": 0.5, updated: 2020-07-14T07:41:24.668Z, ... }, ... ], ... }, ... ]}, ... }}
}

[BUG] When a hostname is clicked in the hosts page, ercole-web don't go to the host detail

Describe the bug
Don't happen nothing

Expected behavior
ercole-web go to the host detail page

To Reproduce
Steps to reproduce the behavior:

  1. Login to https://dev.ercole.io and go to the hosts page
  2. Go to the hosts page
  3. Position the cursor on the hostname of any hosts
  4. The cursor icon is a click hand(CSS equivalent is {cursor: pointer;})
  5. Click it

Screenshots, logs, stdout, stderr, asciinema
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: ubuntu 18.04
  • browser: chromium 83.0.4103.61
  • ercole version: [e.g. 2.0.2 or 478ca8d925b4b140327a8325f82d376baefd26ea]
  • ercole-web version: [e.g. 2.0.2 or 43ffbf3]

Additional context (optional)
Maybe the host detail page should not be shown so change cursor type to default (CSS {cursor: default;})

Add Hypervisors page

As seen in the wireframe, the hypervisors page is made of three components:

  • list of hypervisors, with the usual filters. Data can be obtained via {{baseUrl}}/hosts/clusters api.

  • a panel with entitled "Cluster" with two values:

    • "With Ercole": for each cluster, if vmsErcoleAgentCount > 0, +1
    • "Without Ercole": for each cluster, if vmsErcoleAgentCount == 0, +1
      image
  • a chart with one stack of all the cluster types from the field type, from the bigger value to the lesser.
    Use the color of cluster type from /settings/technology ( depends on ercole-io/ercole#304 )

image

LMS Audit File button in Hosts view

When button LMS Audit File is pressed on Hosts view, we must call /hosts with the active filters, as for the list, with Header:
Accept:application/vnd.oracle.lms+vnd.openxmlformats-officedocument.spreadsheetml.sheet to download .xlsx file.

Mark as read alerts

When the button "Mark as read" related to an alert is clicked, we must call api /alerts/:id with http verb POST.
This call will change its status from NEW to ACK.

Add Licenses page

Add licenses page that lists all licenses, obtained with /licenses

Hosts Details - Notifications

@raffaelloferrari

Ciao,

d'accordo con la imagine, come sarebbe diviso il risultato che ricevo della API nelle 3 categorie, Agents, LIcenses e Systems?
E cosa intende "notifications from the last week"?

DeepinScreenshot_select-area_20200608104333

Grazie

Alerts Page - Change Mark as read Column

aggiungere i checkbox per selezionare
un checkbox in alto che seleziona tutta la colonna
un checkbox seleziona tutti gli elementi
quando i checkbox sono selezionati compare un bottone Mark checked as read
aggiungere filtro data

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.