Documentation

安装 InfluxDB OSS v2

InfluxDB v2 时间序列平台专为收集、存储、处理和可视化指标和事件而构建。

下载并安装 InfluxDB v2

推荐:: 在您打开和安装包以及下载的文件之前,请使用SHA校验和验证和GPG签名验证以确保文件是完整和真实的。

某些操作系统版本的InfluxDB安装说明包括在安装之前验证下载文件的步骤。

有关SHA和GPG验证的更多信息,请参见以下内容:

选择您的操作系统版本的 InfluxData 密钥对

使用SHA-256验证下载的完整性

使用GPG验证文件的完整性和真实性

以下说明包括下载、验证和安装 InfluxDB 的步骤:

要安装InfluxDB,请执行以下操作:

我们推荐使用 Homebrew 在 macOS 上安装 InfluxDB v2。

InfluxDB 和 influx CLI 是独立的包

InfluxDB服务器 (influxd) 和 influx CLI 被单独打包和版本管理。

您将在 后面的步骤 中安装 influx CLI

使用 Homebrew 安装

brew update
brew install influxdb

手动下载并安装 macOS

  1. 在你的浏览器或终端中,下载InfluxDB包。

    InfluxDB v2 (macOS)

    # Download using cURL
    curl --location -O \
    "https://download.influxdata.com/influxdb/releases/influxdb2-2.7.11_darwin_amd64.tar.gz"
    
  2. 推荐::验证下载的完整性——例如,在您的终端中输入以下命令:

# Use 2 spaces to separate the checksum from the filename
echo "
964e1de641a43a0e1743aa5ead243e935a05631ba0bc570fb8bff486542173c1
influxdb2-2.7.11_darwin_amd64.tar.gz"
\
| shasum --algorithm 256 --quiet --check -

替换以下内容:

  • 964e1de641a43a0e1743aa5ead243e935a05631ba0bc570fb8bff486542173c1: 来自下载页面的SHA校验和
  1. 解压InfluxDB二进制文件。

    执行以下操作之一:

    • Finder 中,双击下载的包文件。
    • 在你的终端中(例如,TerminaliTerm2),使用tar来解压文件–例如,输入以下命令将其提取到当前目录:
    # Unpackage contents to the current working directory
    tar zxvf ./influxdb2-2.7.11_darwin_amd64.tar.gz
    
  2. 可选:将 influxd 二进制文件放入您的 $PATH - 例如,将二进制文件复制到 /usr/local/bin

    # (Optional) Copy the influxd binary to your $PATH
    sudo cp influxdb2-2.7.11/influxd /usr/local/bin/
    

    在您的 $PATH (/usr/local/bin) 中使用 influxd 二进制文件,您可以在终端中输入 influxd 来启动服务器。

    如果您选择不将 influxd 二进制文件移动到您的 $PATH 中,请输入二进制文件的路径以启动服务器,比如:

    ./influxdb2-2.7.11/influxd
    

InfluxDB 1.x 和 2.x 都有相关的 influxdinflux 可执行文件。如果 InfluxDB 1.x 的可执行文件已经在你的 $PATH 中,请在使用 v2 可执行文件之前直接运行或重命名它们。如果你重命名了可执行文件,则本文档中对 influxdinflux 的所有引用都指的是你重命名的可执行文件。

要在Linux上安装InfluxDB,请执行以下操作:

InfluxDB 和 influx CLI 是独立的包

InfluxDB服务器 (influxd) 和 influx CLI 被单独打包和版本管理。

您将在 后面的步骤 中安装 influx CLI

