mirror of
https://github.com/auricom/home-cluster.git
synced 2025-10-01 16:05:55 +02:00
219 lines
6.1 KiB
YAML
219 lines
6.1 KiB
YAML
---
|
|
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
|
kind: HelmRelease
|
|
metadata:
|
|
name: &app vector-aggregator
|
|
namespace: monitoring
|
|
spec:
|
|
interval: 15m
|
|
chart:
|
|
spec:
|
|
chart: vector
|
|
version: 0.18.0
|
|
sourceRef:
|
|
kind: HelmRepository
|
|
name: vector
|
|
namespace: flux-system
|
|
install:
|
|
createNamespace: true
|
|
remediation:
|
|
retries: 5
|
|
upgrade:
|
|
remediation:
|
|
retries: 5
|
|
dependsOn:
|
|
- name: loki
|
|
namespace: monitoring
|
|
values:
|
|
image:
|
|
repository: timberio/vector
|
|
tag: 0.26.0-debian
|
|
role: "Stateless-Aggregator"
|
|
podAnnotations:
|
|
configmap.reloader.stakater.com/reload: vector-aggregator
|
|
customConfig:
|
|
data_dir: /vector-data-dir
|
|
api:
|
|
enabled: false
|
|
# Sources
|
|
sources:
|
|
kubernetes_logs:
|
|
address: 0.0.0.0:6000
|
|
type: vector
|
|
version: "2"
|
|
opnsense_logs:
|
|
address: 0.0.0.0:6001
|
|
type: vector
|
|
version: "2"
|
|
journal_logs:
|
|
type: vector
|
|
address: 0.0.0.0:6002
|
|
version: "2"
|
|
vector_metrics:
|
|
type: internal_metrics
|
|
talos_kernel_logs:
|
|
address: 0.0.0.0:6050
|
|
type: socket
|
|
mode: udp
|
|
max_length: 102400
|
|
decoding:
|
|
codec: json
|
|
host_key: __host
|
|
talos_service_logs:
|
|
address: 0.0.0.0:6051
|
|
type: socket
|
|
mode: udp
|
|
max_length: 102400
|
|
decoding:
|
|
codec: json
|
|
host_key: __host
|
|
# Transformations
|
|
transforms:
|
|
talos_kernel_logs_xform:
|
|
type: remap
|
|
inputs:
|
|
- talos_kernel_logs
|
|
source: |-
|
|
.__host = replace!(.__host, "192.168.9.101", "talos-node-1")
|
|
.__host = replace(.__host, "192.168.9.102", "talos-node-2")
|
|
.__host = replace(.__host, "192.168.9.103", "talos-node-3")
|
|
.__host = replace(.__host, "192.168.9.104", "talos-node-4")
|
|
talos_service_logs_xform:
|
|
type: remap
|
|
inputs:
|
|
- talos_service_logs
|
|
source: |-
|
|
.__host = replace!(.__host, "192.168.9.101", "talos-node-1")
|
|
.__host = replace(.__host, "192.168.9.102", "talos-node-2")
|
|
.__host = replace(.__host, "192.168.9.103", "talos-node-3")
|
|
.__host = replace(.__host, "192.168.9.104", "talos-node-4")
|
|
# Sinks
|
|
sinks:
|
|
loki_kubernetes:
|
|
type: loki
|
|
inputs:
|
|
- kubernetes_logs
|
|
endpoint: http://loki-gateway.monitoring:80
|
|
encoding:
|
|
codec: json
|
|
batch:
|
|
max_bytes: 2049000
|
|
out_of_order_action: rewrite_timestamp
|
|
remove_label_fields: true
|
|
remove_timestamp: true
|
|
labels:
|
|
k8s_app: >-
|
|
{{`{{ "kubernetes.pod_labels.app\.kubernetes\.io/name" }}`}}
|
|
k8s_container: >-
|
|
{{`{{ "kubernetes.container_name" }}`}}
|
|
k8s_filename: >-
|
|
{{`{{ "kubernetes.file" }}`}}
|
|
k8s_instance: >-
|
|
{{`{{ "kubernetes.pod_labels.app\.kubernetes\.io/instance" }}`}}
|
|
k8s_namespace: >-
|
|
{{`{{ "kubernetes.pod_namespace" }}`}}
|
|
k8s_node: >-
|
|
{{`{{ "kubernetes.pod_node_name" }}`}}
|
|
k8s_pod: >-
|
|
{{`{{ "kubernetes.pod_name" }}`}}
|
|
loki_opnsense:
|
|
type: loki
|
|
inputs:
|
|
- opnsense_logs
|
|
endpoint: http://loki-gateway.monitoring:80
|
|
encoding:
|
|
codec: json
|
|
batch:
|
|
max_bytes: 400000
|
|
out_of_order_action: rewrite_timestamp
|
|
labels:
|
|
hostname: >-
|
|
{{`{{ host }}`}}
|
|
syslog_identifier: >-
|
|
{{`{{ SYSLOG_IDENTIFIER }}`}}
|
|
loki_journal:
|
|
type: loki
|
|
inputs:
|
|
- journal_logs
|
|
endpoint: http://loki-gateway.monitoring:80
|
|
encoding:
|
|
codec: json
|
|
batch:
|
|
max_bytes: 2049000
|
|
out_of_order_action: accept
|
|
remove_label_fields: true
|
|
remove_timestamp: true
|
|
labels:
|
|
hostname: >-
|
|
{{`{{ host }}`}}
|
|
talos_kernel:
|
|
type: loki
|
|
inputs:
|
|
- talos_kernel_logs_xform
|
|
endpoint: http://loki-gateway.monitoring:80
|
|
encoding:
|
|
codec: json
|
|
except_fields:
|
|
- __host
|
|
batch:
|
|
max_bytes: 1048576
|
|
out_of_order_action: rewrite_timestamp
|
|
labels:
|
|
hostname: >-
|
|
{{`{{ __host }}`}}
|
|
service: >-
|
|
{{`{{ facility }}`}}
|
|
talos_service:
|
|
type: loki
|
|
inputs:
|
|
- talos_service_logs_xform
|
|
endpoint: http://loki-gateway.monitoring:80
|
|
encoding:
|
|
codec: json
|
|
except_fields:
|
|
- __host
|
|
batch:
|
|
max_bytes: 524288
|
|
out_of_order_action: rewrite_timestamp
|
|
labels:
|
|
hostname: >-
|
|
{{`{{ __host }}`}}
|
|
service: >-
|
|
{{`{{ "talos-service" }}`}}
|
|
namespace: "talos:service"
|
|
extraVolumeMounts:
|
|
- name: geoip
|
|
mountPath: /geoip
|
|
extraVolumes:
|
|
- name: geoip
|
|
persistentVolumeClaim:
|
|
claimName: vector-geoipupdate-config
|
|
podMonitor:
|
|
enabled: true
|
|
jobLabel: vector-aggregator
|
|
port: prometheus-sink
|
|
resources:
|
|
requests:
|
|
cpu: 35m
|
|
memory: 381M
|
|
limits:
|
|
memory: 726M
|
|
service:
|
|
enabled: true
|
|
type: LoadBalancer
|
|
annotations:
|
|
coredns.io/hostname: "vector.${SECRET_CLUSTER_DOMAIN}"
|
|
postRenderers:
|
|
- kustomize:
|
|
patchesJson6902:
|
|
- target:
|
|
kind: Service
|
|
name: vector-aggregator
|
|
patch:
|
|
- op: add
|
|
path: /spec/loadBalancerIP
|
|
value: ${CLUSTER_LB_VECTOR}
|
|
- op: replace
|
|
path: /spec/externalTrafficPolicy
|
|
value: Local
|