Self-hosted integrations

Doctor Droid Proxy Service: Just-In-Time Data Access

Doctor Droid's proxy agent enables a user to connect Doctor Droid's intelligence platform with their data sources, while keeping the data source integrations within their VPC.

For example, while investigating some issues, it might be required to run investigation query in mongoDB instance that might be within your VPC. Using the proxy agent enables the Doctor Droid platform to fetch data only during an investigation.

A Sample Integration to Doctor Droid via the Proxy Server

A Sample Integration to Doctor Droid via the Proxy Server



Documentation

The Agent runs inside your VPC and acts as a reverse proxy to connect with your metric sources and send
metrics and related data to doctor droid cloud platform. The agent is designed to be lightweight and easy to deploy
with only egress tcp calls to Doctor Droid Cloud Platform.

Currently, the agent supports the following metric sources in your VPC:

  • Grafana
  • Grafana Loki
  • Cloudwatch
  • Azure AKS (via native Kubernetes)
  • AWS EKS (via AWS/native Kubernetes)
  • GKE (via native Kubernetes)
  • Kubernetes
  • New Relic
  • Datadog
  • Opensearch
  • MongoDB
  • Github
  • Postgres
  • Any SQL Database (via Sql Connection String)

Releasing soon (reach out to us if you need support for these or any other source):

  • Bash Commands
  • Azure

Env vars

Env Var NameDescriptionRequired
DRD_CLOUD_API_TOKENAuthentication token for doctor droid platformTrue
DRD_CLOUD_API_HOSTAPI server host for droid platformTrue

Configuration

  1. To get started create credentials/secret.yaml file with connections and corresponding credentials.
    Secret format for different connections can be referenced from credentials/credentials_template.yaml.

  2. Create an agent token needed for the authenticating http calls between doctor droid platform and agent by
    visiting site
    Once auth token is available, you can set the env var as DRD_CLOUD_API_TOKEN=<API_TOKEN>

  3. Install via Docker-Compose: To run via docker-compose you will have to clone the github project locally and run this:

DRD_CLOUD_API_TOKEN=<API_TOKEN> DRD_CLOUD_API_HOST=<API_SERVER_HOST> docker-compose -f agent.docker-compose.yaml up
  1. Install via Helm Charts
    Pre configuration steps:
    a. Copy and paste the token generated in step 2 in the values.yaml file under var : 'DRD_CLOUD_API_TOKEN'
    Ensure the values are updated in:

    i. helm/charts/celery_beat/values.yaml
    Screenshot 2024-12-20 at 14 03 25

    ii. helm/charts/celery_worker/values.yaml
    Screenshot 2024-12-20 at 14 03 25

    b. The secrets for the integrations to be installed are to be added in helm/configmap.yaml file.
    Refer to the image below for a sample:
    Screenshot 2024-12-20 at 14 02 43

cd helm
kubectl create namespace drdroid
kubectl apply -f configmap.yaml -n drdroid
helm upgrade --install drd-vpc-agent . -n drdroid

In case you are looking to create access for running kubectl commands on this cluster from Doctor Droid platform, run
the following as well.

kubectl apply -f clusterRole.yaml -n drdroid
kubectl apply -f clusterRoleBinding.yaml -n drdroid

Support

Visit Doctor Droid website for getting early access.
Go through our documentation to learn more.