使用systemd将InfluxDB安装为服务

  1. 选择适合您操作系统版本的InfluxData密钥对

  2. 运行您操作系统版本的命令以安装 InfluxData 密钥,添加 InfluxData 存储库并安装 influxdb

    在运行命令之前,用前一步中的密钥对替换校验和和密钥文件名。

    # Ubuntu and Debian
    # Add the InfluxData key to verify downloads and add the repository
    curl --silent --location -O \
    https://repos.influxdata.com/influxdata-archive.key
    echo "943666881a1b8d9b849b74caebf02d3465d6beb716510d86a39f6c8e8dac7515  influxdata-archive.key" \
    | sha256sum --check - && 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
    # Install influxdb
    sudo apt-get update && sudo apt-get install influxdb2
    
    # RedHat and CentOS
    # Add the InfluxData key to verify downloads
    curl --silent --location -O \
    https://repos.influxdata.com/influxdata-archive.key \
    && echo "943666881a1b8d9b849b74caebf02d3465d6beb716510d86a39f6c8e8dac7515  influxdata-archive.key" \
    | sha256sum --check - && cat influxdata-archive.key \
    | gpg --dearmor \
    | tee /etc/pki/rpm-gpg/RPM-GPG-KEY-influxdata > /dev/null
    
    # Add the InfluxData repository to the repository list.
    cat <<EOF | tee /etc/yum.repos.d/influxdata.repo
    [influxdata]
    name = InfluxData Repository - Stable
    baseurl = https://repos.influxdata.com/stable/${basearch}/main
    enabled = 1
    gpgcheck = 1
    gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-influxdata
    EOF
    
    # Install influxdb
    sudo yum install influxdb2
    
  3. 启动 InfluxDB 服务:

    sudo service influxdb start
    

    安装 InfluxDB 包会在 /lib/systemd/system/influxdb.service 创建一个服务文件,以便在启动时将 InfluxDB 作为后台服务启动。

  4. 要验证服务是否正确运行,请重新启动系统,然后在终端中输入以下命令:

    sudo service influxdb status
    

    如果成功,输出如下:

    ● influxdb.service - InfluxDB is an open-source, distributed, time series database
       Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enable>
       Active: active (running)
    

有关当作为服务运行时 InfluxDB 在磁盘上存储数据的位置的信息,请参见 文件系统布局

将配置选项传递给服务

您可以使用 systemd 自定义 InfluxDB 配置选项 并将其传递给 InfluxDB 服务。

  1. 编辑 /etc/default/influxdb2 服务配置文件,以将配置指令分配给 influxd 命令行标志——例如,添加一个或多个 <ENV_VARIABLE_NAME>=<COMMAND_LINE_FLAG> 行,如下所示:

    ARG1="--http-bind-address :8087"
    ARG2="--storage-wal-fsync-delay=15m"
    
  2. 编辑 /lib/systemd/system/influxdb.service 文件以将变量传递给 ExecStart 值:

    ExecStart=/usr/bin/influxd $ARG1 $ARG2
    

手动下载并安装 influxd 二进制文件

