Giter VIP home page Giter VIP logo

alerta-webui's Introduction

Alerta Release 9.1

Actions Status Slack chat Coverage Status Docker Pulls

The Alerta monitoring tool was developed with the following aims in mind:

  • distributed and de-coupled so that it is SCALABLE
  • minimal CONFIGURATION that easily accepts alerts from any source
  • quick at-a-glance VISUALISATION with drill-down to detail

webui


Requirements

Release 9 only supports Python 3.9 or higher.

The only mandatory dependency is MongoDB or PostgreSQL. Everything else is optional.

  • Postgres version 13 or better
  • MongoDB version 6.0 or better

Installation

To install MongoDB on Debian/Ubuntu run:

$ sudo apt-get install -y mongodb-org
$ mongod

To install MongoDB on CentOS/RHEL run:

$ sudo yum install -y mongodb
$ mongod

To install the Alerta server and client run:

$ pip install alerta-server alerta
$ alertad run

To install the web console run:

$ wget https://github.com/alerta/alerta-webui/releases/latest/download/alerta-webui.tar.gz
$ tar zxvf alerta-webui.tar.gz
$ cd dist
$ python3 -m http.server 8000

>> browse to http://localhost:8000

Docker

Alerta and MongoDB can also run using Docker containers, see alerta/docker-alerta.

Configuration

To configure the alertad server override the default settings in /etc/alertad.conf or using ALERTA_SVR_CONF_FILE environment variable::

$ ALERTA_SVR_CONF_FILE=~/.alertad.conf
$ echo "DEBUG=True" > $ALERTA_SVR_CONF_FILE

Documentation

More information on configuration and other aspects of alerta can be found at http://docs.alerta.io

Development

To run in development mode, listening on port 5000:

$ export FLASK_APP=alerta FLASK_DEBUG=1
$ pip install -e .
$ flask run

To run in development mode, listening on port 8080, using Postgres and reporting errors to Sentry:

$ export FLASK_APP=alerta FLASK_DEBUG=1
$ export DATABASE_URL=postgres://localhost:5432/alerta5
$ export SENTRY_DSN=https://8b56098250544fb78b9578d8af2a7e13:[email protected]/153768
$ pip install -e .[postgres]
$ flask run --debugger --port 8080 --with-threads --reload

Troubleshooting

Enable debug log output by setting DEBUG=True in the API server configuration:

DEBUG=True

LOG_HANDLERS = ['console','file']
LOG_FORMAT = 'verbose'
LOG_FILE = '$HOME/alertad.log'

It can also be helpful to check the web browser developer console for JavaScript logging, network problems and API error responses.

Tests

To run the all the tests there must be a local Postgres and MongoDB database running. Then run:

$ TOXENV=ALL make test

To just run the Postgres or MongoDB tests run:

$ TOXENV=postgres make test
$ TOXENV=mongodb make test

To run a single test run something like:

$ TOXENV="mongodb -- tests/test_search.py::QueryParserTestCase::test_boolean_operators" make test
$ TOXENV="postgres -- tests/test_queryparser.py::PostgresQueryTestCase::test_boolean_operators" make test

Cloud Deployment

Alerta can be deployed to the cloud easily using Heroku https://github.com/alerta/heroku-api-alerta, AWS EC2 https://github.com/alerta/alerta-cloudformation, or Google Cloud Platform https://github.com/alerta/gcloud-api-alerta

License

Alerta monitoring system and console
Copyright 2012-2023 Nick Satterly

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

alerta-webui's People

Contributors

dependabot[bot] avatar emillen avatar escoand avatar exceptionfault avatar grzegorzpro avatar jjdmol avatar krzysdabro avatar raffis avatar satterly avatar strangeman avatar xpufx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alerta-webui's Issues

Wasted space in alert list

Issue Summary
The alert list wastes space for the description column which isn't used in my case at all...

Environment

  • OS: Ubuntu
  • API version: 7.2.7
  • Deployment: Cloud Foundry
  • Database: MongoDB
  • Server config:
    Auth enabled? Yes
    Auth provider? OpenID
    Customer views? Yes
  • web UI version: 7.2.7
  • CLI version: 7.2.1

Expected behavior
Try to avoid wrapping lines when possible.

Screenshots
issue

Enhance operator notes in alert details page

Thank you for this improvement - it is really helpful and convenient now.

But I see two problems with the current approach:

  1. I cannot edit/remove an old note. As a result, I must always see all notes which I left. Even those which are not actual now. In some cases, it may be helpful to see all alert notes, but in other cases, it will be confusing to see old unactual notes. It happens because you try to use alert history to store notes. But in my vision, they should be different and independent entities. So alert history should contain only changes in alert notes/state/status/severity and so on. And alert notes should contain all alert notes with a possibility to add/edit/remove them.
  2. We won't see notes if there are more than 100 history records. It is very unexpected to suddenly lose all notes for an alert. It may happen for flapping alerts, for instance, or for alerts with a long history (which live years). The reason for this behaviour is also using alert history to store notes.

Nonetheless, status comments work fine and I don't see any obvious problems with them right now. We may lose the user's comment when alert severity is changing, though, but I'm not sure about it and should test this behaviour.

What I see (pay attention to comment content):
image

Originally posted by @vykulakov in #234 (comment)

UI freezes Firefox after running for several hours

