hasura / graphql-engine

Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
https://hasura.io
Apache License 2.0
31.07k stars 2.76k forks source link

Open Telemetry Monitoring integration with Google Cloud Trace API #9607

Open Endless8 opened 1 year ago

Endless8 commented 1 year ago

Version Information

Server Version: v2.23.0-cloud.1

Environment

Cloud

What is the current behaviour?

We're facing an error in the Open Telemetry Monitoring integration. We're trying to send the project traces to the Google Cloud Trace API endpoint that is something like /v1/projects/{projectId}/traces but the Hasura Cloud client is trying to send those traces to /v1/traces endpoint instead, resulting in a 404 error. We also tried setting up a reverse proxy that expose /v1/traces endpoint and redirect the request to the correct endpoint but we still get the 404 error.

What is the expected behaviour?

I'm expecting the Hasura Cloud client to send traces to the specified endpoint

How to reproduce the issue?

  1. From the https://cloud.hasura.io/projects screen go into project setting.
  2. In the Integrations tab configure a new Open Telemetry integration with a working Cloud Trace API endpoint and the other required parameters.
  3. Save the configuration and wait for the client trying to send the traces.

Screenshots or Screencast

Example with Google Cloud Trace API endpoint: Screenshot 2023-04-26 103713

Example with custom reverse proxy to the Cloud Trace API: Screenshot 2023-04-26 103948

Keywords

cloud #monitoring #opentelemetry #googlecloudtrace

111mihir commented 1 year ago

Hello,

Google cloud Traces does not have direct support for OpenTelemetry. Instead, you'll need to run Opentelemetry collector which will receive the traces from Hasura Cloud and send it to Google Cloud Traces.

Please try this and let us know if it solves your issue.