如有必要,请根据您的系统调整示例文件路径和工具。

  1. 在您的浏览器或终端中,下载适用于您的系统架构的InfluxDB二进制文件(AMD64或ARM)。

    InfluxDB v2 (amd64) InfluxDB v2 (arm)

    # Use curl to download the amd64 binary.
    curl --location -O \
    https://download.influxdata.com/influxdb/releases/influxdb2-2.7.11_linux_amd64.tar.gz
    
    # Use curl to download the arm64 binary.
    curl --location -O \
    https://download.influxdata.com/influxdb/releases/influxdb2-2.7.11_linux_arm64.tar.gz
    
  2. 选择适合您操作系统版本的InfluxData密钥对

  3. 推荐::验证下载的二进制文件的真实性——例如,在您的终端中输入以下命令。

    在为您的系统运行命令之前,将 https://repos.influxdata.com/influxdata-archive.key 替换为 上一步中的密钥URL。

    # amd64
    # Download and import the key
    curl --silent --location https://repos.influxdata.com/influxdata-archive.key \
    | gpg --import - 2>&1 \
    | grep 'InfluxData Package Signing Key <support@influxdata.com>' \
    &&
    # Download and verify the binary's signature file
    curl --silent --location "https://download.influxdata.com/influxdb/releases/influxdb2-2.7.11_linux_amd64.tar.gz.asc" \
    | gpg --verify - influxdb2-2.7.11_linux_amd64.tar.gz \
    2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
    
    # arm64
    # Download and import the key
    curl --silent --location https://repos.influxdata.com/influxdata-archive.key \
    | gpg --import - 2>&1 \
    | grep 'InfluxData Package Signing Key <support@influxdata.com>' \
    &&
    # Download and verify the binary's signature file
    curl --silent --location "https://download.influxdata.com/influxdb/releases/influxdb2-2.7.11_linux_arm64.tar.gz.asc" \
    | gpg --verify - influxdb2-2.7.11_linux_arm64.tar.gz \
    2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
    

    如果成功,输出将类似于以下内容:

    gpg: Good signature from "InfluxData Package Signing Key <support@influxdata.com>" [unknown]
    
  4. 提取下载的二进制文件–例如,输入以下命令 适合您的系统:

    # amd64
    tar xvzf ./influxdb2-2.7.11_linux_amd64.tar.gz
    
    # arm64
    tar xvzf ./influxdb2-2.7.11_linux_arm64.tar.gz
    
  5. 可选:将提取的 influxd 可执行二进制文件放入您的系统 $PATH 中。

    # amd64
    sudo cp ./influxdb2-2.7.11/usr/bin/influxd /usr/local/bin/
    
    # arm64
    sudo cp ./influxdb2-2.7.11/usr/bin/influxd /usr/local/bin/
    

    如果您选择不将influxd二进制文件移动到您的$PATH中,请输入二进制文件的路径以启动服务器——例如:

    ./influxdb2-2.7.11/usr/bin/influxd
    

系统需求

命令行示例

使用 PowershellWSL 来执行 influxinfluxd 命令。 本 documentación 中的命令行示例将 influxinfluxd 用作 在系统的 PATH 上安装的情况。 如果这些二进制文件没有安装在您的 PATH 中,请在提供的示例中将 influxinfluxd 分别替换为 ./influx./influxd

InfluxDB 和 influx CLI 是独立的包

InfluxDB服务器 (influxd) 和 influx CLI 被单独打包和版本管理。

您将在 后面的步骤 中安装 influx CLI

InfluxDB v2 (Windows)

将下载的归档文件解压到 C:\Program Files\InfluxData\ 中,并在需要时重命名文件。

Expand-Archive .\influxdb2-2.7.11-windows.zip -DestinationPath 'C:\Program Files\InfluxData\'
mv 'C:\Program Files\InfluxData\influxdb2-2.7.11' 'C:\Program Files\InfluxData\influxdb'

在容器中安装和设置InfluxDB

以下步骤展示了如何使用 Docker CLI 来设置和 运行 InfluxDB。但是你也可以 使用 Docker Compose

以下指南使用 Docker 挂载的 来持久化 InfluxDB 配置和数据。 将数据持久化到容器外的文件系统可以确保在您删除容器时,数据不会被删除。

  1. 为您的系统安装 Docker Desktop

  2. influxdb Docker Hub镜像启动一个Docker容器,例如,在您的终端中,输入docker run influxdb:2命令并带有初始设置选项和文件系统挂载的命令行标志。

如果您不指定InfluxDB初始化设置选项,您可以稍后在运行中的容器中使用UI或CLI手动设置

docker run \
 --name influxdb2 \
 --publish 8086:8086 \
 --mount type=volume,source=influxdb2-data,target=/var/lib/influxdb2 \
 --mount type=volume,source=influxdb2-config,target=/etc/influxdb2 \
 --env DOCKER_INFLUXDB_INIT_MODE=setup \
 --env DOCKER_INFLUXDB_INIT_USERNAME=
ADMIN_USERNAME
\
--env DOCKER_INFLUXDB_INIT_PASSWORD=
ADMIN_PASSWORD
\
--env DOCKER_INFLUXDB_INIT_ORG=
ORG_NAME
\
--env DOCKER_INFLUXDB_INIT_BUCKET=
BUCKET_NAME
\
influxdb:2

