Coder Social home page Coder Social logo

alignak-monitoring-contrib / alignak-webui Goto Github PK

View Code? Open in Web Editor NEW
8.0 4.0 4.0 12.88 MB

Web User Interface for Alignak monitoring framework

License: GNU Affero General Public License v3.0

Python 38.87% CSS 3.53% JavaScript 37.42% Smarty 19.30% Shell 0.88%
alignak webui monitoring monitoring-server bootstrap python bottlepy material-design material material-ui

alignak-webui's Introduction

Alignak Web UI

Web User Interface for Alignak monitoring framework ...

Develop branch build status

Development code static analysis

Development code tests coverage

Documentation Status

Most recent PyPi version

Join the chat #alignak on freenode.net

License AGPL v3

Warning

As of now, the Alignak project is only maintained by one person. Though, I will not be able to maintain this Web UI anymore... sorry. For my own production environment, I am currently an alternative solution base on the former Shinken Web UI that I developed and still maintain. If you are using this Web UI for your Alignak instance, please feel free to contact me by mail

Screenshots

image

Documentation

You can find online documentation on Read The Docs and in the /docs directory.

Installation

The Alignak WebUI is easily installed and started thanks to the Python Package:

# Installing...
pip install alignak-webui
# Running...
alignak-webui-uwsgi
# Using!
http://127.0.0.1:5001

Note: Please note that you need to have a running Alignak framework reporting the live state to the Alignak backend.

Bugs, issues and contributing

Contributions to this project are welcome and encouraged, but please have a look to the contributing guidelines before raising an issue, or writing code for the project.

License

Alignak WebUI is available under the GPL version 3.

alignak-webui's People

Contributors

ddurieux avatar mohierf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

alignak-webui's Issues

No log file rotation

According to configuration the application log file should rotate every day:

[logs]
; Application log files
; ------
; The application buils a log file if launched with --logs command line parameter
; Parameters in this section allow to configure logs file rotation
; ------

# CRITICAL  50
# ERROR     40
# WARNING   30
# INFO      20
# DEBUG     10
# Default is INFO (20)
level = 20

# Application logs directory
# Default is /var/log/"application name"
; dir = .

# Application log filename
# Default is application name with log extension
; filename = webui.log

# Rotation period (D for day, W0...W6 for a week day, or midnight)
; when = D

# Rotation period interval
; interval = 1

# Number of backup files before deletion (0 to disable deletion)
; backup = 6

... and it is not rotating!

User should be informed of bad search parameters

Hello @mohierf ,

If we make this kind of search on webui:

http://94.76.229.155:91/hosts_table?search=type:host%20state:UP or http://94.76.229.155:91/services_table?search=type:host%20state:OK, this seems broke display of webui.

After that /hosts_table and /services_table url are not yet available.

After log out / log in again, problem persist.

Some buttons disappear in full window on dashboard

Hello,

I noticed that the add_widget button disappears when my window is full screen and the menu is left.

If I reduce my window until the menu appears at the top , the buttons are present.

I test on Ubuntu 16.04, on Chrome and Firefox.

Create a bin directory ...

