diff --git a/public/app/plugins/datasource/elasticsearch/LegacyQueryRunner.ts b/public/app/plugins/datasource/elasticsearch/LegacyQueryRunner.ts index fc923f91dd9..3bc2126b77c 100644 --- a/public/app/plugins/datasource/elasticsearch/LegacyQueryRunner.ts +++ b/public/app/plugins/datasource/elasticsearch/LegacyQueryRunner.ts @@ -75,7 +75,7 @@ export class LegacyQueryRunner { const message = err.data.error?.reason ?? err.data.message ?? 'Unknown error'; return throwError({ - message: 'Elasticsearch error: ' + message, + message, error: err.data.error, }); } diff --git a/public/app/plugins/datasource/elasticsearch/datasource.test.ts b/public/app/plugins/datasource/elasticsearch/datasource.test.ts index e116d18c360..b559e3b5b13 100644 --- a/public/app/plugins/datasource/elasticsearch/datasource.test.ts +++ b/public/app/plugins/datasource/elasticsearch/datasource.test.ts @@ -505,7 +505,7 @@ describe('ElasticDatasource', () => { const errObject = { error: 'Bad Request', - message: 'Elasticsearch error: Authentication to data source failed', + message: 'Authentication to data source failed', }; await expect(ds.query(query)).toEmitValuesWith((received) => { diff --git a/public/app/plugins/datasource/elasticsearch/datasource.ts b/public/app/plugins/datasource/elasticsearch/datasource.ts index a0f9efa3414..c8cd535de34 100644 --- a/public/app/plugins/datasource/elasticsearch/datasource.ts +++ b/public/app/plugins/datasource/elasticsearch/datasource.ts @@ -426,15 +426,12 @@ export class ElasticDatasource message: 'No date field named ' + this.timeField + ' found', }); } - return of({ status: 'success', message: `${versionMessage}Index OK. Time field name OK` }); + return of({ status: 'success', message: `${versionMessage}Data source successfully connected.` }); }), catchError((err) => { - console.error(err); - if (err.message) { - return of({ status: 'error', message: err.message }); - } else { - return of({ status: 'error', message: err.status }); - } + const infoInParentheses = err.message ? ` (${err.message})` : ''; + const message = `Unable to connect with Elasticsearch${infoInParentheses}. Please check the server logs for more details.`; + return of({ status: 'error', message }); }) ) );