该命令传递以下参数:

  • --publish 8086:8086: 在主机的 8086 端口上暴露 InfluxDB UIHTTP API

  • --mount type=volume,source=influxdb2-data,target=/var/lib/influxdb2: 创建一个名为 influxdb2-data 的卷,映射到 InfluxDB 数据目录 以在容器外部持久化数据。

  • --mount type=volume,source=influxdb2-config,target=/etc/influxdb2: 创建一个名为 influxdb2-config 的卷,映射到 InfluxDB 配置目录 以便使配置在容器外部可用。

  • --env DOCKER_INFLUXDB_INIT_MODE=setup: 环境变量,用于在创建容器时调用初始组织、用户、数据桶和令牌的自动设置。

  • --env DOCKER_INFLUXDB_INIT_<SETUP_OPTION>: 初始化设置选项的环境变量–用您自己的值替换以下内容:

    • ADMIN_USERNAME: The username for the initial user–an admin user with an API Operator token.
    • ADMIN_PASSWORD: The password for the initial user.
    • ORG_NAME: The name for the initial organization.
    • BUCKET_NAME: The name for the initial bucket.

如果成功,命令将启动与用户、组织、存储桶以及操作员令牌初始化的InfluxDB,并记录到stdout。

您可以在 /etc/influxdb2/influx-configs 文件中查看操作员令牌并 用它来授权 创建一个全访问令牌

要在脱离模式中运行InfluxDB容器,请在docker run命令中包含--detach标志。

有关更多InfluxDB配置选项, 请参阅influxdb Docker Hub镜像文档。

在容器中运行InfluxDB CLI命令

当您使用 influxdb Docker Hub 镜像启动一个容器时,它也会在容器中 安装 influx CLI。 在容器中设置和运行 InfluxDB 后,您可以使用 Docker CLI docker exec 命令与容器内的 influxinfluxd CLI 进行交互。

语法

