Skip to content

Deploying on Hosts


Installing DataKit Agent

Before performing link analysis on systems and applications, you need to deploy the Guance DataKit collector on each target host to collect necessary link data.

Enabling the DDTrace Collector

DDTrace is used to receive, process, and analyze Tracing protocol data. Execute the following command to enable the DDTrace collector. For other third-party Tracing collector configurations, refer to Integrations.

cp /usr/local/datakit/conf.d/ddtrace/ddtrace.conf.sample /usr/local/datakit/conf.d/ddtrace/ddtrace.conf

After configuration, restart DataKit:

datakit service -R

Selecting a Language

Java

Installing dependencies:

wget -O dd-java-agent.jar 'https://static.guance.com/dd-image/dd-java-agent.jar'

Running the application:

You can run your Java Code through various methods such as IDE, Maven, Gradle, or directly via the java -jar command. Below is an example of starting the application using the java command:

java \ 
    -javaagent:/path/to/dd-java-agent.jar \ 
    -Ddd.logs.injection=true \ 
    -Ddd.agent.host=<YOUR-DATAKIT-HOST> \ 
    -Ddd.trace.agent.port=9529 \ 
    -jar path/to/your/app.jar

Parameter configuration:

  1. service.name: Service name;
  2. env: Environment information of the application service;
  3. version: Version number;
  4. Setting the sampling rate: Enabling this can reduce the actual data volume generated; the range is from 0.0 (0%) to 1.0 (100%);
  5. Collecting Profiling data: Enabling this allows you to see more runtime information of the application;
  6. Enabling JVM Metrics collection: Requires enabling the statsd collector simultaneously.

For more parameter configurations, refer to here.

Python

Installing dependencies:

pip install ddtrace

Running the application:

DD_LOGS_INJECTION=true \ 
DD_AGENT_HOST=localhost \ 
DD_AGENT_PORT=9529 \ 
ddtrace-run python my_app.py

Parameter configuration:

  1. service.name: Service name;
  2. env: Environment information of the application service;
  3. version: Version number;
  4. Setting the sampling rate: Enabling this can reduce the actual data volume generated; the range is from 0.0 (0%) to 1.0 (100%);
  5. Collecting Profiling data: Enabling this allows you to see more runtime information of the application;
  6. Enabling Python Metrics collection: Requires enabling the statsd collector simultaneously.

For more parameter configurations, refer to here.

Golang

Installing dependencies:

go get gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer

Running the application:

package main 

import ( 
   "io/ioutil" 
   "os" 
   "time" 
   httptrace "gopkg.in/DataDog/dd-trace-go.v1/contrib/net/http" 
   "gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer" 
) 

func main() { 
  tracer.Start( 
  ) 
  defer tracer.Stop() 
  // Create a traced mux router
  mux := httptrace.NewServeMux()
  // Continue using the router as you normally would.
  mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    time.Sleep(time.Second)
    w.Write([]byte("Hello World!"))
  })
  if err := http.ListenAndServe(":18080", mux); err != nil {
    log.Fatal(err)
  }
}

Parameter configuration:

  1. service.name: Service name;
  2. env: Environment information of the application service;
  3. version: Version number;
  4. Setting the sampling rate: Enabling this can reduce the actual data volume generated; the range is from 0.0 (0%) to 1.0 (100%);
  5. Collecting Profiling data: Enabling this allows you to see more runtime information of the application.

For more parameter configurations, refer to here.

Node.JS

C++

PHP

Feedback

Is this page helpful? ×