Skip to main content

Influx - Datenbank anlegen

InfluxDB installieren

Lade1 den| Repository & GPG-SchlüsselKey direkt von InfluxData herunter und füge ihn dem System hinzu:hinzufügen:

curl --silent --location -O \
  https://repos.influxdata.com/influxdata-archive.key
echo "943666881a1b8d9b849b74caebf02d3465d6beb716510d86a39f6c8e8dac7515  influxdata-archive.key" \
| sha256sum --check - \
&& cat influxdata-archive.key \ | gpg --dearmor \
| sudo tee /etc/apt/trusted.gpg.d/influxdata-archive.gpg > /dev/null \
&& echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main' \
| sudo tee /etc/apt/sources.list.d/influxdata.list

Nun,2 da| derPaket Schlüsselinstallieren korrekt& hinzugefügtDienst wurde, versuche erneut, das System zu aktualisieren:starten:

sudo apt-get update && sudo apt-get install influxdb2
sudo systemctl enable --now influxdb

Siehe offizielle Install-Anleitung :contentReference[oaicite:0]{index=0}

TLS/SSL aktivieren

3 | Selbst-signiertes Zertifikat (100 Jahre gültig) erzeugen:

# SAN-Konfig anlegen
cat > san.cnf << 'EOF'
[req]
distinguished_name = req_distinguished_name
req_extensions     = v3_req
prompt             = no
[req_distinguished_name]
C  = DE
ST = Berlin
L  = Berlin
O  = localhost
CN = influxdb.local
[v3_req]
keyUsage         = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName   = @alt_names
[alt_names]
DNS.1 = influxdb.local
IP.1  = 127.0.0.1
EOF

# Schlüssel & CSR
openssl req -new -newkey rsa:4096 -nodes \
  -keyout /etc/ssl/influxdb.key \
  -out  /etc/ssl/influxdb.csr \
  -config san.cnf

# Zertifikat für 100 Jahre (-days 36500)
openssl x509 -req -in /etc/ssl/influxdb.csr \
  -signkey /etc/ssl/influxdb.key \
  -out /etc/ssl/influxdb.crt \
  -days 36500 -extensions v3_req -extfile san.cnf

rm san.cnf
# Rechte setzen
sudo chown influxdb: /etc/ssl/influxdb.{crt,key}
sudo chmod 644 /etc/ssl/influxdb.crt
sudo chmod 600 /etc/ssl/influxdb.key

Hinweis: Ein nie ablaufendes Zertifikat ist praktisch, aber *nicht* für öffentliche Dienste zu empfehlen – Clients erhalten weiterhin eine Warnung, weil es nicht von einer CA signiert ist. :contentReference[oaicite:1]{index=1}

InfluxDB für HTTPS konfigurieren

4 | Systemd-Drop-In erstellen:

sudo tee /etc/default/influxdb2 > /dev/null <<'EOT'
ARG_TLS_CERT="--tls-cert /etc/ssl/influxdb.crt"
ARG_TLS_KEY="--tls-key  /etc/ssl/influxdb.key"
EOT

# ExecStart überschreiben
sudo systemctl edit influxdb

Füge in der geöffneten Datei Folgendes ein und speichere Ctrl+O → Ctrl+X:

# /etc/systemd/system/influxdb.service.d/https.conf
[Service]
EnvironmentFile=/etc/default/influxdb2
ExecStart=
ExecStart=/usr/bin/influxd $ARG_TLS_CERT $ARG_TLS_KEY

Dienst neu laden & starten:

sudo systemctl daemon-reload
sudo systemctl restart influxdb
sudo systemctl status  influxdb

Systemd-Anpassung nach offizieller Empfehlung :contentReference[oaicite:2]{index=2}

5 | Funktionstest

curl --insecure https://localhost:8086/api/v2/ping
# → sollte "204 No Content" mit TLS-Handshake zeigen

Fertig!

Deine InfluxDB lauscht jetzt ausschließlich per HTTPS. Achte darauf, dass alle Clients die URL https://<host>:8086 verwenden. Für Telegraf genügt es, in der [[outputs.influxdb_v2]]-Sektion urls = ["https://…"] zu setzen und insecure_skip_verify = true zu aktivieren, falls du das Self-Signed-Zertifikat beibehältst.