From f37d9bf13a90cc01f5d79cb58de8787d2824af6d Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Thu, 27 May 2021 12:11:40 +0100 Subject: [PATCH] check if alertmanager being configured is cortex or vanilla (#34726) (#34813) (cherry picked from commit 5660bb585f99e864f87c91b47ddd77740ec1520a) Co-authored-by: Domas --- .../app/plugins/datasource/alertmanager/ConfigEditor.tsx | 5 ++++- public/app/plugins/datasource/alertmanager/DataSource.ts | 9 ++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/public/app/plugins/datasource/alertmanager/ConfigEditor.tsx b/public/app/plugins/datasource/alertmanager/ConfigEditor.tsx index aa847c491a9..ecdec24025e 100644 --- a/public/app/plugins/datasource/alertmanager/ConfigEditor.tsx +++ b/public/app/plugins/datasource/alertmanager/ConfigEditor.tsx @@ -1,5 +1,5 @@ import { DataSourcePluginOptionsEditorProps } from '@grafana/data'; -import { DataSourceHttpSettings } from '@grafana/ui'; +import { Alert, DataSourceHttpSettings } from '@grafana/ui'; import React from 'react'; export type Props = DataSourcePluginOptionsEditorProps; @@ -7,6 +7,9 @@ export type Props = DataSourcePluginOptionsEditorProps; export const ConfigEditor: React.FC = ({ options, onOptionsChange }) => { return ( <> + + Note that only Cortex implementation of alert manager is supported at this time. + { try { alertmanagerResponse = await this._request('/api/v2/status'); + if (alertmanagerResponse && alertmanagerResponse?.status === 200) { + return { + status: 'error', + message: + 'Only Cortex alert manager implementation is supported. A URL to cortex instance should be provided.', + }; + } } catch (e) {} try { cortexAlertmanagerResponse = await this._request('/alertmanager/api/v2/status'); } catch (e) {} - return alertmanagerResponse?.status === 200 || cortexAlertmanagerResponse?.status === 200 + return cortexAlertmanagerResponse?.status === 200 ? { status: 'success', message: 'Health check passed.',