Skip to content

instana/otel-dc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ODCD (OpenTelemetry based Data Collector for Telemetry Data)

Semantic Convention | Support | Changelog | Contributing | License


ODCD (OpenTelemetry based Data Collector for Telemetry Data) is a collection of stanalone OpenTelemetry receivers for databases, systems, and apps. All implementations are based on predefined OpenTelemetry Semantic Conventions. A standard OTLP exporter is provided to forward the data from this "Data Collector" to a Telemetry backend or an OpenTelemetry Collector.



Data Collectors

Requirements

  • Data Collectors for Host Java 8+
  • Data Collectors for Databases Java 8+
  • Data Collectors for LLM Java 11+

Build & Installation

  1. Make sure Java SDK is installed.
java -version
  1. Get the source code from github.com.
git clone https://github.com/instana/otel-dc.git
  • Data Collectors for Host
cd otel-dc/host
  • Data Collectors for Databases
cd otel-dc/rdb
  • Data Collectors for LLM
cd otel-dc/llm
  1. Build with Gradle
./gradlew clean build

Note: gradle 7.4 will be installed if you do not have it.

Run

  • Run with source code (Take the database plugin as an example)

  1. Make sure code is built with Java SDK required version.

  2. Refine configuration file (config/config.yaml) according to your own database. Right now we provide Data Collector for following databases:

  • DaMeng database
  • Oceanbase
  • Informix

*Note: We respect the OTel community conventions and consider more about popular database engines for conventionss. While we may create implementations from those databases without OTel support based on user requirements or developer contributions. *

  1. Start up your OTLP backend which accept OTLP connections. Right now we support following protocols:
  • otlp/grpc
  • otlp/http
  1. Option-1: Run the Data Collector with gradle
./gradlew run
  1. Option-2: Find the deployment package (e.g.:otel-dc-rdb-.tar/otel-dc-host-.tar/otel-dc-host-*.tar) generated by gradle in the "build/distributions/" directory, extract deployment files:
cd build/distributions/
tar vxf otel-dc-rdb-*.tar
rm -f *.tar *.zip
cd otel-dc-rdb-*

Refer to following chapter to run the Data Collector.

  • Run with release

Download the latest Release package according to the operating system.

Modify the configuration file.

Then, make sure following configuration files are correct for your environment.:

  • config/config.yaml
  • config/logging.properties

Run the Data Collector with following command according to your current implentation:

  • database
export DC_CONFIG=config/config.yaml
export JAVA_OPTS=-Dconfig/logging.properties
bin/otel-dc-rdb

Or run Data Collector in background

export DC_CONFIG=config/config.yaml
export JAVA_OPTS=-Dconfig/logging.properties
nohup bin/otel-dc-rdb > /dev/null 2>&1 &

Run the Data Collector with following command according to your current implentation:

  • host
export DC_CONFIG=config/config.yaml
export JAVA_OPTS=-Dconfig/logging.properties
bin/otel-dc-host

Or run Data Collector in background

export DC_CONFIG=config/config.yaml
export JAVA_OPTS=-Dconfig/logging.properties
nohup bin/otel-dc-host > /dev/null 2>&1 &
  • llm
export DC_CONFIG=config/config.yaml
export JAVA_OPTS=-Dconfig/logging.properties
bin/otel-dc-llm

Or run Data Collector in background

export DC_CONFIG=config/config.yaml
export JAVA_OPTS=-Dconfig/logging.properties
nohup bin/otel-dc-llm > /dev/null 2>&1 &

Note:

  1. You can omit this line to set DC_CONFIG because the default configuration file is "config/config.yaml", you can also use environment variable "DC_CONFIG" to speficy the configuration file, for example:
export DC_CONFIG=config/config-oceanbase.yaml
export JAVA_OPTS=-Dconfig/logging.properties
bin/otel-dc-rdb
  1. Query DataCollector
ps -ef | grep otel-dc | grep -v grep
  1. Stop DataCollector
ps -ef | grep otel-dc | grep -v grep | awk '{printf " "$2" "}' | xargs kill -9
  1. Check logging file
ls -l ~/*-dc*.log*