Skip to content

Commit

Permalink
OpenSearch 1.1.0 release (opensearch-project#103)
Browse files Browse the repository at this point in the history
* Create opensearch-alerting-dashboards-plugin.release-notes-1.1.0.0.md (opensearch-project#101)

* Create opensearch-alerting-dashboards-plugin.release-notes-1.1.0.0.md

* Create opensearch-alerting-dashboards-plugin.release-notes-1.1.0.0.md

Signed-off-by: Annie Lee <[email protected]>

* Update opensearch-alerting-dashboards-plugin.release-notes-1.1.0.0.md

Signed-off-by: Annie Lee <[email protected]>

* Update comments

Signed-off-by: Annie Lee <[email protected]>

* Update version in package.json (opensearch-project#102)

* Update package.json

* Update opensearch-alerting-dashboards-plugin.release-notes-1.1.0.0.md

Signed-off-by: Annie Lee <[email protected]>

* Update opensearch-alerting-dashboards-plugin.release-notes-1.1.0.0.md

Signed-off-by: Annie Lee <[email protected]>

* Text updates  (opensearch-project#105)

* Add icon tooltip

* Update text and rename MonitorDefinitionCard directory

* Update Schedule.js

* Update Schedule.js

Signed-off-by: Annie Lee <[email protected]>

* Update opensearch-alerting-dashboards-plugin.release-notes-1.1.0.0.md

* Remove license

Signed-off-by: Annie Lee <[email protected]>
  • Loading branch information
annie3431 authored and AWSHurneyt committed Mar 11, 2022
1 parent 57af0de commit 75320a2
Show file tree
Hide file tree
Showing 16 changed files with 137 additions and 19 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "opensearch-alerting-dashboards",
"version": "1.0.0.0",
"version": "1.1.0.0",
"description": "OpenSearch Dashboards Alerting Plugin",
"main": "index.js",
"license": "Apache-2.0",
Expand Down
28 changes: 28 additions & 0 deletions public/components/IconToolTip/IconToolTip.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* SPDX-License-Identifier: Apache-2.0
*
* The OpenSearch Contributors require contributions made to
* this file be licensed under the Apache-2.0 license or a
* compatible open source license.
*
* Modifications Copyright OpenSearch Contributors. See
* GitHub history for details.
*/

import React from 'react';
import PropTypes from 'prop-types';
import { EuiIcon, EuiToolTip } from '@elastic/eui';

const IconToolTip = ({ iconType, content, position = 'top' }) => (
<EuiToolTip position={position} content={content}>
<EuiIcon type={iconType} />
</EuiToolTip>
);

IconToolTip.propTypes = {
iconType: PropTypes.string.isRequired,
content: PropTypes.string,
position: PropTypes.string,
};

export default IconToolTip;
14 changes: 14 additions & 0 deletions public/components/IconToolTip/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
* SPDX-License-Identifier: Apache-2.0
*
* The OpenSearch Contributors require contributions made to
* this file be licensed under the Apache-2.0 license or a
* compatible open source license.
*
* Modifications Copyright OpenSearch Contributors. See
* GitHub history for details.
*/

import IconToolTip from './IconToolTip';

export default IconToolTip;
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,16 @@ import { EuiText, EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui';
import { UNITS_OF_TIME } from './utils/constants';
import { FormikFieldNumber, FormikSelect } from '../../../../../components/FormControls';
import { hasError, isInvalid, validatePositiveInteger } from '../../../../../utils/validate';
import IconToolTip from '../../../../../components/IconToolTip';
import { TIME_RANGE_TOOLTIP_TEXT } from '../../../containers/CreateMonitor/utils/constants';

class ForExpression extends Component {
render() {
return (
<div>
<EuiText size="xs">
<strong>Time range for the last</strong>
<strong>Time range for the last </strong>
<IconToolTip content={TIME_RANGE_TOOLTIP_TEXT} iconType="questionInCircle" />
</EuiText>
<EuiSpacer size={'s'} />
<EuiFlexGroup style={{ maxWidth: 600 }}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ import GroupByItem from './GroupByItem';
import { GROUP_BY_ERROR } from './utils/constants';
import { MONITOR_TYPE } from '../../../../../utils/constants';
import { inputLimitText } from '../../../../../utils/helpers';
import {
GROUP_BY_TOOLTIP_TEXT,
TIME_RANGE_TOOLTIP_TEXT,
} from '../../../containers/CreateMonitor/utils/constants';
import IconToolTip from '../../../../../components/IconToolTip';

export const MAX_NUM_QUERY_LEVEL_GROUP_BYS = 1;
export const MAX_NUM_BUCKET_LEVEL_GROUP_BYS = 2;
Expand Down Expand Up @@ -103,8 +108,9 @@ class GroupByExpression extends Component {
return (
<div id="groupBy">
<EuiText size="xs">
<strong>Group by</strong>
{!isBucketLevelMonitor ? <i> - optional</i> : null}
<strong>Group by </strong>
{!isBucketLevelMonitor ? <i>- optional </i> : null}
<IconToolTip content={GROUP_BY_TOOLTIP_TEXT} iconType="questionInCircle" />
</EuiText>
<EuiSpacer size={'s'} />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,18 @@

import React, { Component } from 'react';
import { connect } from 'formik';
import { EuiText, EuiButtonEmpty, EuiSpacer, EuiBadge } from '@elastic/eui';
import { EuiText, EuiButtonEmpty, EuiSpacer, EuiBadge, EuiToolTip, EuiIcon } from '@elastic/eui';
import { getIndexFields } from './utils/dataTypes';
import { getMetricExpressionAllowedTypes, validateAggregationsDuplicates } from './utils/helpers';
import _ from 'lodash';
import { FORMIK_INITIAL_AGG_VALUES } from '../../../containers/CreateMonitor/utils/constants';
import {
FORMIK_INITIAL_AGG_VALUES,
METRIC_TOOLTIP_TEXT,
} from '../../../containers/CreateMonitor/utils/constants';
import { MetricItem } from './index';
import { MONITOR_TYPE } from '../../../../../utils/constants';
import { inputLimitText } from '../../../../../utils/helpers';
import IconToolTip from '../../../../../components/IconToolTip';

export const MAX_NUM_QUERY_LEVEL_METRICS = 1;
export const MAX_NUM_BUCKET_LEVEL_METRICS = 5;
Expand Down Expand Up @@ -111,7 +115,8 @@ class MetricExpression extends Component {
<div id="aggregations">
<EuiText size="xs">
<strong>Metrics</strong>
<i> - optional</i>
<i> - optional </i>
<IconToolTip content={METRIC_TOOLTIP_TEXT} iconType="questionInCircle" />
</EuiText>
<EuiSpacer size="s" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,14 +63,19 @@ import {
FormikFieldText,
} from '../../../../../components/FormControls';
import { getFilteredIndexFields, getIndexFields } from './utils/dataTypes';
import { FORMIK_INITIAL_VALUES } from '../../../containers/CreateMonitor/utils/constants';
import {
FILTERS_TOOLTIP_TEXT,
FORMIK_INITIAL_VALUES,
TIME_RANGE_TOOLTIP_TEXT,
} from '../../../containers/CreateMonitor/utils/constants';
import { DATA_TYPES } from '../../../../../utils/constants';
import {
TRIGGER_COMPARISON_OPERATORS,
TRIGGER_OPERATORS_MAP,
} from '../../../../CreateTrigger/containers/DefineBucketLevelTrigger/DefineBucketLevelTrigger';
import { FORMIK_INITIAL_TRIGGER_VALUES } from '../../../../CreateTrigger/containers/CreateTrigger/utils/constants';
import { inputLimitText } from '../../../../../utils/helpers';
import IconToolTip from '../../../../../components/IconToolTip';

const propTypes = {
formik: PropTypes.object.isRequired,
Expand Down Expand Up @@ -243,7 +248,8 @@ class WhereExpression extends Component {
<div>
<EuiText size="xs">
<strong>{whereFilterHeader}</strong>
<i> - optional</i>
<i> - optional </i>
<IconToolTip content={FILTERS_TOOLTIP_TEXT} iconType="questionInCircle" />
</EuiText>
<EuiSpacer size={'s'} />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ const onChangeDefinition = (e, form) => {

const queryLevelDescription = (
<EuiText color={'subdued'} size={'xs'} style={{ paddingBottom: '10px', paddingTop: '0px' }}>
Per query monitors run a specified query and allow you to define triggers based on the result of
that query.
Per query monitors run a specified query and define triggers that check the results of that
query.
</EuiText>
);

const bucketLevelDescription = (
<EuiText color={'subdued'} size={'xs'} style={{ paddingBottom: '10px', paddingTop: '0px' }}>
Per bucket monitors allow you to group results into buckets and define triggers that run per
Per bucket monitors allow you to group results into buckets and define triggers that check each
bucket.
</EuiText>
);
Expand Down
6 changes: 3 additions & 3 deletions public/pages/CreateMonitor/components/Schedule/Schedule.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ const Schedule = ({ isAd }) => (
{isAd ? (
<EuiText color={'subdued'} size={'xs'} style={{ maxWidth: '400px' }}>
<p>
Define how often the monitor collects data and determines how often you may receive
alerts. We recommend scheduling the monitor at least twice the detector interval to avoid
missing anomaly results.
Define how often the monitor collects data and how often you may receive alerts. We
recommend setting this frequency to two times the detector interval to avoid missing
anomalous results from delayed processing time.
</p>
</EuiText>
) : null}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,9 @@ export const FORMIK_INITIAL_AGG_VALUES = {
};

export const DEFAULT_COMPOSITE_AGG_SIZE = 50;

export const METRIC_TOOLTIP_TEXT = 'Extracted statistics such as simple calculations of data.';
export const TIME_RANGE_TOOLTIP_TEXT = 'The time frame of data the plugin should monitor.';
export const FILTERS_TOOLTIP_TEXT =
'Use a filter to retrieve a subset of the original data source.';
export const GROUP_BY_TOOLTIP_TEXT = 'Specify a field whose every unique value can trigger alerts.';
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import ContentPanel from '../../../../components/ContentPanel';
import FormikFieldText from '../../../../components/FormControls/FormikFieldText';
import { hasError, isInvalid, required, validateMonitorName } from '../../../../utils/validate';
import Schedule from '../../components/Schedule';
import MonitorDefinitionCard from '../../components/MonitorDefinitionCards';
import MonitorDefinitionCard from '../../components/MonitorDefinitionCard';
import MonitorType from '../../components/MonitorType';
import AnomalyDetectors from '../AnomalyDetectors/AnomalyDetectors';

Expand Down Expand Up @@ -62,7 +62,6 @@ function renderEmptyMessage(message) {
);
}

// TODO: Make sure that resetResponse is defined in Query and passed to MonitorDetails
const MonitorDetails = ({
values,
errors,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ export function bucketLevelTriggerToFormik(trigger, monitor) {
anomalyDetector: {
/*If trigger type doesn't exist fallback to query trigger with following reasons
1. User has changed monitory type from normal monitor to AD monitor.
2. User has created / updated from API and visiting Kibana to do other operations.
2. User has created / updated from API and visiting OpenSearch Dashboards to do other operations.
*/
triggerType: triggerType ? triggerType : TRIGGER_TYPE.ALERT_TRIGGER,
anomalyGradeThresholdValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ class MonitorHistory extends PureComponent {
/*
brushAreaStart Duration is to defined the start point for smaller window over zoomer
on which time line will be displayed. Duration will default to what interval has been
computed to ES bucket in case it is too small,
computed to OpenSearch bucket in case it is too small,
just scale it so that customer can have better experience
*/
const {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
## Version 1.1.0.0 2021-09-07

Compatible with OpenSearch Dashboards 1.1.0

### Features

* Bucket level alerting create monitor page refactor ([#62](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/62))
* Add DefineBucketLevelTrigger component ([#63](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/63))
* Refactor CreateTrigger components to support single-page experience ([#64](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/64))
* Update CreateMonitor to incorporate new single-page experience ([#65](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/65))
* Update Monitor overview page ([#66](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/66))
* Alert dashboard table column update ([#67](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/67))
* Refactored query and bucket-level trigger definitions to align with new mocks ([#68](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/68))
* Alert dashboard update on monitor ([#72](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/72))
* Create monitor page, bucket level monitor showing bar graph ([#73](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/73))
* Use destination api to validate destination name ([#69](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/69))
* Update Monitor Details panel ([#75](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/75))
* Flyout panel on alert dashboard page ([#78](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/78))
* Add button to refresh graph , add accordion to expand/collapse graph view ([#79](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/79))
* Add success toast message for create and update monitor ([#80](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/80))
* Refactored trigger condition popover to dropdown menu. Refactored actions panel to hide throttling for 'per execution' ([#81](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/81))
* Added Export JSON button and modal to create/edit Monitor page ([#82](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/82))
* Added Monitor state EuiHealth element, replaced state item in overview with Monitor level type ([#83](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/83))
* Update alert history graph for bucket-level monitors ([#84](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/84))
* Refactored query trigger definition components to align with mocks. ([#85](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/85))
* Removed the close button from the top-right of the alert dashboard flyout. Refactored monitor details page for anomaly detection monitors. ([#86](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/86))
* Several changes in query panel ([#87](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/87))
* Implemented test message toast. Fixed alerts dashboard severity display bug. ([#88](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/88))
* Refactored Dashboard::getMonitors to function without using the from and size parameters from getAlerts ([#89](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/89))
* Query level monitor updates ([#90](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/90))
* Changes of metrics expression and graph ([#95](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/95))
* Update formik conversion for Bucket-Level Trigger to handle throttle change ([#97](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/97))
* Implemented View alert details, and logic for landing page alerts dashboard. ([#98](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/98))
* Added limit text, adjusted spacing/sizing/text, etc. ([#100](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/100))
* Remove pagination and set default size of alerts pert trigger to 10000 ([#99](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/99))

### Enhancements

* Show Error Toast Message whenever action execution fails from backend due to incorrect configurations ([#22](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/22))
* Bucket level alerting dev UX review feedback ([#93](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/93))
* Text updates ([#105](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/105))

### Maintenance

* Commit the updated yarn lock to maintain consistency. ([#26](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/26))
* Add Integtest.sh for OpenSearch integtest setups ([#28](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/28))
* Allow for custom endpoints for cypress tests ([#29](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/29))
* Add Cypress tests for Bucket-Level Alerting ([#91](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/91))
* Update cypress-workflow.yml to use environment variable for OS and OS dashboard versions ([#96](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/96))
* Create opensearch-alerting-dashboards-plugin.release-notes-1.1.0.0.md ([#101](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/101))
* Update version in package.json ([#102](https://github.com/opensearch-project/alerting-dashboards-plugin/pull/102))

0 comments on commit 75320a2

Please sign in to comment.