feat: use otel instead of prom; bug fixes

Changed files
+30 -12
configs
alloy
telegraf
traefik
vmauth
+12 -5
configs/alloy/config.alloy
···
}
prometheus.scrape "scrape_metrics" {
-
targets = [{ __address__ = "traefik:8082" }, {__address__ = "rmqtt:6060", __metrics_path__ = "/api/v1/metrics/prometheus" }]
+
targets = [{ __address__ = "rmqtt:6060", __metrics_path__ = "/api/v1/metrics/prometheus" }]
forward_to = [prometheus.remote_write.victoria_metrics.receiver]
scrape_interval = "10s"
}
···
}
}
-
// Receive metrics from MQTT
-
otelcol.receiver.otlp "telegraf" {
+
otelcol.receiver.otlp "default" {
http {}
grpc {}
output {
-
metrics = [otelcol.processor.batch.telegraf.input]
+
metrics = [otelcol.processor.batch.default.input]
+
logs = [otelcol.processor.batch.default.input]
}
}
-
otelcol.processor.batch "telegraf" {
+
otelcol.processor.batch "default" {
output {
metrics = [otelcol.exporter.otlphttp.victoria_metrics.input]
+
logs = [otelcol.exporter.otlphttp.victoria_logs.input]
}
}
···
endpoint = "http://victoria:8428/opentelemetry"
}
}
+
+
otelcol.exporter.otlphttp "victoria_logs" {
+
client {
+
endpoint = "http://victoria:9428/insert/opentelemetry"
+
}
+
}
+2
configs/telegraf/telegraf.conf
···
[[inputs.mqtt_consumer.json_v2.field]]
path = "current"
[[inputs.mqtt_consumer.json_v2.field]]
+
path = "aenergy.total"
+
[[inputs.mqtt_consumer.json_v2.field]]
path = "temperature.tC"
[[outputs.opentelemetry]]
+15 -6
configs/traefik/traefik.yml
···
- security-headers@file
tls:
certResolver: leresolver
-
metrics:
-
address: ":8082"
providers:
docker:
···
dashboard: true
metrics:
-
prometheus:
-
entryPoint: metrics
+
otlp:
+
grpc:
+
endpoint: grafana-alloy:4317
+
insecure: true
log:
-
format: json
+
otlp:
+
grpc:
+
endpoint: grafana-alloy:4317
+
insecure: true
accessLog:
-
format: json
+
otlp:
+
grpc:
+
endpoint: grafana-alloy:4317
+
insecure: true
+
+
experimental:
+
otlpLogs: true
+1 -1
configs/vmauth/auth.yml
···
- bearer_token: "${secrets.vmauth_proxmox_bearer_token}"
url_map:
- src_hosts:
-
- "metrics\\.${replace(base_domain, ".", "\\\\.")}"
+
- "metrics\\.${replace(base_domain, ".", "\\\\.")}:443"
url_prefix: "http://victoria-metrics:8428/"