[openstack-dev] [Horizon] [UX] Design for Alarming and Alarm Management

Martinez, Christian christian.martinez at intel.com
Tue Jun 10 20:07:32 UTC 2014


Here my feedback regarding the designs:

Page 2:

*         I think that the admin would probably want to filter alarms per user, project, name, meter_name, current_alarm_state("ok"="alarm ready"; "insufficient data" = "alarm not ready"; "alarm" ="alarm triggered"), but we don't have all that columns on the table. Maybe it will be better just to add columns for those fields, or have another tables or tabs that could allow the admin to see the alarms based on that parameters.

*         I would add a "delete alarm" button as a table action

*         Nice to have: if we are thinking about "combining alarms", maybe having a "combine alarm" button as table action that gets activated when the admin selects two or more alarms.

o   When the button is clicked, it should show something like the "Add Alarm" dialog, allowing the user to create a new combined alarm, based on their previous alarm selection

Page 3-5:

*         Love the workflow!

*         A couple of things related to the "Alarm When" setup:

o   Depending on the resource that is "selected" (from page 2) you would have a list of the possible meters to be considered. For example, if your resource is an instance, you would have the following list of meters: number of instances, cpu time used, Average CPU utilization, memory, etc. This will also affect the "threshold" unit to be used. In the design, there is a textbox that has a percentage label ("%") right next to it. The thing is that this "threshold" could be a percentage (for example, CPU utilization), but it could be a flat number as well (for example, number of instances on the project).

o   (Related to your point 5) There are two things related to combined alarms that we need to consider.

?  1) the combination can be between any type of alarm: you could combine alarms associated to different resources, meters, users? (Ceilometer expert will know). You even could combine combined alarms with other alarms as well. The AND and OR operation between the alarms can be used for combined alarms. For instance, combine two alarms with an OR operator

?  2) Adding two rules to match to a single alarm is not supported by Ceilometer. For that, you use combined alarms :). The idea of adding triggering rules to the alarm creation dialog is great for me, but I'm not sure if Ceilometer supports that.

Page 6:

*         Really liked the way that actions and state could be set, but we should see how the notifications will be handled. Maybe these actions could be set "by default" in our first version and after that, start thinking about setting custom actions for alarm states in the future (same for email add-on  at the user settings)

Page 7:  "Viewing Alarm History" A.K.A: the alarms that have occurred.

*         Same as page 2: I think that the admin would probably want to filter alarms per user, project, name, meter_name, etc. (for instance, to see what alarms have being triggered on the project "X"), but we don't have that columns on the table. Maybe it will be better just to add columns for those fields, or have another tables or tabs that could allow the admin to see the alarms based on that parameters.

*         Is the alarm date column referring to the date in which the alarm was created or the date in which the alarm was triggered?

*         Is the alarm name content a link or a simple text? What would happen when the admin selects an alarm? Is It going to show the "update alarm dialog"? Are there any actions associated to the rows?

*         Maybe changing the name of the tab to "Activated alarms" or smth that actually it's interpreted as "in here you can see the alarms that have occurred".

Hope it helps

Cheers,
H

From: Liz Blanchard [mailto:lsurette at redhat.com]
Sent: Monday, June 9, 2014 2:36 PM
To: Eoghan Glynn
Cc: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [Horizon] [UX] Design for Alarming and Alarm Management

Hi all,

Thanks again for the great comments on the initial cut of wireframes. I've updated them a fair amount based on feedback in this e-mail thread along with the feedback written up here:
https://etherpad.openstack.org/p/alarm-management-page-design-discussion

Here is a link to the new version:
http://people.redhat.com/~lsurette/OpenStack/Alarm%20Management%20-%202014-06-05.pdf

And a quick explanation of the updates that I made from the last version:

1) Removed severity.

2) Added Status column. I also added details around the fact that users can enable/disable alerts.

3) Updated Alarm creation workflow to include choosing the project and user (optionally for filtering the resource list), choosing resource, and allowing for choose of amount of time to monitor for alarming.
     -Perhaps we could be even more sophisticated for how we let users filter down to find the right resources that they want to monitor for alarms?

4) As for notifying users...I've updated the "Alarms" section to be "Alarms History". The point here is to show any Alarms that have occurred to notify the user. Other notification ideas could be to allow users to get notified of alerts via e-mail (perhaps a user setting?). I've added a wireframe for this update in User Settings. Then the Alarms Management section would just be where the user creates, deletes, enables, and disables alarms. Do you still think we don't need the "alarms" tab? Perhaps this just becomes iteration 2 and is left out for now as you mention in your etherpad.

5) Question about combined alarms...currently I've designed it so that a user could create multiple levels in the "Alarm When..." section. They could combine these with AND/ORs. Is this going far enough? Or do we actually need to allow users to combine Alarms that might watch different resources?

6) I updated the Actions column to have the "More" drop down which is consistent with other tables in Horizon.

7) Added in a section in the "Add Alarm" workflow for "Actions after Alarm". I'm thinking we could have some sort of If State is X, do X type selections, but I'm looking to understand more details about how the backend works for this feature. Eoghan gave examples of logging and potentially scaling out via Heat. Would simple drop downs support these events?