Create a bin directory (on the same model as Alignak's one):

  • : include a run.sh script to start the WebUI with uswgi
  • : include an init.d and rc.d with sample scripts

Acknowledge for several problems do not work

When selecting several problems in the livestate table, and trying to acknowledge them, the ack commands are not sent properly ...

Furthermore, it may be interesting to propose a dialog window to enter acknowledge parameters and comment, which will be the same for all the acks.

DataTables Warning when paste something in search box

During test session, I've do the following:

  1. Write something in Services -> Host Name search box.
  2. In this search box, I do CTRL-A and CTRL-X to cut string,
  3. Then CTRL-V in main search box.

And I have the following warning:

align_datatables_warn

And after I get many times this window until I remove the paste string.

Read the docs build broken

The doc build made by the online RTD is broken because the application can not be installed:

error: could not create '/etc/alignak_webui': Permission denied

Explode item.py ...

The file item.py contains several classes ... it should exploded in several files that contain only one class

Improvement idea: NAGIOS Variable Commands

In Commands menu, if we can have values (as memo) of the following variables.

  • $NAGIOSPLUGINSDIR$
  • $PLUGINSDIR$

If I remember well, it's define in a file like path.cfg. I don't know if you can retrieve this an display on this board ?

Other thing in this page, columns seems not responsive on small screen. I'm not sure, it's your priority but it renderer like this:

align_commands

Search box doesn't match anything

If i make some research in search box in general or in Host Name, search result:

"No matching records found"

Example in Services tab:

align_search

Broken table pagination ...

Showing 1 to 10 of 10 entries out of 102 entries

should be

Showing 1 to 10 of 102 entries out of 102 entries

when no column filtering is active.

Timeline pagination

The pagination is not very good for this type of display/view.

We could go in end of page/timeline and webui load the next page and display the page 2 at the end, like this, we have a continuous timeline.

As example, the google image search, it load the next page/section when we are on end of previous page/section

Configuration file location

The configuration file location are (in order):

  • '/usr/local/etc/alignak-webui/settings.cfg',
  • '/etc/alignak-webui/settings.cfg',
  • '~/alignak-webui/settings.cfg',
  • '/home/alignak/alignak-webui/etc/settings.cfg',
  • '/home/alignak/alignak-webui/alignak-webui/etc/settings.cfg',
  • './settings.cfg'

Several things:

  • when installed, the WebUI uses alignak_webui and not alignak-webui to create some directories
  • many directories ... probably that 2/3 directories would be enough

Table pagination when filtering is on

When filtering is activated on a column (at least) and the matching rows count is greater than the current page length, the pagination is broken:

With page length = 5, pagination is Showing 1 to 5 of 5 entries out of 102 entries. despite the 7 matching entries!

Display a status for a group / dependency

Assign a status to an elements group (eg. hosts group). This status is the worst state of all the elements in the group.

Indeed, an hosts group is a group of hosts and an host do not have any state. We have a livestate item that is linked to the host and it is this livestate item that holds the current host state. The idea behind this is to create a fake group of livestate items linked to the corresponding hosts/services group.

Same feature is interesting when displaying host/service dependency

Use webui components into another website

We can use webui components (command list, host list, livestate list, minemap...) on a website.

For that, we need:

  • Pass the backend token in auth basic to webui call
  • be able to ajax display a part of webui (like command list without headers, footers and menu)

Static files not seems ok

I have configurated nginx to serve static files of webui but I have 2 strange bahaviors:

  • /static/logo is in reality /static/images && image load without .png but in server le file have .png extension
  • /static/photos is in reality /static/images && image load without .png but in server le file have .png extension

I add my nginx configuration here as example

        location ~ ^/static/plugins/(.*)$ {
            alias /usr/jails/webui/root/alignak-webui/alignak_webui/plugins/$1;
            expires 1h;
        }

        location ~ ^/static/logo/(.*)$ {
            alias /usr/jails/webui/root/alignak-webui/alignak_webui/htdocs/images/$1.png;
            expires 1h;
        }

        location ~ ^/static/photos/(.*)$ {
            alias /usr/jails/webui/root/alignak-webui/alignak_webui/htdocs/images/$1.png;
            expires 1h;
        }

        location ~ ^/static/(.*)$ {
            alias /usr/jails/webui/root/alignak-webui/alignak_webui/htdocs/$1;
            expires 1h;
        }

        location / {
            client_max_body_size 20M;
            proxy_pass http://10.0.0.6:5000;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_read_timeout 120;
        }

Port under 1000 doesn't work without sudo

Hello @mohierf ,

I've install alignak, backend and webui as user alignak. But when I try to launch app.py without sudo I've the following error:

2016-06-18 13:38:13,463 - alignak_webui - ERROR - Application run failed, exception: <class 'socket.error'> / No socket could be created -- (('192.168.237.129', 80): [Errno 13] Permission denied)
2016-06-18 13:38:13,465 - alignak_webui - INFO - Backtrace: Traceback (most recent call last):
  File "app.py", line 225, in main
    server=app_config.get('http_backend', 'cherrypy')
  File "/home/alignak/.local/lib/python2.7/site-packages/bottle.py", line 3117, in run
    server.run(app)
  File "/home/alignak/.local/lib/python2.7/site-packages/bottle.py", line 2795, in run
    server.start()
  File "/home/alignak/.local/lib/python2.7/site-packages/cherrypy/wsgiserver/wsgiserver2.py", line 1943, in start
    raise socket.error(msg)
error: No socket could be created -- (('192.168.237.129', 80): [Errno 13] Permission denied)

2016-06-18 13:38:13,465 - alignak_webui - INFO - stopping backend livestate thread...

I've trying with uwsgi too, it make the same.

I've made some tests and only port under 1000 seems not work with sudo.

Test was made on Ubuntu Server 16.04 LTS.

jquery 2.x

Perhaps it could be a good idea to update jquery to 2.x instead 1.x version ;)

Limited number of items for a list displayed in a table

Currently when a list of items is displayed in a cell of a table (eg. hosts members of an host group), the list is limited to 10 elements and a text is included in the list to inform that only 10 elements are listed.

Including a button instead of this text will allow to navigate to the corresponding table ...

Bad display of Menus in reduced Windows

Hello,

On reduced windows, there is a display problem of left menu. This one who's call Global Elements.

It seems appears on Chrome (Ubuntu 16.24 LTS), Android (Chrome) and Firefox (Ubuntu too).

capture du 2016-07-02 21-03-52

The bouton is over the other menu. And if we click on it, it display some information about user:

capture du 2016-07-02 21-22-10

I don't know if it was tests or not.

Improvement idea : bottom scrollbar

Bottom scrollbar may just slide each Tables (Hosts, Services,...) and keep left menu visible by user.

Or just reduce it on the head of window ?

Otherwise we'll lost menu and shortcut for the different panel.

Change user preferences route

Currently, user's preferences are managed with routes : /preference/user (GET, POST) or /preference/common (GET, POST). It should be better to use a single route: /user_preference and to use GET and PATCH rather than GET and POST ... we would have a better integration for externally embedded data tables ...

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.