mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: Update 'Create alert' to 'New alert rule' in the panel and docs (#76950)
* Update 'Create alert' to 'New alert rule' in the panel and docs * Fix test
This commit is contained in:
@@ -202,7 +202,7 @@ Create alerts from any panel type. This means you can reuse the queries in the p
|
||||
|
||||
1. Navigate to a dashboard in the **Dashboards** section.
|
||||
2. In the top right corner of the panel, click on the three dots (ellipses).
|
||||
3. From the dropdown menu, select **More...** and then choose **Create alert**.
|
||||
3. From the dropdown menu, select **More...** and then choose **New alert rule**.
|
||||
|
||||
This will open the alert rule form, allowing you to configure and create your alert based on the current panel's query.
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ In these steps you'll create an alert and define an expression to evaluate. Thes
|
||||
|
||||
### Create a Grafana-managed alert
|
||||
|
||||
1. Navigate in Grafana to **Alerting**, then to **Alert Rules** and click **+ Create alert rule**.
|
||||
1. Navigate in Grafana to **Alerting**, then to **Alert Rules** and click **+ New alert rule**.
|
||||
1. Choose **Grafana Managed Alert** to create an alert that uses expressions.
|
||||
1. Select your Loki datasource from the drop-down.
|
||||
1. Enter the alert query in the query editor, switch to **code** mode in the top right corner of the editor to paste the query below:
|
||||
|
||||
@@ -328,7 +328,7 @@ We have now created a dummy webhook endpoint and created a new Alerting Contact
|
||||
Now that Grafana knows how to notify us, it's time to set up an alert rule:
|
||||
|
||||
1. In the sidebar, click **Alert rules**.
|
||||
1. Click **Create alert rule**.
|
||||
1. Click **New alert rule**.
|
||||
1. In section **1**, name the rule `fundamentals-test`.
|
||||
1. For section **2**, select **Grafana Managed Alert** as the rule type. Next, find query box **A**. Choose your Prometheus datasource and enter the same query that we used in our earlier panel: `sum(rate(tns_request_duration_seconds_count[5m])) by(route)`. Click **Run queries**. You should see some data in the graph.
|
||||
1. Now scroll down to query box **B**. Change the operation from **Reduce** to **Classic condition**. [You can read more about classic and multi-dimensional conditions here](/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/#single-and-multi-dimensional-rule). For conditions enter the following: `WHEN last() OF A IS ABOVE 0.2`. Delete query **C**.
|
||||
|
||||
@@ -21,7 +21,7 @@ export function getNavTitle(navId: string | undefined) {
|
||||
case 'import':
|
||||
return t('nav.create-import.title', 'Import dashboard');
|
||||
case 'alert':
|
||||
return t('nav.create-alert.title', 'Create alert rule');
|
||||
return t('nav.create-alert.title', 'New alert rule');
|
||||
case 'starred':
|
||||
return t('nav.starred.title', 'Starred');
|
||||
case 'starred-empty':
|
||||
|
||||
@@ -39,7 +39,7 @@ describe('Analytics', () => {
|
||||
});
|
||||
render(<NewRuleFromPanelButton panel={panel} dashboard={dashboard} />);
|
||||
|
||||
const button = screen.getByText('Create alert rule from this panel');
|
||||
const button = screen.getByText('New alert rule');
|
||||
|
||||
button.addEventListener('click', (event) => event.preventDefault(), false);
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ export const NewRuleFromPanelButton = ({ dashboard, panel, className }: Props) =
|
||||
);
|
||||
|
||||
if (loading) {
|
||||
return <Button disabled={true}>Create alert rule from this panel</Button>;
|
||||
return <Button disabled={true}>New alert rule</Button>;
|
||||
}
|
||||
|
||||
if (!formValues) {
|
||||
@@ -54,7 +54,7 @@ export const NewRuleFromPanelButton = ({ dashboard, panel, className }: Props) =
|
||||
className={className}
|
||||
data-testid="create-alert-rule-button"
|
||||
>
|
||||
Create alert rule from this panel
|
||||
New alert rule
|
||||
</LinkButton>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -157,7 +157,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
{
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
@@ -215,7 +215,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
alert: {
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
|
||||
@@ -625,7 +625,7 @@ describe('getPanelMenu()', () => {
|
||||
});
|
||||
});
|
||||
describe('Alerting menu', () => {
|
||||
it('should render Create alert menu item if user has permissions to read and update alerts ', () => {
|
||||
it('should render "New alert rule" menu item if user has permissions to read and update alerts ', () => {
|
||||
const panel = new PanelModel({});
|
||||
|
||||
const dashboard = createDashboardModelFixture({});
|
||||
@@ -637,13 +637,13 @@ describe('getPanelMenu()', () => {
|
||||
expect(moreSubMenu).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
text: 'Create alert',
|
||||
text: 'New alert rule',
|
||||
}),
|
||||
])
|
||||
);
|
||||
});
|
||||
|
||||
it('should not render Create alert menu item, if user does not have permissions to update alerts ', () => {
|
||||
it('should not render "New alert rule" menu item, if user does not have permissions to update alerts ', () => {
|
||||
const panel = new PanelModel({});
|
||||
const dashboard = createDashboardModelFixture({});
|
||||
|
||||
@@ -657,12 +657,12 @@ describe('getPanelMenu()', () => {
|
||||
expect(moreSubMenu).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.not.objectContaining({
|
||||
text: 'Create alert',
|
||||
text: 'New alert rule',
|
||||
}),
|
||||
])
|
||||
);
|
||||
});
|
||||
it('should not render Create alert menu item, if user does not have permissions to read update alerts ', () => {
|
||||
it('should not render "New alert rule" menu item, if user does not have permissions to read update alerts ', () => {
|
||||
const panel = new PanelModel({});
|
||||
|
||||
const dashboard = createDashboardModelFixture({});
|
||||
@@ -672,7 +672,7 @@ describe('getPanelMenu()', () => {
|
||||
const menuItems = getPanelMenu(dashboard, panel);
|
||||
|
||||
const moreSubMenu = menuItems.find((i) => i.text === 'More...')?.subMenu;
|
||||
const createAlertOption = moreSubMenu?.find((i) => i.text === 'Create alert')?.subMenu;
|
||||
const createAlertOption = moreSubMenu?.find((i) => i.text === 'New alert rule')?.subMenu;
|
||||
|
||||
expect(createAlertOption).toBeUndefined();
|
||||
});
|
||||
|
||||
@@ -261,7 +261,7 @@ export function getPanelMenu(
|
||||
|
||||
if (isCreateAlertMenuOptionAvailable) {
|
||||
subMenu.push({
|
||||
text: t('panel.header-menu.create-alert', `Create alert`),
|
||||
text: t('panel.header-menu.new-alert-rule', `New alert rule`),
|
||||
onClick: onCreateAlert,
|
||||
});
|
||||
}
|
||||
@@ -304,7 +304,7 @@ export function getPanelMenu(
|
||||
subMenu.length = 0;
|
||||
if (isCreateAlertMenuOptionAvailable) {
|
||||
subMenu.push({
|
||||
text: t('panel.header-menu.create-alert', `Create alert`),
|
||||
text: t('panel.header-menu.new-alert-rule', `New alert rule`),
|
||||
onClick: onCreateAlert,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -563,7 +563,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
{
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
@@ -622,7 +622,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
{
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
@@ -682,7 +682,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
{
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
@@ -742,7 +742,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
{
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
@@ -802,7 +802,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
{
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
@@ -862,7 +862,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
{
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
@@ -922,7 +922,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
{
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
@@ -933,7 +933,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
alert: {
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
@@ -984,7 +984,7 @@ export const navIndex: NavIndex = {
|
||||
},
|
||||
{
|
||||
id: 'alert',
|
||||
text: 'Create alert rule',
|
||||
text: 'New alert rule',
|
||||
subTitle: 'Create an alert rule',
|
||||
icon: 'plus',
|
||||
url: '/alerting/new',
|
||||
|
||||
@@ -882,7 +882,6 @@
|
||||
"panel": {
|
||||
"header-menu": {
|
||||
"copy": "Kopieren",
|
||||
"create-alert": "",
|
||||
"create-library-panel": "Bibliotheksleiste erstellen",
|
||||
"duplicate": "Duplikat",
|
||||
"edit": "Bearbeiten",
|
||||
@@ -893,6 +892,7 @@
|
||||
"inspect-data": "Daten",
|
||||
"inspect-json": "Panel-JSON",
|
||||
"more": "Mehr …",
|
||||
"new-alert-rule": "",
|
||||
"query": "Abfrage",
|
||||
"remove": "Entfernen",
|
||||
"share": "Teilen",
|
||||
|
||||
@@ -882,7 +882,6 @@
|
||||
"panel": {
|
||||
"header-menu": {
|
||||
"copy": "Copy",
|
||||
"create-alert": "Create alert",
|
||||
"create-library-panel": "Create library panel",
|
||||
"duplicate": "Duplicate",
|
||||
"edit": "Edit",
|
||||
@@ -893,6 +892,7 @@
|
||||
"inspect-data": "Data",
|
||||
"inspect-json": "Panel JSON",
|
||||
"more": "More...",
|
||||
"new-alert-rule": "New alert rule",
|
||||
"query": "Query",
|
||||
"remove": "Remove",
|
||||
"share": "Share",
|
||||
|
||||
@@ -888,7 +888,6 @@
|
||||
"panel": {
|
||||
"header-menu": {
|
||||
"copy": "Copiar",
|
||||
"create-alert": "",
|
||||
"create-library-panel": "Crear panel de librería",
|
||||
"duplicate": "Duplicar",
|
||||
"edit": "Editar",
|
||||
@@ -899,6 +898,7 @@
|
||||
"inspect-data": "Datos",
|
||||
"inspect-json": "JSON de panel",
|
||||
"more": "Más...",
|
||||
"new-alert-rule": "",
|
||||
"query": "Consulta",
|
||||
"remove": "Eliminar",
|
||||
"share": "Compartir",
|
||||
|
||||
@@ -888,7 +888,6 @@
|
||||
"panel": {
|
||||
"header-menu": {
|
||||
"copy": "Copier",
|
||||
"create-alert": "",
|
||||
"create-library-panel": "Créer un panneau Bibliothèque",
|
||||
"duplicate": "Dupliquer",
|
||||
"edit": "Modifier",
|
||||
@@ -899,6 +898,7 @@
|
||||
"inspect-data": "Données",
|
||||
"inspect-json": "Panneau JSON",
|
||||
"more": "Plus...",
|
||||
"new-alert-rule": "",
|
||||
"query": "Requête",
|
||||
"remove": "Supprimer",
|
||||
"share": "Partager",
|
||||
|
||||
@@ -882,7 +882,6 @@
|
||||
"panel": {
|
||||
"header-menu": {
|
||||
"copy": "Cőpy",
|
||||
"create-alert": "Cřęäŧę äľęřŧ",
|
||||
"create-library-panel": "Cřęäŧę ľįþřäřy päʼnęľ",
|
||||
"duplicate": "Đūpľįčäŧę",
|
||||
"edit": "Ēđįŧ",
|
||||
@@ -893,6 +892,7 @@
|
||||
"inspect-data": "Đäŧä",
|
||||
"inspect-json": "Päʼnęľ ĴŜØŃ",
|
||||
"more": "Mőřę...",
|
||||
"new-alert-rule": "Ńęŵ äľęřŧ řūľę",
|
||||
"query": "Qūęřy",
|
||||
"remove": "Ŗęmővę",
|
||||
"share": "Ŝĥäřę",
|
||||
|
||||
@@ -876,7 +876,6 @@
|
||||
"panel": {
|
||||
"header-menu": {
|
||||
"copy": "复制",
|
||||
"create-alert": "",
|
||||
"create-library-panel": "创建库面板",
|
||||
"duplicate": "复制",
|
||||
"edit": "编辑",
|
||||
@@ -887,6 +886,7 @@
|
||||
"inspect-data": "数据",
|
||||
"inspect-json": "面板 JSON",
|
||||
"more": "更多...",
|
||||
"new-alert-rule": "",
|
||||
"query": "查询",
|
||||
"remove": "删除",
|
||||
"share": "分享",
|
||||
|
||||
Reference in New Issue
Block a user