diff --git a/CHANGELOG.md b/CHANGELOG.md index 4dbbc98..ab8ed0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,4 +11,15 @@ _2023-11-14_ _2023-12-26_ -- Restructure code to support different types of plugins \ No newline at end of file +- Restructure code to support different types of plugins + +_2024_3_27_ + +- Support OTel environment variables: OTEL_EXPORTER_OTLP_HEADERS & OTEL_EXPORTER_OTLP_CERTIFICATE + +_2026-6-27_ + +- Add SNMP support +- Sdk vault integration + + diff --git a/README.md b/README.md index 9f831a0..0127309 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,29 @@ -# ODCD (OpenTelemetry Data Collector for Telemetry Data) +# ODCD (OpenTelemetry Data Collector Divers) **[Semantic Convention](docs/semconv)** | -**[Support](docs/support/README.md)** | **[Changelog](CHANGELOG.md)** | **[Contributing](CONTRIBUTING.md)** | **[License](LICENSE)** --- -ODCD (OpenTelemetry 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. +ODCD (OpenTelemetry Data Collector Divers) is a collection of stanalone OpenTelemetry receivers for databases, systems, apps, ant etc. 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 provided +## Data Collectors provided - [OTel Data Collectors for Relational Databases](rdb/README.md) (**Java 8+**) - [OTel Data Collectors for Host](host/README.md) (**Java 11+**) - [OTel Data Collectors for LLM](llm/README.md) (**Java 11+**) + +## Common Parameters for Data Collectors + +| Parameter | Scope | Description | Example | +|---------------------------|-----------|-----------------------------------------------------------------------------------------------------------------------|------------------------| +| otel.backend.url | instance | The otlp URL of the OTel Backend. E.g., http://localhost:4317 (grpc) or http://localhost:4318/v1/metrics (http) | http://127.0.0.1:4317 | +| otel.backend.using.http | instance | false (default, using otlp/grpc) or true (using otlp/http) | false | +| otel.service.name | instance | The OTel Service name (It is requred by OTel) | DamengDC | +| otel.service.instance.id | instance | The OTel Service instance ID (which is ID of this database entity. It can be generated by DC if it is not provided) | 1.2.3.4:5236@MYDB | +| poll.interval | instance | The time interval in seconds to query metrics | 25 | +| callback.interval | instance | The time interval in seconds to post data to backend | 30 | diff --git a/docs/developer/new-db.md b/docs/developer/new-db.md index fe422e2..61752e9 100644 --- a/docs/developer/new-db.md +++ b/docs/developer/new-db.md @@ -55,7 +55,7 @@ Here is the list of redefined database and OTel parameters: | otel.backend.using.http | false (default, using otlp/grpc) or true (using otlp/http) | false | | otel.service.name | The OTel Service name (It is requred by OTel) | DamengDC | | otel.service.instance.id | The OTel Service instance ID (which is ID of this database entity. It can be generated by DC if it is not provided) | 1.2.3.4:5236@MYDB | -| poll.interval | The time interval in seconds to query metrics | 20 | +| poll.interval | The time interval in seconds to query metrics | 25 | | callback.interval | The time interval in seconds to post data to backend | 30 | | db.entity.parent.id | It there is a parent of this entity, set to the otel.service.instance.id of the parent | cluster@OBCluster1 | diff --git a/host/README.md b/host/README.md index 6ca4cff..5e7f27a 100644 --- a/host/README.md +++ b/host/README.md @@ -1,16 +1,3 @@ -# ODCD (OpenTelemetry Data Collector for Telemetry Data) - -**[Semantic Convention](../docs/semconv)** | -**[Support](../docs/support/README.md)** | -**[Changelog](../CHANGELOG.md)** | -**[Contributing](../CONTRIBUTING.md)** | -**[License](../LICENSE)** - ---- -ODCD (OpenTelemetry 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 Collector for Hosts @@ -53,18 +40,33 @@ Refine configuration file (config/config.yaml) according to your host. Right now export DC_CONFIG=config/config-mqappliance.yaml ``` -Notes for some parameters: -- `otel.backend.url`:The OTel gRPC address of the OTel backends, for example Instana Agent (as OTel Backend): http://localhost:4317 -- `otel.service.name`:The Data Collector name, which can be any string you choose. - 4) Run Data Collector Run the Data Collector with the following command according to your current system: ```bash nohup ./bin/otel-dc-host ``` - -## Build & Run (for develpers) +## Specific Parameters for Host Data Collectors + +| Parameter | Scope | Description | Example | +|--------------------|-----------------------|-----------------------------------------------------------------------------|---------------------------| +| host.system | global | The engine of this host data collector | snmp_host or mq_appliance | +| snmp.host | instance/snmp_host | The endpoint of SNMP host | udp:9.112.252.102/161 | +| host.name | instance/snmp_host | Optional: use this to overwrite the value got by SNMP | stantest0.fyre.ibm.com | +| os.type | instance/snmp_host | Optional: use this to overwrite the value got by SNMP | linux | +| community | instance/snmp_host | Optional: The community string (default: public) | public | +| retries | instance/snmp_host | Optional: times to retry (default: 3) | 3 | +| timeout | instance/snmp_host | Optional: timesout in ms (default: 450) | 450 | +| version | instance/snmp_host | Optional: version of SNMP (0:version1, 1:version2c, 3:version3) (default:1) | 1 | +| securityLevel | instance/snmp_host | Optional: Choose 1:NOAUTH_NOPRIV 2:AUTH_NOPRIV 3:AUTH_PRIV (default: 1) | 3 | +| authPassword | instance/snmp_host | Optional: Auth password (version 3) (default: "") | password | +| privacyPassword | instance/snmp_host | Optional: Privacy password (version 3) (default: "") | password | +| appliance.host | instance/mq_appliance | host name for MQ appliance | testbox1.mqappliance.com | +| appliance.user | instance/mq_appliance | user name for MQ appliance | admin | +| appliance.password | instance/mq_appliance | password for MQ appliance | xxxx | + + +## Build & Run (for developers) 1) Make sure Java SDK 11+ is installed. ```bash diff --git a/rdb/README.md b/rdb/README.md index 5a0c756..d52eb40 100644 --- a/rdb/README.md +++ b/rdb/README.md @@ -1,16 +1,3 @@ -# ODCD (OpenTelemetry Data Collector for Telemetry Data) - -**[Semantic Convention](docs/semconv)** | -**[Support](docs/support/README.md)** | -**[Changelog](CHANGELOG.md)** | -**[Contributing](CONTRIBUTING.md)** | -**[License](LICENSE)** - ---- -ODCD (OpenTelemetry 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 Collector for Relational Database @@ -63,7 +50,7 @@ nohup ./bin/otel-dc-rdb ``` -## Build & Run (for develpers) +## Build & Run (for developers) 1) Make sure Java SDK is installed. ```bash