8) I can definitely add in a "scheduling" feature with respect to Alarms. I haven't added it in yet, but I could see this being very useful in future revisions of this feature.

9) Another though is that we could add in some padding for outlier data as Eoghan mentioned. Perhaps a setting for "This has happened 3 times over the last minute, so now send an alarm."?

A new round of feedback is of course welcome :)

Best,
Liz

On Jun 4, 2014, at 1:27 PM, Liz Blanchard <lsurette at redhat.com<mailto:lsurette at redhat.com>> wrote:


Thanks for the excellent feedback on these, guys! I'll be working on making updates over the next week and will send a fresh link out when done. Anyone else with feedback, please feel free to fire away.

Best,
Liz
On Jun 4, 2014, at 12:33 PM, Eoghan Glynn <eglynn at redhat.com<mailto:eglynn at redhat.com>> wrote:



Hi Liz,

Two further thoughts occurred to me after hitting send on
my previous mail.

First, is the concept of alarm dimensioning; see my RDO Ceilometer
getting started guide[1] for an explanation of that notion.

"A key associated concept is the notion of dimensioning which defines the set of matching meters that feed into an alarm evaluation. Recall that meters are per-resource-instance, so in the simplest case an alarm might be defined over a particular meter applied to all resources visible to a particular user. More useful however would the option to explicitly select which specific resources we're interested in alarming on. On one extreme we would have narrowly dimensioned alarms where this selection would have only a single target (identified by resource ID). On the other extreme, we'd have widely dimensioned alarms where this selection identifies many resources over which the statistic is aggregated, for example all instances booted from a particular image or all instances with matching user metadata (the latter is how Heat identifies autoscaling groups)."

We'd have to think about how that concept is captured in the
UX for alarm creation/update.

Second, there are a couple of more advanced alarming features
that were added in Icehouse:

1. The ability to constrain alarms on time ranges, such that they
 would only fire say during 9-to-5 on a weekday. This would
 allow for example different autoscaling policies to be applied
 out-of-hours, when resource usage is likely to be cheaper and
 manual remediation less straight-forward.

2. The ability to exclude low-quality datapoints with anomolously
 low sample counts. This allows the leading edge of the trend of
 widely dimensioned alarms not to be skewed by eagerly-reporting
 outliers.

Perhaps not in a first iteration, but at some point it may make sense
to expose these more advanced features in the UI.

Cheers,
Eoghan

[1] http://openstack.redhat.com/CeilometerQuickStart



----- Original Message -----


Hi Liz,

Looks great!

Some thoughts on the wireframe doc:

* The description of form:

  "If CPU Utilization exceeds 80%, send alarm."

misses the time-window aspect of the alarm definition.

Whereas the boilerplate default descriptions generated by
ceilometer itself:

  "cpu_util > 70.0 during 3 x 600s"

captures this important info.

* The metric names, e.g. "CPU Utilization", are not an exact
match for the meter names used by ceilometer, e.g. "cpu_util".

* Non-admin users can create alarms in ceilometer:

"This is where admins can come in and
 define and edit any alarms they want
 the environment to use."

(though these alarms will only have visibility onto the stats
 that would be accessible to the user on behalf of whom the
 alarm is being evaluated)

* There's no concept currently of alarm severity.

* "Should users be able to enable/dis-able alarms."

Yes, the API allows for disabled (i.e. non-evaluated) alarms.

* "Should users be able to own/assign alarms?"

Only admin users can create an alarm on behalf of another
user/tenant.

* "Should users be able to acknowledge, close alarms?"

No, we have no concept of ACKing an alarm.

* "Admins can also see a full list of all Alarms that have
 taken place in the past."

In ceilometer terminology, we refer to this as alarm history
or alarm change events.

* "CPU Utilization exceeded 80%."

Again good to capture the duration in that description of the
event.

* "Within the Overview section, there should be a new tab that allows the
 user to click and view all Alarms that have occurred in their
 environment."

Not sure really what "environment" means here. Non-admin tenants only
have visibility to their own alarm, whereas admins have visibility to
all alarms.

* "This list would keep the latest  alarms."

Presumably this would be based on querying the alarm-history API,
as opposed to an assumption that Horizon is consuming the actual
alarm notifications?

Cheers,
Eoghan

----- Original Message -----

Hi All,

I've recently put together a set of wireframes[1] around Alarm Management
that would support the following blueprint:
https://blueprints.launchpad.net/horizon/+spec/ceilometer-alarm-management-page

If you have a chance it would be great to hear any feedback that folks have
on this direction moving forward with Alarms.

Best,
Liz

[1]
http://people.redhat.com/~lsurette/OpenStack/Alarm%20Management%20-%202014-05-30.pdf

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org<mailto:OpenStack-dev at lists.openstack.org>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org<mailto:OpenStack-dev at lists.openstack.org>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140610/cb0420ae/attachment.html>


More information about the OpenStack-dev mailing list