docker exec -it <CONTAINER_NAME> <CLI_NAME> <COMMAND>`

示例

# List CLI configurations
docker exec -it influxdb2 influx config ls
# View the server configuration
docker exec -it influxdb2 influx server-config
# Inspect server details
docker exec -it influxdb2 influxd inspect -d

管理挂载卷中的文件

要在本地文件系统和一个卷之间复制文件,例如 InfluxDB 服务器的 config.yml 文件,请使用 docker container cp 命令

在Kubernetes集群中安装InfluxDB

下面的说明使用minikubekind,但在任何Kubernetes集群中步骤应该类似。InfluxData还提供Helm charts

  1. 安装 minikubekind

  2. 启动一个本地集群:

    # with minikube
    minikube start
    
    # with kind
    kind create cluster
    
  3. 通过运行应用示例 InfluxDB 配置

    kubectl apply -f https://raw.githubusercontent.com/influxdata/docs-v2/master/static/downloads/influxdb-k8-minikube.yaml
    

    这将创建一个 influxdb 命名空间、服务和有状态集合。
    还创建了一个持久卷声明以存储写入到 InfluxDB 的数据。

    重要: 在运行 kubectl apply -f <url> 之前,请始终检查YAML清单!

  4. 确保 Pod 正在运行:

    kubectl get pods -n influxdb
    
  5. 确保服务可用:

    kubectl describe service -n influxdb influxdb
    

    您应该在命令的输出中看到Endpoints后的IP地址。

  6. 将集群内部的8086端口转发到本地:

    kubectl port-forward -n influxdb service/influxdb 8086:8086
    

要求

要在树莓派上运行InfluxDB,您需要:

  • 一个 Raspberry Pi 4+ 或 400
  • 一个64位操作系统。 推荐:: 一个 64位版本的Ubuntu 兼容64位Raspberry Pi的Ubuntu桌面或Ubuntu服务器。

安装Linux二进制文件

按照Linux安装说明在树莓派上安装InfluxDB。

监视你的树莓派

使用InfluxDB Raspberry Pi 模板 轻松配置收集和可视化 Raspberry Pi 的系统指标。

监控 32 位树莓派系统

如果您有一个32位的树莓派,使用Telegraf收集并发送数据到:

启动 InfluxDB

如果它尚未运行,请按照说明在您的系统上启动 InfluxDB:

要启动 InfluxDB,请运行 influxd 守护进程:

influxd

(macOS Catalina 和更新版本) 授权 influxd 二进制文件

macOS 要求下载的二进制文件必须由注册的苹果开发者签名。 目前,当您第一次尝试运行 influxd 时,macOS 将阻止它运行。

要手动授权 influxd 二进制文件,请按照您的 macOS 版本的说明来允许下载的应用程序。

在macOS Ventura上运行InfluxDB
  1. 按照前面的指示尝试启动 influxd
  2. 打开 系统设置 并点击 隐私与安全
  3. 安全标题下,有关“influxd”被阻止的消息,请点击无论如何允许
  4. 在提示时,请输入您的密码以允许该设置。
  5. 关闭 系统设置
  6. 尝试启动 influxd
  7. 出现一个提示,信息为 “macOS 无法验证 “influxd” 的开发者……”。点击 打开
在macOS Catalina上运行InfluxDB
  1. 尝试启动 influxd
  2. 打开 系统偏好设置 并点击 安全性与隐私
  3. 常规选项卡下,有关influxd被阻止的消息。 点击仍然打开

我们正在更新构建过程,以确保发布的二进制文件由 InfluxData 签名。

“打开的文件过多”错误

在运行 influxd 后,您可能会在日志输出中看到如下错误:

too many open files

要解决此错误,请按照推荐的步骤提高文件和进程限制,然后重新启动 influxd

如果 InfluxDB 被安装为 systemd 服务,systemd 会管理 influxd 守护进程,且无需进一步操作。 如果二进制文件是手动下载并添加到系统 $PATH 中,请使用以下命令启动 influxd 守护进程:

influxd

Powershell 中,导航到 C:\Program Files\InfluxData\influxdb 并通过运行 influxd 守护进程来启动 InfluxDB:

cd -Path 'C:\Program Files\InfluxData\influxdb'
./influxd

授予网络访问权限

第一次启动 InfluxDB 时, Windows Defender 会出现以下消息:

Windows Defender 防火墙阻止了此应用程序的某些功能。

  1. 选择 私人网络,例如我的家庭网络或工作网络
  2. 点击 允许访问.

要使用Docker CLI启动一个现有的容器,请输入以下命令:

docker start influxdb2

influxdb2 替换为您的容器名称。

要启动一个新的容器,请按照说明 安装并设置 InfluxDB 在容器中

要在Kubernetes中启动InfluxDB,请按照说明在Kubernetes集群中安装InfluxDB

如果成功,您可以在 http://localhost:8086 查看 InfluxDB 用户界面。

InfluxDB 使用默认设置,包括以下内容:

  • http-bind-address=:8086: 使用端口 8086 (TCP) 进行 InfluxDB 用户界面和 HTTP API 客户端-服务器通信。
  • reporting-disabled=false: 将 InfluxDB 遥测信息发送回 InfluxData。

要覆盖默认设置,请在启动InfluxDB时指定配置选项,例如:

配置端口或地址

选择不参与遥测报告

有关InfluxDB v2默认设置及如何覆盖它们的信息,请参阅 InfluxDB配置选项

安装并初始化 InfluxDB 后,开始 编写和查询数据。

下载、安装并配置 influx CLI

推荐:安装 influx CLI,它提供了一种简单的方法从命令行与 InfluxDB 进行交互。有关详细的安装和设置说明,请参见 使用 influx CLI

InfluxDB 和 influx CLI 是独立的包

InfluxDB服务器 (influxd) 和 influx CLI 是单独打包和 版本管理的。 一些安装方法(例如,InfluxDB Docker Hub镜像)包括两者。



Flux的未来

Flux 正在进入维护模式。您可以像现在一样继续使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看: