Connect self hosted Grafana to AWS Opensearch

I have a self hosted instance of Grafana in an AWS VPC and in the same VPC running an AWS managed instance of Opensearch. AWS Opensearch doesn’t expose port 9200 or define a @timestamp field, just and endpoint. Is it possible to use Opensearch as a datasource for a self hosted Grafana instance?

Hi, thanks for the reply. I’ve installed this and get the following error

OpenSearch error: <!doctype html>Grafana.preloader { height: 100%; flex-direction: column; display: flex; justify-content: center; align-items: center; } .preloader__enter { opacity: 0; animation-name: preloader-fade-in; animation-iteration-count: 1; animation-duration: 0.9s; animation-delay: 1.35s; animation-fill-mode: forwards; } .preloader__bounce { text-align: center; animation-name: preloader-bounce; animation-duration: 0.9s; animation-iteration-count: infinite; } .preloader__logo { display: inline-block; animation-name: preloader-squash; animation-duration: 0.9s; animation-iteration-count: infinite; width: 60px; height: 60px; background-repeat: no-repeat; background-size: contain; background-image: url(‘public/img/grafana_icon.svg’); } .preloader__text { margin-top: 16px; font-weight: 500; font-size: 14px; font-family: Sans-serif; opacity: 0; animation-name: preloader-fade-in; animation-duration: 0.9s; animation-delay: 1.8s; animation-fill-mode: forwards; } .theme-light .preloader__text { color: #52545c; } .theme-dark .preloader__text { color: #d8d9da; } @keyframes preloader-fade-in { 0% { opacity: 0; animation-timing-function: cubic-bezier(0, 0, 0.5, 1); } 100% { opacity: 1; } } @keyframes preloader-bounce { from, to { transform: translateY(0px); animation-timing-function: cubic-bezier(0.3, 0, 0.1, 1); } 50% { transform: translateY(-50px); animation-timing-function: cubic-bezier(0.9, 0, 0.7, 1); } } @keyframes preloader-squash { 0% { transform: scaleX(1.3) scaleY(0.8); animation-timing-function: cubic-bezier(0.3, 0, 0.1, 1); transform-origin: bottom center; } 15% { transform: scaleX(0.75) scaleY(1.25); animation-timing-function: cubic-bezier(0, 0, 0.7, 0.75); transform-origin: bottom center; } 55% { transform: scaleX(1.05) scaleY(0.95); animation-timing-function: cubic-bezier(0.9, 0, 1, 1); transform-origin: top center; } 95% { transform: scaleX(0.75) scaleY(1.25); animation-timing-function: cubic-bezier(0, 0, 0, 1); transform-origin: bottom center; } 100% { transform: scaleX(1.3) scaleY(0.8); transform-origin: bottom center; animation-timing-function: cubic-bezier(0, 0, 0.7, 1); } } .preloader__text–fail { display: none; } .preloader–done .preloader__bounce, .preloader–done .preloader__logo { animation-name: none; display: none; } .preloader–done .preloader__logo, .preloader–done .preloader__text { display: none; color: #ff5705 !important; font-size: 15px; } .preloader–done .preloader__text–fail { display: block; } [ng:cloak], [ng-cloak], .ng-cloak { display: none !important; }

Loading Grafana

If you’re seeing this Grafana has failed to load its application files

1. This could be caused by your reverse proxy settings.

2. If you host grafana under subpath make sure your grafana.ini root_url setting includes subpath. If not using a reverse proxy make sure to set serve_from_sub_path to true.

3. If you have a local dev build make sure you build frontend using: yarn start, yarn start:hot, or yarn build

4. Sometimes restarting grafana-server can help

5. Check if you are using a non-supported browser. For more information, refer to the list of supported browsers.

window.grafanaBootData = { user: {“isSignedIn”:true,“id”:1,“externalUserId”:“”,“login”:“admin”,“email”:“admin@localhost”,“name”:“admin”,“lightTheme”:false,“orgCount”:1,“orgId”:1,“orgName”:“Laser Digital”,“orgRole”:“Admin”,“isGrafanaAdmin”:true,“gravatarUrl”:“/public/img/user_profile.png”,“timezone”:“browser”,“weekStart”:“browser”,“locale”:“en-US”,“helpFlags1”:0,“hasEditPermissionInFolders”:true,“permissions”:

My configuration looks like this