From b623017ae5db802062331765446a02b7bdc2aa62 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 9 Nov 2023 21:08:37 +0100 Subject: [PATCH] Add opentelemetry collector --- .../puppet/modules/otel/manifests/init.pp | 10 ++++ .../puppet/site/clickhouse.h1.int.pdp7.net.pp | 53 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 personal_infra/puppet/modules/otel/manifests/init.pp diff --git a/personal_infra/puppet/modules/otel/manifests/init.pp b/personal_infra/puppet/modules/otel/manifests/init.pp new file mode 100644 index 0000000..0665db5 --- /dev/null +++ b/personal_infra/puppet/modules/otel/manifests/init.pp @@ -0,0 +1,10 @@ +class otel($version) { + package {'otel-contrib': + source => "https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v${version}/otelcol-contrib_${version}_linux_386.rpm", + } + -> + service {'otelcol-contrib': + ensure => running, + enable => true, + } +} diff --git a/personal_infra/puppet/site/clickhouse.h1.int.pdp7.net.pp b/personal_infra/puppet/site/clickhouse.h1.int.pdp7.net.pp index 4d7821f..6cce895 100644 --- a/personal_infra/puppet/site/clickhouse.h1.int.pdp7.net.pp +++ b/personal_infra/puppet/site/clickhouse.h1.int.pdp7.net.pp @@ -1,3 +1,56 @@ node 'clickhouse.h1.int.pdp7.net' { class {'clickhouse':} + + class {'otel': + version => '0.88.0', + } + + file {'/etc/otelcol-contrib/config.yaml': + content => @(EOT) + receivers: + otlp: + protocols: + grpc: + http: + cors: + allowed_origins: + - "http://*" + - "https://*" + processors: + batch: + timeout: 5s + send_batch_size: 100000 + exporters: + clickhouse: + endpoint: tcp://127.0.0.1:9000?dial_timeout=10s&compress=lz4 + database: otel + ttl_days: 180 + logs_table_name: otel_logs + traces_table_name: otel_traces + metrics_table_name: otel_metrics + timeout: 5s + retry_on_failure: + enabled: true + initial_interval: 5s + max_interval: 30s + max_elapsed_time: 300s + service: + pipelines: + logs: + receivers: [ otlp ] + processors: [ batch ] + exporters: [ clickhouse ] + metrics: + receivers: [ otlp ] + processors: [ batch ] + exporters: [ clickhouse ] + traces: + receivers: [ otlp ] + processors: [ batch ] + exporters: [ clickhouse ] + | EOT + , + require => Package['otel-contrib'], + notify => Service['otelcol-contrib'], + } } -- 2.47.3