aboutsummaryrefslogtreecommitdiff
path: root/personal_infra/puppet
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2023-11-09 21:08:37 +0100
committeralex <alex@pdp7.net>2023-11-09 21:08:37 +0100
commitb623017ae5db802062331765446a02b7bdc2aa62 (patch)
tree8d0455133d374e62cd9b212813f3153c8de75093 /personal_infra/puppet
parent5b67fc28f8bf556f9adbd4985221aad4569b9e5c (diff)
Add opentelemetry collector
Diffstat (limited to 'personal_infra/puppet')
-rw-r--r--personal_infra/puppet/modules/otel/manifests/init.pp10
-rw-r--r--personal_infra/puppet/site/clickhouse.h1.int.pdp7.net.pp53
2 files changed, 63 insertions, 0 deletions
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 00000000..0665db51
--- /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 4d7821fa..6cce8950 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'],
+ }
}