Issue Summary
I have built a bridge for pulling job states from a legacy component and pushing it into alerta, which means there are always around 100 alerts with several severities present across different environments. When the UI runs for a few hours without being interacted with, Firefox tells that the page is no longer responding. The UI itself is also pretty slow when moving the mouse over the alerts. A quick performance analysis using the integrated developer tool show that a major part of the time is spent in mouseenter/mouseexit/readystatechange event handlers and DOM updates.

Environment

  • OS: Ubuntu 16.04

  • API version: 7.4.0

  • Deployment: Docker

  • Database: Postgres

  • Server config:

{
"actions": [],
"alarm_model": {
"colors": {
"severity": {
"cleared": "#00CC00",
"critical": "red",
"debug": "#9D006D",
"indeterminate": "lightblue",
"informational": "#00CC00",
"major": "orange",
"minor": "yellow",
"normal": "#00CC00",
"ok": "#00CC00",
"security": "blue",
"trace": "#7554BF",
"unknown": "silver",
"warning": "dodgerblue"
},
"text": "black"
},
"defaults": {
"normal_severity": "normal",
"previous_severity": "indeterminate",
"status": "open"
},
"name": "Alerta 7.4.0",
"severity": {
"cleared": 7,
"critical": 1,
"debug": 8,
"indeterminate": 5,
"informational": 6,
"major": 2,
"minor": 3,
"normal": 7,
"ok": 7,
"security": 0,
"trace": 9,
"unknown": 10,
"warning": 4
},
"status": {
"ack": "C",
"assign": "B",
"blackout": "E",
"closed": "F",
"expired": "G",
"open": "A",
"shelved": "D",
"unknown": "H"
}
},
"audio": {
"new": null
},
"auth_required": true,
"aws_region": "us-east-1",
"azure_tenant": "common",
"client_id": "********",
"cognito_domain": null,
"colors": {
"severity": {
"cleared": "#00CC00",
"critical": "red",
"debug": "#9D006D",
"indeterminate": "lightblue",
"informational": "#00CC00",
"major": "orange",
"minor": "yellow",
"normal": "#00CC00",
"ok": "#00CC00",
"security": "blue",
"trace": "#7554BF",
"unknown": "silver",
"warning": "dodgerblue"
},
"text": "black"
},
"columns": [
"severity",
"status",
"lastReceiveTime",
"timeoutLeft",
"duplicateCount",
"customer",
"environment",
"service",
"resource",
"event",
"value"
],
"customer_views": false,
"dates": {
"longDate": "d/M/yyyy h:mm:ss.sss a",
"mediumDate": "EEE d MMM HH:mm",
"shortTime": "HH:mm"
},
"debug": false,
"email_verification": false,
"endpoint": "http://********/api",
"github_url": "https://github.com",
"gitlab_url": "https://********",
"indicators": {
"queries": [
{
"query": [
[
"environment",
"Production"
]
],
"text": "Production"
},
{
"query": [
[
"environment",
"Development"
]
],
"text": "Development"
},
{
"query": {
"q": "event:Heartbeat"
},
"text": "Heartbeats"
},
{
"query": "group=Misc",
"text": "Misc."
}
],
"severity": [
"critical",
"major",
"minor",
"warning",
"indeterminate",
"informational"
]
},
"keycloak_realm": null,
"keycloak_url": null,
"oidc_auth_url": "https://********/oauth/authorize",
"provider": "gitlab",
"refresh_interval": 5000,
"severity": {
"cleared": 7,
"critical": 1,
"debug": 8,
"indeterminate": 5,
"informational": 6,
"major": 2,
"minor": 3,
"normal": 7,
"ok": 7,
"security": 0,
"trace": 9,
"unknown": 10,
"warning": 4
},
"signup_enabled": false,
"site_logo_url": "",
"sort_by": "lastReceiveTime",
"tracking_id": null
}
  • web UI version: 7.4.0
  • Browser: Firefox 68.0.2

To Reproduce

  1. Show alert list, use default filters
  2. Have around 100 alerts visible, with only a few updates every few minutes
  3. Let it run for a few hours

Expected behavior
No freezes, UX should be a little better.

Screenshots
grafik

Just moving the mouse cursor over the rows for a while:
grafik

VueRouter with hash mode

Would it be possible to change VueRouter from history to hash mode?

History mode makes deployment a little tricky: we need special catch-all rule and redirect all unknown locations to single index.html.

I know that workarounds are described at https://router.vuejs.org/guide/essentials/history-mode.htm but it is not always possible when you do not have full access to the static web server configuration.

Filters are not saved

Issue Summary
Every ops in our environment wants to watcxh only for open alerts. At the moment they have to configure filters every time they open Alerta UI to remove acked status from filter.

Environment

  • OS: Linux
  • API version: 7.4.1
  • Deployment: self-hosted
  • For self-hosted, WSGI environment: nginx/uwsgi
  • Database: MongoDB
  • Server config:
    • Auth enabled? Yes
    • Auth provider? Basic
    • Customer views? No
  • web UI version: 7.4.1
  • CLI version: 7.4.0

To Reproduce
Steps to reproduce the behavior:

  1. Open the UI.

Filter configuration is always the same showing open and acked alerts.

Expected behavior
A User should be a able to configure a default filter configuration.

Preserve alerts table state between page reloadings

It is not so convenient when the state of the alerts table resetting after refreshing/reopening the related page. It even happens after returning to the alerts page from the details page. Under the table state I mean sort order, current filter setting and so on.

