diff --git a/ansible/group_vars/all/vault.yml b/ansible/group_vars/all/vault.yml index 82d2ae9..40626b0 100644 --- a/ansible/group_vars/all/vault.yml +++ b/ansible/group_vars/all/vault.yml @@ -1,50 +1,54 @@ $ANSIBLE_VAULT;1.1;AES256 -65643737343938303564376232323764656238616561633730613134306661666532373435363233 -3539643961353261653938653734616231353338663332350a633765386634336132366234653364 -62366435663739336635636539396238376264646439333630373039646363346366363733343762 -3336656639366230630a333433343465326633306635646665303133316633336561653530613462 -38356266646464663165386134373063346531626662313237383539383661663666343961323234 -30653837323638653537376361333661653434313936653634383866663032383064333835346465 -38333435316538613661636565356665323634363335333332323530343432346164323533346139 -66376633373633623065646236646331623030346133663934646139376232613931316337366433 -32613034636463353433323931326138626438323834333234653661393165333263383766623231 -33393233333136383062663834313934333030353130303531623839613937633138633833393236 -61636164356462616634373062646162316366623437623739386332373435656638653736376630 -66323732356662343066386664663065333062336438306239643131623534646165613939326634 -37653931663236623966303764363364663932383566643331346530656661343833346438616464 -66323736653630383934663239333236633136346632306435366338643961343235363364303439 -62616634653939343133636439356633393964663337343761303333613732386136363236343832 -61373336646235616130623234393338333630356562333936326538333761366465623834643238 -34613233653238396534323737653838373739626434313831616634633262623561376535613937 -37333563373935666637613262313934376635633738373637376632653730626564346533343664 -33356562393366616464373833656561333963363636353532313362616135643838623361373962 -31363336666536383134303938646139623565333631333632663963646466356439313139343938 -39323237383464383466356466643633323331623365303464643432653432653636643466626565 -36366336666532373536643362343830333937306233643862626235356162326437356136623737 -65643865656136346663313761343865613735633434653639393230303839626536336639386364 -34623631613934373366663763303835663862363835636462336266613332656539333261363965 -64663433616566363266383265643731366231313139393030376263396430616532663362366665 -32356363653039363933316639656335383461353431336365393265326535643035326639326662 -35333032363338646336663531303037316432333632383233336262623962376637396365363731 -37643134366132376361363530396133393065386566643132313932393438303061663336373466 -34623463316330393965646364666637343535353032343334373630383766616165646665613262 -33633365646338623433333035323665373763663536336531623662353734636566363739353838 -39306437323031653362346635303862303837663730346439616463626430306536643731393764 -65643561353966333433363361623661633936363163346639376336383863666636636332313161 -36326330343864333063343365343832623736633431333738666433316430663531633864646436 -36323430396333613831346466323234393966646363373664386462643839613238306638336565 -33383065383332323739316165363233633132653031393365323531366636626332623034313136 -30373536323162626162383232643663323030636636333636353065626439393063343662323737 -31326132353030656462353263393862313161643130363139393936303033393065326466396530 -65326430303738653937326332313539353034333366303461306462663266613135313664373432 -38613832363937613261306533623536333231333334303736343436653138306662336561346261 -33386534363939313466663534343833303963633465343530333162353066643739313936303366 -64333361353333663738663864316262626137363865383862333238303361333434356632333032 -61303031663637313235623366373935386438646562383265323238373533303565623638633737 -33363833356432313738353730383032343336376338343338323066303239653833303263343465 -30393237363631346635393834343463326265636461376631626631343332653662643066636165 -63393662653034343362356565666363343336653064333135343962333936373238613232663933 -33353539663935386134626434643233653630663731363936363930646339643734316334303066 -36373835303039313464303065316136336266393634383639653132656533383831333637356163 -63633831623964306331346338366631663832303863356434643335333463613330613138366139 -39656639383030386530333865313830316263633364393464366233303736363265 +38376530333338303138643365373432386565346263306165326261383734336263626366653264 +6531616135643465363466313534326565616166363830630a326130386466353038623661636664 +36343738303263396661343761666266373366363263323763346634313330353365363462646562 +3063373062303865300a356130356434353932363261633733633839383966343037363366613065 +61623239343466643636303232353838333330663439636536306233633565653736316361643239 +31373236396533343631316362373833616132303639656538346533313836383161383866333835 +66333264326535663135643161343238306137613864303138616565653238643230363631636336 +33623631363566663635363061323731333835386565313438636361656535383834616261313130 +62386563303964633161656162333033376134656666623061616534323439356637343030633038 +38366534363836366365346337653739323666366539613731653561666336356337653037316661 +30333065323339353036383038306565666166623736386162396237393234316631353561663561 +32336535663961633033343161356463383033313662616664313331383939363665333838363866 +34636130336535353231636638343236653737323161363063386131613837306435623563356262 +36616437366363366330303962353930613031663263613565616334303666306332376336393635 +64636337376663643565323338626230303938343363326234316535623765666566663761663136 +35303765383336383031366633373364376336303430333534616665613838326163626538656435 +32623739303839356538626634393965376464616230313839303335353636386134393631323532 +34346365656335333565396430376463663434383336653530313365376332396662633065383465 +61343335303138376637633836656465353664386539663062383065623136323163616530616536 +31626534663836613634356433373734323139323263393937343738653831623461363263383637 +64346236363133663561613533626332356365396665666235363134323134353135663532376338 +66306432373137343634616136613630636565656466373039346434613630613838653466356662 +30393664303738656439613634356162643035646233376539343363663439396161616534656565 +62343239623535386233623736323161386133303732663535663162663033313864323466346138 +34663062336361303966306435616164343638386565343232343163653439616436313033633063 +36633539653365323739666630663836353733663534633234373633623034613537613938633534 +31343830653366653239356364326566643237663631653565373862616637386537316137323965 +62386332353537383636666138373165323634623630346638323532633739376637386533626638 +36376664316266346562326434373338656231366261323434373731366636633366633534313139 +62326466356565383832636464346263343039653661613763306165636565633737616537666538 +36373031343966326364646633373161383364393135643630323238333965346332623864306632 +32353739656239663137386161323561353333323036333733393239373830363431343935323161 +61343865633136316162356336333263656133343532376432363164656666323838646433313030 +33396631613337653666323738303462326139326639646564376666396330333731343764306433 +64316331663638653438393738346437626163616335653231613735643362393162663536653238 +30386666383865643462363039306264633564653536613163656432623966376638653566363738 +35326564343265613963303965346336613337616333616130616461626139333630333336366266 +34643361303036373162353437383331323338336263343365613137663166323539303234366464 +39633065343263393164393966623063313832613334666463376366383330353766653463623433 +34323435343866616534623563333566653761633066633764626330613961636139333963633161 +65323536333764373761373366646466663837383264646238666632626135333532366264396266 +33343139316230613330333236356233366530316234353439636235613632646664353234313364 +32623633333338646462356161663961303835326663396565633932656234386236656535313434 +66303762363534356232636134303130333930353364316265643463666563333966653736353030 +65333565373161346334376137313539616431393462383235376137613766613263636138353738 +64613134653033393161363531393861303331623963393038366364643962346664623366396261 +65303666393034616261613431323063303064636366356435643863663732316136653435386432 +38346564356434393264633531663133336431356562386532383864663033623065346537323165 +38353137383238646632323935616435356334363062613934363733663564633634303838383033 +61333032363962373130653534313034656434333536393339303935666564616630353137663236 +39646462613964633861343365363266343263336331626662663034343161393064343065613736 +32356334373166336435313535636663323531343037336237613065333234656238326639306238 +65653234343064373164306563653435326332633734313538326633643538643864 diff --git a/ansible/playbooks/setup_cluster.yaml b/ansible/playbooks/setup_cluster.yaml index cf65a11..6f8013d 100644 --- a/ansible/playbooks/setup_cluster.yaml +++ b/ansible/playbooks/setup_cluster.yaml @@ -113,6 +113,13 @@ - name: Import authentik resources tasks ansible.builtin.import_tasks: tasks/authentik_resources.yaml +- name: Create opentelemetry resources + hosts: server + run_once: true + tasks: + - name: Import opentelemetry resources tasks + ansible.builtin.import_tasks: tasks/opentelemetry_resources.yaml + - name: Install Rancher and Fleet hosts: server run_once: true diff --git a/ansible/playbooks/tasks/opentelemetry_resources.yaml b/ansible/playbooks/tasks/opentelemetry_resources.yaml new file mode 100644 index 0000000..80efff1 --- /dev/null +++ b/ansible/playbooks/tasks/opentelemetry_resources.yaml @@ -0,0 +1,25 @@ +--- + +- name: Create opentelemetry namespace if not exists + kubernetes.core.k8s: + state: present + kubeconfig: /etc/rancher/k3s/k3s.yaml + definition: + apiVersion: v1 + kind: Namespace + metadata: + name: opentelemetry + +- name: Create opentelemetry bearer token secret + kubernetes.core.k8s: + state: present + kubeconfig: /etc/rancher/k3s/k3s.yaml + definition: + apiVersion: v1 + kind: Secret + metadata: + name: otel-client-token + namespace: opentelemetry + type: Opaque + stringData: + token: "{{ opentelemetry_client_token }}" \ No newline at end of file diff --git a/fleet/otlp-collector/fleet.yaml b/fleet/otlp-collector/fleet.yaml index 60812bd..9ea3de0 100644 --- a/fleet/otlp-collector/fleet.yaml +++ b/fleet/otlp-collector/fleet.yaml @@ -1,5 +1,5 @@ defaultNamespace: opentelemetry -dependsOn: +dependsOn: - name: vaclab-2-fleet-victoria-metrics-stack helm: @@ -8,62 +8,79 @@ helm: version: 0.146.1 releaseName: otel takeOwnership: true + disablePreProcess: true values: mode: deployment image: repository: "otel/opentelemetry-collector-contrib" - affinity: - nodeAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - preference: - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - metal-01.he-eu-hel1.misc.vacdst - tolerations: - - key: "dedicated" - operator: "Equal" - value: "monitoring" - effect: "PreferNoSchedule" - - key: "node-role.kubernetes.io/control-plane" - operator: "Exists" - effect: "NoSchedule" + presets: clusterMetrics: enabled: true + logsCollection: + enabled: true + service: type: ClusterIP + ports: otlp: enabled: true containerPort: 4317 servicePort: 4317 protocol: TCP + otlp-http: + enabled: true + containerPort: 4318 + servicePort: 4318 + protocol: TCP + + extraEnvs: + - name: OTEL_CLIENT_TOKEN + valueFrom: + secretKeyRef: + name: otel-client-token + key: token + config: - # deltatocumulative processor is needed to convert metrics with delta temporality to cumulative temporality. - # VictoriaMetrics doesn't support delta temporality. Skip this processor if you don't use delta temporality. + extensions: + health_check: + endpoint: 0.0.0.0:13133 + bearertokenauth: + token: "${env:OTEL_CLIENT_TOKEN}" + processors: deltatocumulative: max_stale: 5m + receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 + auth: + authenticator: bearertokenauth http: endpoint: 0.0.0.0:4318 + auth: + authenticator: bearertokenauth + exporters: otlphttp/victoriametrics: compression: gzip encoding: proto - # Cluster version of VictoriaMetrics URL format - http://vminsert-vmks-victoria-metrics-k8s-stack.vmetrics:8480/insert/0/#url-format metrics_endpoint: http://vminsert-vmks-victoria-metrics-k8s-stack.vmetrics:8480/insert/0/opentelemetry/v1/metrics + logs_endpoint: http://vlc-victoria-logs-cluster-vlinsert.victorialogs.svc.cluster.local:9481/insert/opentelemetry/v1/logs tls: insecure: true + service: + extensions: [health_check, bearertokenauth] pipelines: + logs: + receivers: [otlp] + processors: [] + exporters: [otlphttp/victoriametrics] metrics: receivers: [otlp] processors: [deltatocumulative] diff --git a/fleet/services/otlp-collector-nodeport.yaml b/fleet/services/otlp-collector-nodeport.yaml new file mode 100644 index 0000000..6ccfed0 --- /dev/null +++ b/fleet/services/otlp-collector-nodeport.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Service +metadata: + name: otlp-collector-external + namespace: opentelemetry +spec: + type: NodePort + selector: + app.kubernetes.io/instance: otel + app.kubernetes.io/name: opentelemetry-collector + component: standalone-collector + ports: + - name: grpc + protocol: TCP + port: 4317 + targetPort: 4317 + nodePort: 31317 + - name: http + protocol: TCP + port: 4318 + targetPort: 4318 + nodePort: 31318