Influx - Datenbank anlegen
0 | Vorbereitungen (Werkzeuge installieren)
apt-get update
apt-get install -y \
curl gnupg ca-certificates lsb-release coreutils # sha256sum steckt in coreutils
1 | InfluxDB-Repository & Paketinstallation
# GPG-Key laden und Prüfsumme verifizieren
curl --silent --location -O https://repos.influxdata.com/influxdata-archive.key
echo "943666881a1b8d9b849b74caebf02d3465d6beb716510d86a39f6c8e8dac7515 influxdata-archive.key" \
| sha256sum --check -
# Key importieren und Repository hinzufügen
cat influxdata-archive.key | gpg --dearmor \
| 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' \
| tee /etc/apt/sources.list.d/influxdata.list
# Paketliste aktualisieren und InfluxDB 2 installieren
apt-get update
apt-get install -y influxdb2
# Dienst aktivieren & starten
systemctl enable --now influxdb
2 | Selbst-signiertes Zertifikat erzeugen (100 Jahre gültig)
# SAN-Config erzeugen
cat > /root/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 & Zertifikat (-days 36500 ≈ 100 Jahre)
openssl req -new -newkey rsa:4096 -nodes \
-keyout /etc/ssl/influxdb.key \
-out /etc/ssl/influxdb.csr \
-config /root/san.cnf
openssl x509 -req -in /etc/ssl/influxdb.csr \
-signkey /etc/ssl/influxdb.key \
-out /etc/ssl/influxdb.crt \
-days 36500 -extensions v3_req -extfile /root/san.cnf
rm /etc/ssl/influxdb.csr /root/san.cnf
# Zugriffsrechte setzen
chown influxdb:influxdb /etc/ssl/influxdb.{crt,key}
chmod 644 /etc/ssl/influxdb.crt
chmod 600 /etc/ssl/influxdb.key
3 | InfluxDB auf HTTPS umstellen
# Umgebungsdatei mit TLS-Pfaden anlegen
cat > /etc/default/influxdb2 <<'EOT'
ARG_TLS_CERT="--tls-cert /etc/ssl/influxdb.crt"
ARG_TLS_KEY="--tls-key /etc/ssl/influxdb.key"
EOT
# Systemd-Drop-In: ExecStart mit TLS-Argumenten überschreiben
systemctl edit influxdb
# ──────────────────────────────────────────────────────
# Inhalt der sich öffnenden Datei einfügen:
# [Service]
# EnvironmentFile=/etc/default/influxdb2
# ExecStart=
# ExecStart=/usr/bin/influxd $ARG_TLS_CERT $ARG_TLS_KEY
# ──────────────────────────────────────────────────────
# Dienst neu laden & starten
systemctl daemon-reload
systemctl restart influxdb
systemctl status influxdb --no-pager
4 | Funktionstest
curl --insecure https://localhost:8086/api/v2/ping
# Erwartung: HTTP/1.1 204 No Content (TLS-Handshake erfolgreich)
Hinweise
- Ein selbst-signiertes Zertifikat erzeugt Browser-Warnungen – für interne Netze meist unkritisch.
- Möchtest du öffentliche Clients anbinden, ersetze Schritt 2 durch Let’s Encrypt.
- Für Docker-Installationen von InfluxDB 3.x können TLS-Pfad-Optionen direkt in
docker run
übergeben werden.