So it will be good if we save the table state in local storage and will use it after returning on the /alerts page.

Add URL prefix support

I use a single domain to access all components of my monitoring system. To make it possible I use NGINX to route requests for different locations to different destinations. For instance, I have the following configured locations:

https://mon.example.com/alerta/
https://mon.example.com/grafana/
https://mon.example.com/prometheus/
https://mon.example.com/alertmanager/

All components work fine except Alerta Beta (even old Alerta UI) because it uses absolute URLs in its routing engine.

I suppose that Alerta Beta must work behind a proxy with any URL prefix.

re-authentication after refreshing page

Alerta Beta always redirects me to the login page after refreshing any current page.

For instance, if I'm exploring alerts on the /alerts page and then press the F5 button to refresh this page I always end up on the login page. It is quite strange because with the previous version of Alerta Web I always stay on the same page without any re-authentication (at least I do not see it).

Environment

  • OS: Ubuntu 18.04

  • API version: 6.8.2

  • Deployment: self-hosted

  • WSGI environment: dev environment

  • Database: Postgres

  • Server config:
    Auth enabled? Yes
    Auth provider? GitLab
    Customer views? No

  • web UI version: latest master

  • CLI version: 6.8.1

To Reproduce
Steps to reproduce the behavior:

  1. Go to /alerts
  2. Refresh the page
  3. See login page

Expected behavior
I should stay on the same page at the end of reloading without any re-authentication.

Can't include links in alerts since alert text is escaped

Issue Summary
Our alerts include links to relevant Grafana dashboards and Slack channels so that operators have a quick option to get additional alert context. Unfortunately the Alerta dashboard escapes the html links passed in, so that the entire HTML link is displayed rather than just the link text. Users see <a href="http://grafana.mycompany.com/dashboard/db/data-service-capacity">service dashboard</a> instead of service dashboard

This should be configurable behavior, or perhaps just turned off.

Environment

  • OS: Linux

  • API version: [alerta-web 7.3.0]

  • Deployment: Docker

  • Database: MongoDB

  • Server config:
    Auth enabled? No
    Customer views?No

  • web UI version: [alerta-web 7.3.0]

  • CLI version: n/a

To Reproduce
Steps to reproduce the behavior:

  1. send alert to alerta with extra column data for 'slack' and 'grafana' that include the relevant links
  2. No issues logged in the javascript console

Expected behavior
Clickable links to grafana and slack on the front page of the alerta app

Screenshots
image

cannot open the alerta Homepage

when i run this command as follow:
python3 -m http.server 8000

browse to url:
http://10.201.5.197:8000/

The following error occurred๏ผš
โ€œERROR: Failed to connect to Alerta API due to missing or invalid config.json file
Please confirm a config.json file exists,contains an "endpoint" setting and is in the same directory as the application index.html fileโ€
112233

config.json
{"endpoint": "http://localhost:8081"}

Empty search bar is broken

Issue Summary

alexb145 @alexb145 13:54

@satterly this seems like a bug, we get this if we type anything in the search bar at the top then after searching click the x to delete it
this also makes all alerts disappear
and there's also things that we cannot find by searching using the top bar but which we can find using the filters on the right side

Environment

  • OS: [eg. Linux, Mac, Windows]

  • API version: [eg. 6.8.1]

  • Deployment: [eg. Docker, Heroku, AWS, GCloud, self-hosted]

  • For self-hosted, WSGI environment: [eg. nginx/uwsgi, apache/mod_wsgi]

  • Database: [eg. MongoDB, Postgres]

  • Server config:
    Auth enabled? Yes/No
    Auth provider? Google, GitHub, OpenID, Basic, LDAP, etc
    Customer views? Yes/No
    (or provide the /config endpoint output)

  • web UI version: [eg. 6.8.1]

  • CLI version: [eg. 6.8.1]

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....' or Run '...'
  3. Scroll down to '....'
  4. See error (include command output)

For web app issues, include any web browser JavaScript console errors.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots

Screenshot 2019-09-20 at 17 57 40

Additional context
Add any other context about the problem here.

NOTE: Please provide as much information about your issue as possible.
Failure to provide basic details about your specific environment make
it impossible to know if an issue has already been fixed, can delay a
response and may result in your issue being closed without a resolution.

Multi select range of alerts

Is your feature request related to a problem? Please describe.
We faced the situation where we had planned maintenance of the whole datacenter.
We needed to snooze alerts from the whole datacenter.
You can search for the alerts in Alerta Web UI, but multi-select works only one by one (and also only in Chrome) [win key] + [left mouse] which is useless if you have 500+ alerts you have to snooze.

Describe the solution you'd like
I would like to have the possibility to select a range of alerts, for example by selecting the first one with [win key] + [left mouse] and then the last one with [Shift] + [win key] + [left mouse].

Describe alternatives you've considered
Or alternatively to select all alerts on the actual screen where I limited my selection with Search/Filter.

Workaround
I have found a way to ack multiple alerts based on filter/query conditions using alerta cli.

# Search for all Open alerts from environments SIMU where event contains word deadman
alerta query -f status=open -f environment=SIMU -f event=~deadman
# Acknowledge them
alerta ack -f status=open -f environment=SIMU -f event=~deadman

Out of memory

  • web UI version: 7.1.0

/**

  • Observe a list of Array items.
    */
    Observer.prototype.observeArray = function observeArray (items) {
    for (var i = 0, l = items.length; i < l; i++) {
    observe(items[i]);
    }
    };

Suppress user preferences error

Issue Summary
Hey, can i know if the alerta docker is working fine? I tried to start up the docker image. I can access the api endpoint(http://localhost:8005/api/config) , but not the UI( http://localhost:8005). It returns me Error: Could not retrieve user preferences.

Environment

  • OS: [eg. Linux, Mac, Windows]

  • API version: [eg. 6.8.1]

  • Deployment: [eg. Docker, Heroku, AWS, GCloud, self-hosted]

  • For self-hosted, WSGI environment: [eg. nginx/uwsgi, apache/mod_wsgi]

  • Database: [eg. MongoDB, Postgres]

  • Server config:
    Auth enabled? Yes/No
    Auth provider? Google, GitHub, OpenID, Basic, LDAP, etc
    Customer views? Yes/No
    (or provide the /config endpoint output)

  • web UI version: [eg. 6.8.1]

  • CLI version: [eg. 6.8.1]

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....' or Run '...'
  3. Scroll down to '....'
  4. See error (include command output)

For web app issues, include any web browser JavaScript console errors.

Expected behavior
App should load and show the following ...

Screenshot 2019-05-13 at 23 52 37

Refresh Alerta Web UI using F5 returns 404 Not found

Alerta Web version : Latest
alerta 7.2.11
OS : Linux
Behind Nginx

We use grafana - prometheus Alert Manager to display count of alerts,we link alerta web ui url to grafana dashboard for showing critical or warning alerts

Earlier version of web UI supported this feature i.e when i click the count of critical alerts in grafana it redirects me to alerta filtered page to show only critical alerts for a particular service.

i upgraded web UI to 7.x and this is not working now.

Developer Logs Shows

Failed to load resource: the server responded with a status of 404 (Not Found)

Nginx Logs

[09/Jul/2019:18:27:26 -0700] "GET /alerts HTTP/1.1" 404 571 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"

Nothing on the uwsgi logs.

Access Control List

Hi!
I do not see in the interface the ability to set access to specific objects ( groups,enviroments for example). Now I am faced with the choice of the system, apparently I like it, but I would like to set up strict access, I'm not sure that I can do it.

Redirect after authentication does not work

After successful authentication with GitLab I stay on the login page. I expect that I should end up on the /alerts page, for example, but all look like that redirect on the login page does not work. I always see the /login?redirect=%2Falerts address in the address bar in my browser and the message Authenticating with GitLab ... after authentication.

Environment

  • OS: Ubuntu 18.04

  • API version: 6.8.2

  • Deployment: self-hosted

  • WSGI environment: dev environment

  • Database: Postgres

  • Server config:
    Auth enabled? Yes
    Auth provider? GitLab
    Customer views? No

  • web UI version: latest master

  • CLI version: 6.8.1

To Reproduce
Steps to reproduce the behavior:

  1. Go to Alerta Beta main page
  2. Log in with GitLab
  3. See the Authenticating with GitLab ... message

Expected behavior
Alerta Beta should redirect me to the /alerts page (or any previously opened page) after authentication.

Screenshots
Screenshot from 2019-03-26 23-04-17

Show action errors to the user

Is your feature request related to a problem? Please describe.
While tracking down a bug where sometimes seemingly open alerts can't be acked (not yet there, probably combination of blackout, timeout, expire and my configuration), I noticed that API gives quite reasonable error messages with 409, but these are not shown to the user leaving a user clueless "why doesn't something happen if I click on some action"?

Describe the solution you'd like
Format InvalidAction() exceptions slightly better (correct case etc) and show these to the user if returned with 409 error.

Refreshing browser breaks alert details page

Issue Summary
Refreshing browser breaks alert details page

Environment

  • OS: Linux

  • API version: 7.2.0

  • Deployment: Docker

  • For self-hosted, WSGI environment: nginx/uwsgi

  • Database: MongoDB

  • Server config:
    Auth enabled? No
    Auth provider? Google, GitHub, OpenID, Basic, LDAP, etc
    Customer views? No
    (or provide the /config endpoint output)

  • web UI version: 7.2.0

  • CLI version: 6.8.1

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'alert details page for an alert'
  2. Press cmd-R to refresh page
  3. Page breaks
  4. See error

For web app issues, include any web browser JavaScript console errors.

Screenshot 2019-05-03 at 14 33 18

Expected behavior
Alert details should just redisplay.

Screenshots
above

Additional context
none

NOTE: Please provide as much information about your issue as possible.
Failure to provide basic details about your specific environment make
it impossible to know if an issue has already been fixed, can delay a
response and may result in your issue being closed without a resolution.

Event's data on the "data" tab displays incorrectly

Event's JSON data on the "data" tab displays in one line without any scroll bar. So I cannot inspect the whole raw data - only some fields of it. Would be better if I could see formatted JSON in multiple lines with indents and so on.

Environment

  • OS: Ubuntu 18.04

  • API version: 6.8.2

  • Deployment: self-hosted

  • WSGI environment: dev deployment

  • Database: Postgres

  • Server config:
    Auth enabled? Yes
    Auth provider? GitLab
    Customer views? No

  • web UI version: latest master

  • CLI version: 6.8.1

To Reproduce
Steps to reproduce the behavior:

  1. Go to the event's details page
  2. Open the "data" tab
  3. See a small piece of data

Expected behavior
Possibility to see all raw data

Screenshots
Screenshot from 2019-03-26 23-26-46

Add filtering/searching by the Event field

All looks like I can filter alerts on the alerts page only by the Resource and Description columns. The same is true for searching alerts in the Search box.

Is it possible to add filtering/searching by the Event field?

Disable analytics plugins if trackingId not define

Issue Summary
Invoke Google Analytics if trackingId not define.

Environment

  • OS: Linux

  • API version: alerta-6.8.1-py2.py3-none-any.whl alerta_server-7.2.1-py2.py3-none-any.whl

  • Deployment: Docker

  • Intranet without Internet access.

  • Database: Postgres

  • Server config:
    Auth enabled? Yes
    Auth provider? LDAP
    Customer views? No

  • web UI version: 7.2.0

To Reproduce
Steps to reproduce the behavior:

  1. Open Google Chrome
  2. Open Alerta site
  3. Error in dev tools

image001 (1)

image002

Expected behavior
Disable analytics plugins if trackingId not define

UI complaining about missing scope read:customers

Issue Summary
Viewers in our system don't have any permissions except strictly required read:alerts and read:blackouts. But a webUI complains in every load:
"Missing required scope: read:customers (403)"

Is it really needed? Should it be documented at least?

Environment

  • OS: Linux
  • API version: 7.4.1
  • Deployment: self-hosted
  • For self-hosted, WSGI environment: nginx/uwsgi
  • Database: MongoDB
  • Server config:
    • Auth enabled? Yes
    • Auth provider? Basic
    • Customer views? No
  • web UI version: 7.4.1
  • CLI version: 7.4.0

To Reproduce
Steps to reproduce the behavior:

  1. Configure a user having read:alerts permission only.
  2. Log into web UI with this user credentials.

Alert appears in the bottom of the view: "Missing required scope: read:customers (403)"

Missing login/signup buttons when auth not required

Issue Summary
A clear and concise description of what the bug is.

Environment

  • OS: [eg. Linux, Mac, Windows]

  • API version: [eg. 6.8.1]

  • Deployment: [eg. Docker, Heroku, AWS, GCloud, self-hosted]

  • For self-hosted, WSGI environment: [eg. nginx/uwsgi, apache/mod_wsgi]

  • Database: [eg. MongoDB, Postgres]

  • Server config:
    Auth enabled? Yes/No
    Auth provider? Google, GitHub, OpenID, Basic, LDAP, etc
    Customer views? Yes/No
    (or provide the /config endpoint output)

  • web UI version: [eg. 6.8.1]

  • CLI version: [eg. 6.8.1]

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....' or Run '...'
  3. Scroll down to '....'
  4. See error (include command output)

For web app issues, include any web browser JavaScript console errors.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

NOTE: Please provide as much information about your issue as possible.
Failure to provide basic details about your specific environment make
it impossible to know if an issue has already been fixed, can delay a
response and may result in your issue being closed without a resolution.

The refresh button do not update alerts details page

If I'm looking some information about an alert on the alert details page and then I press the refresh button then nothing happens. It is not so convenient because to see updated information about alert I must return to the alerts page, find there the alert (with playing with filter) and open the alert again.

Is it possible to refresh details and history tabs by clicking on the refresh button?

Reloading alert details page is fail

Issue Summary
When I try to reload (or refresh, or press F5 or even Ctrl+F5) the page with alert details, I always see an empty page and a popup alert in my browser.

For example, I reload the page:http://192.168.1.25/alerta/alert/68f54758-f190-4557-8b84-bae6947518b4 and as a result, I see the following:
image
And after clicking on the OK button, I see an empty page.

In the web developer console, I see the following error:

Error: Network Error
    at t.exports (createError.js:16)
    at XMLHttpRequest.h.onerror (xhr.js:69)
localhost:8080/config:1 Failed to load resource: net::ERR_CONNECTION_REFUSED
createError.js:16 Uncaught (in promise) Error: Network Error
    at t.exports (createError.js:16)
    at XMLHttpRequest.h.onerror (xhr.js:69)

So Alerta WEB tries to use an incorrect Alerta endpoint (localhost:8080 instead 192.168.1.25). And as I can see, it happens because Alerta UI loads config.json from an incorrect place: http://192.168.1.25/alerta/alert/config.json instead http://192.168.1.25/alerta/config.json. So config.json is loaded with a relative URL.

This approach with the relative URL leads to errors in some cases so using BASE_URL or something should be more reliable.

Environment

  • OS: Linux

  • API version: 7.3.2

  • Deployment: self-hosted

  • WSGI environment: nginx/gunicorn

  • Database: Postgres

  • Server config:
    Auth enabled? Yes
    Auth provider? GitLab

  • web UI version: 7.3.2

  • CLI version: 7.3.0

To Reproduce
Steps to reproduce the behaviour:

  1. Go to an alert details page
  2. Refresh the whole page (press F5)
  3. See the above error

Expected behavior
I expect no errors in UI

Additional context
To solve the problem I use the following Nginx location to load config.json:

location ~ ^/alerta/(.+/)?config.json$ {
    alias /etc/alerta/config.json;
}

Though this solution is working now it cannot be considered as a good solution for all cases.

EDIT: Please, pay attention to prefix /alerta in my Nginx location. I use it because I run Alerta UI under the /alerta path.

Notification sounds do not take into account the selected environment

Issue Summary
If notification sounds are enabled, the sound should only play if there are Open alerts for the selected environment tab.

This does not seem to be the case. ie. if there are any Open alerts for any environment a notification sound will play even if the selected environment tab has no Open alerts.

Environment

  • OS: [eg. Linux, Mac, Windows]

  • API version: [eg. 6.8.1]

  • Deployment: [eg. Docker, Heroku, AWS, GCloud, self-hosted]

  • For self-hosted, WSGI environment: [eg. nginx/uwsgi, apache/mod_wsgi]

  • Database: [eg. MongoDB, Postgres]

  • Server config:
    Auth enabled? Yes/No
    Auth provider? Google, GitHub, OpenID, Basic, LDAP, etc
    Customer views? Yes/No
    (or provide the /config endpoint output)

  • web UI version: [eg. 6.8.1]

  • CLI version: [eg. 6.8.1]

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....' or Run '...'
  3. Scroll down to '....'
  4. See error (include command output)

For web app issues, include any web browser JavaScript console errors.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
None

Alert count are truncated when more than 3 digits

Issue Summary
alerts count is truncated and not visible. since badges are used .

Environment

  • OS: Linux

  • API version: 7.3.0

  • Deployment: Docker

  • Database: MongoDB

  • web UI version: 7.3.0

To Reproduce
Steps to reproduce the behavior:

  1. generate alerts count to be more 1000

For web app issues, include any web browser JavaScript console errors.

Expected behavior
count is visible

Screenshots
image

Additional context
I'm not a vue/js experte but from quick reserach swithcing to us v-chip (https://vuetifyjs.com/en/components/chips) could be a possible solution

Spread columns more evenly in the alerts view

Is your feature request related to a problem? Please describe.
The old UI spreads columns quite evenly in the alerts view, but the new one aligns all content to the left and action buttons to the right. With hires quite wide displays it looks ... very weird.

Describe the solution you'd like
Spread columns more evenly based on the content of course.

Additional context
I will not attach huge screenshots, but if your screen is on smaller side, zoom out to look at hour the alerts view behaves in bigger hires screens.

Allow changing the status comment without changing the current status

Is your feature request related to a problem? Please describe.
My proposal does not solve any problem but makes using Alerta more convenient from my point of view.

Describe the solution you'd like
Now I cannot change the status comment without changing the current status of an alert but in some cases, it may be necessary. For instance, if the previous comment is not correct or the new one contains additional information. As a result, now I should use the following sequence: change status from A to B and then change the status back from B to A with a new comment - no so elegant.

I don't have any idea how it may be implemented with minimal efforts. Maybe, we may add a button like "Update comment" after "Add note" with the same look or something.

Support custom date/time formats

Is your feature request related to a problem? Please describe.
None of preconfigured date/time formats suits into our environment. The old web UI honored DATE_FORMAT_* settings in server, but the new one doesn't.

Describe the solution you'd like
Either support custom date/time format in UI or honor DATE_FORMAT_* configured in server.

Description is shown regardless of configuration

Issue Summary
Description is shown regardless of configuration. In our case it's show twice because COLUMNS is alertad.conf already contains 'text' element. But users might want to configure UI to hide description at all.

Environment

  • OS: Linux
  • API version: 7.4.1
  • Deployment: self-hosted
  • For self-hosted, WSGI environment: nginx/uwsgi
  • Database: MongoDB
  • Server config:
    • Auth enabled? Yes
    • Auth provider? Basic
    • Customer views? No
  • web UI version: 7.4.1
  • CLI version: 7.4.0

To Reproduce
Steps to reproduce the behavior:

  1. Configure COLUMN into alertad.conf containing 'text' field.

Expected behavior
There shouldn't be two Description columns.

Unable to reload page with sub-path defined

Issue Summary
A clear and concise description of what the bug is.

Environment

  • OS: Linux/RHEL6

  • API version: [eg. 6.8.1]

  • Deployment:
    One server is running Apache 2.4 and hosting alerta-webui with reverse proxy pointing to a second server, where alerta-server is running with UWSGI.

  • Database: MongoDB

  • Server config:
    Auth enabled? No
    Auth provider? N?A
    Customer views? No

  • web UI version: master

  • CLI version: 7.2.10

To Reproduce
Steps to reproduce the behavior:

  • clone master
  • set envvar BASE_URL=/alerta
  • npm run build
  • deploy to server

Expected behavior
I expect Alerta to reload properly when F5 button is hit. Instead, 404 error is generated. When I go to:
https://mysite.com/alerta/

URL is rewitten to:
https://mysite.com/alerta/alerts#status:open,ack;dateRange:,;sb:default;sd:1

After hitting F5, I get error 404 that /alerta/alerts does not exist.

I am upgrading from webui 3.0.0 where URL is different and refresh works:
https://mysite2.com/alerta/#/alerts?status=open&status=unknown

Wrong endpoint used for Reports/Resource

Issue Summary
Unable to open /alert/alert-id when coming from Reports. Everything else works.

Environment
OS: Linux 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u3 (2019-06-16) x86_64 GNU/Linux
Versions: API 7.3.0, Client 7.3.0, WebUI 7.3.0, Requests 2.22.0, Click 7.0, Python 3.5.3, Flask 1.1.0, Werkzeug 0.15.4
Deployment: Self-Hosted with Nginx and WSGI.
Database: MongoDB

Server config:
Auth enabled? Yes
Auth provider? Basic
Customer views? Yes

To Reproduce
Steps to reproduce the behavior:

  1. Go to "Reports"
  2. Click on (in my case) "localhost" under "Resources"
  3. Tries to open https://alerta.domain.com/alert/a3a9c686-a912-4b47-b4d4-6ebb1b857e7a
  4. Returns 200 on config.json but gets pointed to http://localhost:8080/config. My config.json is {"endpoint": "http://alerta.domain.com/api"} - also tried with just "/api"

Full Config Here
https://pastebin.com/KjUpnVSu

Expected behavior
Opens the alert history

Top left hamburger button and Alerta tag behavior change

Is your feature request related to a problem? Please describe.
Not really a problem, just a suggestion regarding the hamburger button and Alerta tag on top left of page to make it more intuitive.

Describe the solution you'd like
When clicking the hamburger button, the animation currently redraws the hamburger button and Alerta tag. Instead I would suggest having both the hamburger button and Alerta tag static, having only the menu below appear, a bit like the desktop youtube webpage does it. Furthermore, having the Alerta tag be a button which brings you back to the main Alerts page would be of help.

Describe alternatives you've considered
Another option would be to move the hamburger button to the top right (next to the refresh button) and upon clicking have a popup menu go down.

Those are only suggestions, thanks for all your work with Alerta.

color_map: text color not changing

I am using the Alerta docker image (v7.2.7) and it seems like changing the 'text' color in COLOR_MAP is not being reflected in the web ui.

Following configuration is passed for color_map:

COLOR_MAP = {
'severity': {
'critical': '#cccccc',
'major': '#e2e2e2',
'minor': '#ff9980',
'warning': '#f7f7f7',
'indeterminate': '#A6ACA8',
'cleared': '#00AA5A',
'normal': '#00AA5A',
'ok': '#00AA5A',
'information': '#00A1BC',
'debug': '#9D006D',
'security': '#333333',
'unknown': '#A6ACA8'
},
'text': 'white',
'highlight': 'skyblue'
}

severity colors are working fine but the text is always BLACK.

DevTools console displays 404 error

I see the 404 error in the DevTools console after authentication in Alerta Beta. It cannot load the /user/me/attributes resource.

Environment

  • OS: Linux

  • API version: 6.8.2

  • Deployment: self-hosted

  • WSGI environment: dev environment

  • Database: Postgres

  • Server config:
    Auth enabled? Yes
    Auth provider? GitLab
    Customer views? No

  • web UI version: latest master

  • CLI version: 6.8.1

To Reproduce
Steps to reproduce the behavior:

  1. Open DevTools console
  2. Go to Alerta Beta main page
  3. Log in with GitLab
  4. See the error in the console:
/user/me/attributes:1 Failed to load resource: the server responded with a status of 404 (NOT FOUND)
vue-authenticate.es2015.js:459 Possible Unhandled Promise Rejection: Error: Request failed with status code 404
    at t.exports (createError.js:16)
    at t.exports (settle.js:18)
    at XMLHttpRequest.f.(/alertabeta/anonymous function) (https://monitoring.sys.swiftserve.com/alertabeta/js/chunk-vendors.cca74b33.js:29:94124)

Expected behavior
No error/warning messages

Deleting alert from alert details page should redirect

Issue Summary
deleting alert in details view should return you to alert summary list

Environment

  • OS: [eg. Linux, Mac, Windows]

  • API version: [eg. 6.8.1]

  • Deployment: [eg. Docker, Heroku, AWS, GCloud, self-hosted]

  • For self-hosted, WSGI environment: [eg. nginx/uwsgi, apache/mod_wsgi]

  • Database: [eg. MongoDB, Postgres]

  • Server config:
    Auth enabled? Yes/No
    Auth provider? Google, GitHub, OpenID, Basic, LDAP, etc
    Customer views? Yes/No
    (or provide the /config endpoint output)

  • web UI version: [eg. 6.8.1]

  • CLI version: [eg. 6.8.1]

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....' or Run '...'
  3. Scroll down to '....'
  4. See error (include command output)

For web app issues, include any web browser JavaScript console errors.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Tooltips for actions in the alert view

Is your feature request related to a problem? Please describe.
It's problematic at least for a new users to find out what icon initiates what action in the alert view (these small action icons in the right of every alert).

Describe the solution you'd like
I think these deserve to have a tooltips.

Show last alert note on alert page

We plan to use notes for support engineers communication between shifts, but the current list of notes hidden too deep in interface. What about to show last note on the alert details page?

Environment tab missing after new alert

Issue Summary
The environment tabs at the top of the alerts list page do not get updated properly when new alerts appear in the list.

Environment

  • OS: Linux

  • API version: 7.2.5

  • Deployment: Docker

  • For self-hosted, WSGI environment: nginx/uwsgi

  • Database: Postgres

  • Server config:
    Auth enabled? Yes
    Auth provider? Keycloak
    Customer views? No
    (or provide the /config endpoint output)

  • web UI version: 7.2.5

  • CLI version: 7.2.1

To Reproduce
Steps to reproduce the behavior:

  1. Start from a fresh install of Alerta.
  2. Send an alert to Alerta with environment "Development"
  3. Alerta environment tabs will only display "ALL". The "Development" environment tab is missing.

Expected behavior
When the new alert appears in the alerts list page, the "Development" tab should also appear with a count of 1.

Screenshots
MissingEnv

Additional context
Manually refreshing the page will display tabs properly:
EnvAfterRefresh

NOTE: Please provide as much information about your issue as possible.
Failure to provide basic details about your specific environment make
it impossible to know if an issue has already been fixed, can delay a
response and may result in your issue being closed without a resolution.

Orange bar shows under All instead of specific environment when back from alert details

Issue Summary
The orange bar always goes under All when back from an alert's detail view, even when it should be a more specific environment.

Environment

  • OS: Linux
  • API version: 7.2.5
  • Deployment: Docker
  • For self-hosted, WSGI environment: nginx/uwsgi
  • Database: Postgres
  • Server config:
    Auth enabled? Yes
    Auth provider? Keycloak
    Customer views? No
    (or provide the /config endpoint output)
  • web UI version: 7.2.5
  • CLI version: 6.8.1

To Reproduce
Steps to reproduce the behavior:

  1. On the main Alerts page, select a specific environment like 'CustomEnvironment' to display only alerts specific to this environment
  2. Click on an alert to see its details
  3. Click on the back arrow to go back to main Alerts page
  4. As expected, the alerts displayed in the list are only the ones from 'CustomEnvironment'. The orange bar is erroneously displayed under the All environments instead of 'CustomEnvironment'.

Expected behavior
The orange bar should be displayed under the 'CustomEnvironment'.

Additional context
I'm using custom ALLOWED_ENVIRONMENTS.

NOTE: Please provide as much information about your issue as possible.
Failure to provide basic details about your specific environment make
it impossible to know if an issue has already been fixed, can delay a
response and may result in your issue being closed without a resolution.

UI lagging

Issue Summary
I would like to use the new UI but it is lagging more and more with every single event. When I have more than 20 events in the queue and move from one line to an other I have to wait up to one second til the highlighting is visible.
I've profiled the change of the status filter from ACK (3 events) to OPEN+ACK (82 events) in Firefox. This lasts many seconds in which the UI is not responding at all.
profile.zip

Environment

  • OS: Linux
  • API version: 7.3.0
  • Deployment: Docker
  • Database: MongoDB
  • Server config:
    Auth enabled? Yes
    Auth provider? OpenID
    Customer views? Yes
  • web UI version: 7.3.0
  • CLI version: 7.3.0

Expected behavior
The old UI performed much better without such hangs.

Alerta cannot load necessary resources

After updating to the last master Alerta cannot load any necessary resources with 404 error.

I run Alerta WEB UI under the /alertabeta path prefix and it worked fine before updating. But after updating Alerta cannot load any resources.
Also, Alerta does not load config.json now and it is quite strange because this file contains some important settings:

{
  "endpoint": "https://monitoring.example.com",
  "base_path": "/alertabeta"
}

Screenshot from 2019-04-16 13-06-16

Alerts endpoint does not use the defined filters

Issue Summary
The ui requests with every refresh the complete list of all alerts, no matter what is filtered. This in my test system already 2MB (gzipped 250kB) and vue is not doing a good job in handling all this data - Firefox is crashing after some minutes.

Environment

  • OS: Windows 7

  • API version: 7.1.0

  • Deployment: Cloud Foundry

  • For self-hosted, WSGI environment: nginx

  • Database: MongoDB

  • Server config:
    Auth enabled? Yes
    Auth provider? OpenID
    Customer views? Yes

  • web UI version: 7.1.0

  • CLI version: 6.8.1

To Reproduce
Steps to reproduce the behavior:

  1. Open the ui
  2. Check the url of the refresh request in the browser developer tools

Expected behavior
The defined filter should be used for the /alerts endpoint.

Refreshing browser loses dark theme

Issue Summary
If a user's preference is dark theme, after a browser refresh the dark theme is not applied but instead defaults back to white theme. Only by going back to the settings page will the dark theme be applied again.

Environment

  • OS: Windows

  • API version: 7.2.0

  • Deployment: Docker

  • For self-hosted, WSGI environment: nginx/uwsgi

  • Database: Postgres

  • Server config:
    Auth enabled? Yes
    Auth provider? Basic
    Customer views? No
    (or provide the /config endpoint output)

  • web UI version: 7.2.0

  • CLI version: 6.8.1

To Reproduce
Steps to reproduce the behavior:

  1. Go to settings
  2. Select 'Dark theme'
  3. Go to alerts
  4. Refresh browser

Expected behavior
After refreshing browser, dark theme should remain.

Screenshots
none

Additional context
Tried with both Firefox and Chrome.

NOTE: Please provide as much information about your issue as possible.
Failure to provide basic details about your specific environment make
it impossible to know if an issue has already been fixed, can delay a
response and may result in your issue being closed without a resolution.

Google Chrome Out of memory

Issue Summary
Google Chrome Out of memory

Environment

  • OS: Linux

  • API version: alerta-6.8.1-py2.py3-none-any.whl alerta_server-7.2.1-py2.py3-none-any.whl

  • Deployment: Docker

  • Database: Postgres

  • Server config:
    Auth enabled? Yes
    Auth provider? LDAP
    Customer views? No

  • web UI version: 7.2.0

To Reproduce
Steps to reproduce the behavior:

  1. Open Google Chrome
  2. Open Alerta site
  3. Wait
  4. Out of memory in dev tools

image001

Expected behavior
All work without errors.

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.