InfluxDB 最新版本是 v2.x . 官方最新开源版本不支持集群,如果是单机部署则考虑最新的开源版本。
安装 InfluxDB
然后,安装并启动 InfluxDB 服务:
yum update
yum install -y wget curl tar gettext iptables
Red Hat && CentOS 使用 “yum” 安装
Red Hat 和 CentOS 用户可以使用yum包管理器安装最新稳定版本的 InfluxDB
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
EOF
将存储库添加到yum
配置后,通过运行以下命令安装并启动 InfluxDB 服务:
sudo yum install influxdb
sudo service influxdb start
或者,如果您的操作系统使用的是 systemd
(CentOS 7+、RHEL 7+):
sudo yum install influxdb
sudo systemctl start influxdb
SLES & openSUSE 使用 “zypper” 安装
openSUSE Build Service 为 SUSE Linux 用户提供了 RPM 包:
# add go repository
zypper ar -f obs://devel:languages:go/ go
# install latest influxdb
zypper in influxdb
FreeBSD/PC-BSD 使用 “pkg” 安装
InfluxDB 是 FreeBSD 包系统的一部分。它可以通过运行来安装:
sudo pkg install influxdb
配置文件位于 /usr/local/etc/influxd.conf
中, 可参考 /usr/local/etc/influxd.conf.sample
。
通过执行以下命令启动后端:
sudo service influxd onestart
要让 InfluxDB 在系统启动时启动,请添加influxd_enable="YES"
到/etc/rc.conf
.
使用 Linux Binaries 方式安装
1、选择与你linux系统架构匹配的版本:
从浏览器 或 命令行 下载 InfluxDB 二进制文件。
注意:可先网页下载到本地,上传到
/usr/local/src
目录下,也可以使用 wget 下载;
从您的浏览器下载
从命令行下载
# amd64
cd /usr/local/src && wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.6.1-linux-amd64.tar.gz
# arm
cd /usr/local/src && wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.6.1-linux-arm64.tar.gz
2、解压并安装
amd64
$ cd /usr/local/src && tar xvzf influxdb2-2.6.1-linux-amd64.tar.gz -C /usr/local
$ cd .. && mv influxdb2_linux_amd64 influxdb
$ echo 'export INFLUXDB_HOME=/usr/local/influxdb/' >>/etc/profile
$ echo 'export PATH="$PATH:$INFLUXDB_HOME/bin"' >>/etc/profile
$ source /etc/profile
# (可选)将提取的influxd可执行二进制文件放入您的系统中$PATH
$ ln -s /usr/local/influxdb/influxd /usr/bin/influxd;
arm
# 本地安装包
$ cd /usr/local/src && tar xvzf influxdb2-2.6.1-linux-arm64.tar.gz -C /usr/local
$ cd .. && mv influxdb2_linux_amd64 influxdb
$ echo 'export INFLUXDB_HOME=/usr/local/influxdb/' >>/etc/profile
$ echo 'export PATH="$PATH:$INFLUXDB_HOME/bin"' >>/etc/profile
$ source /etc/profile
# (可选)将提取的influxd可执行二进制文件放入您的系统中$PATH
$ ln -s /usr/local/influxdb/influxd /usr/bin/influxd;
2、配置 InfluxDB
InfluxDB 配置选项
influxd 通过使用配置标志、设置环境变量或在配置文件中定义配置选项来自定义您的 InfluxDB 配置。
查看您的运行时服务器配置
使用influxCLI 或 InfluxDB API 获取 InfluxDB 实例的运行时服务器配置。
服务器配置命令需要操作员令牌。
使用 CLI 查看服务器配置
使用influx server-config命令 检索您的运行时服务器配置。
influx server-config
使用 API 查看您的服务器配置
使用/api/v2/configInfluxDB API 端点检索您的运行时服务器配置。
获取 http://localhost:8086/api/v2/config
配置优先级
InfluxDB 使用以下优先级遵循配置设置:
- influxd flag
- 环境变量
- 配置文件设置
InfluxDB 配置文件
启动时 influxd,它会检查在当前工作目录中以 config.* 命名的文件。文件扩展名取决于配置文件的语法。InfluxDB 配置文件支持以下语法:
- YAML (.yaml, .yml)
- TOML (.toml)
- JSON (.json)
要自定义配置文件的目录路径,请将INFLUXD_CONFIG_PATH
环境变量设置为您的自定义路径。
$ echo 'export INFLUXD_CONFIG_PATH=/usr/local/influxdb' >>/etc/profile
$ source /etc/profile
示例配置文件
YAML
vi /usr/local/influxdb/config.yaml
query-concurrency: 20
query-queue-size: 15
secret-store: vault
session-length: 120
tls-cert: /path/to/influxdb.crt
tls-key: /path/to/influxdb.key
TOML
query-concurrency = 20
query-queue-size = 15
secret-store = "vault"
session-length = 120
tls-cert = "/path/to/influxdb.crt"
tls-key = "/path/to/influxdb.key"
JSON
{
"query-concurrency": 20,
"query-queue-size": 15,
"secret-store": "vault",
"session-length": 120,
"tls-cert": "/path/to/influxdb.crt",
"tls-key": "/path/to/influxdb.key"
}
3、启动 InfluxDB
如果 InfluxDB 作为 systemd 服务安装,则 systemd 管理influxd守护进程,不需要进一步的操作。如果二进制文件是手动下载并添加到系统中的,请使用以下命令$PATH启动守护进程:influxd
[root@localhost local]# influxd
2023-02-08T08:40:26.285251Z info Welcome to InfluxDB {"log_id": "0ft2mDg0000", "version": "v2.6.1", "commit": "9dcf880fe0", "build_date": "2022-12-29T15:53:07Z", "log_level": "info"}
2023-02-08T08:40:26.326574Z info Resources opened {"log_id": "0ft2mDg0000", "service": "bolt", "path": "/root/.influxdbv2/influxd.bolt"}
2023-02-08T08:40:26.326708Z info Resources opened {"log_id": "0ft2mDg0000", "service": "sqlite", "path": "/root/.influxdbv2/influxd.sqlite"}
2023-02-08T08:40:26.338018Z info Bringing up metadata migrations {"log_id": "0ft2mDg0000", "service": "KV migrations", "migration_count": 20}
2023-02-08T08:40:27.847882Z info Bringing up metadata migrations {"log_id": "0ft2mDg0000", "service": "SQL migrations", "migration_count": 8}
2023-02-08T08:40:28.143999Z info Using data dir {"log_id": "0ft2mDg0000", "service": "storage-engine", "service": "store", "path": "/root/.influxdbv2/engine/data"}
2023-02-08T08:40:28.144207Z info Compaction settings {"log_id": "0ft2mDg0000", "service": "storage-engine", "service": "store", "max_concurrent_compactions": 4, "throughput_bytes_per_second": 50331648, "throughput_bytes_per_second_burst": 50331648}
2023-02-08T08:40:28.144291Z info Open store (start) {"log_id": "0ft2mDg0000", "service": "storage-engine", "service": "store", "op_name": "tsdb_open", "op_event": "start"}
2023-02-08T08:40:28.144402Z info Open store (end) {"log_id": "0ft2mDg0000", "service": "storage-engine", "service": "store", "op_name": "tsdb_open", "op_event": "end", "op_elapsed": "0.127ms"}
2023-02-08T08:40:28.144468Z info Starting retention policy enforcement service {"log_id": "0ft2mDg0000", "service": "retention", "check_interval": "30m"}
2023-02-08T08:40:28.144499Z info Starting precreation service {"log_id": "0ft2mDg0000", "service": "shard-precreation", "check_interval": "10m", "advance_period": "30m"}
2023-02-08T08:40:28.146053Z info Starting query controller {"log_id": "0ft2mDg0000", "service": "storage-reads", "concurrency_quota": 1024, "initial_memory_bytes_quota_per_query": 9223372036854775807, "memory_bytes_quota_per_query": 9223372036854775807, "max_memory_bytes": 0, "queue_size": 1024}
2023-02-08T08:40:28.150441Z info Configuring InfluxQL statement executor (zeros indicate unlimited). {"log_id": "0ft2mDg0000", "max_select_point": 0, "max_select_series": 0, "max_select_buckets": 0}
2023-02-08T08:40:28.191576Z info Starting {"log_id": "0ft2mDg0000", "service": "telemetry", "interval": "8h"}
2023-02-08T08:40:28.194039Z info Listening {"log_id": "0ft2mDg0000", "service": "tcp-listener", "transport": "http", "addr": ":8086", "port": 8086}
4、开机自启动
创建专用的数据存储目录
mkdir -p /data/influxdb/data;
mkdir -p /data/influxdb/meta;
mkdir -p /data/influxdb/wal;
mkdir -p /data/influxdb/logs;
mkdir -p /usr/lib/influxdb/scripts;
创建 influxdb:influxdb 用户组和用户(安装程序自动安装的,默认创建了 influxdb 用户组和 influxdb 用户),并进行授权:
groupadd influxdb;
useradd -g influxdb -M -s /sbin/nologin influxdb;
chown -R influxdb. /data/influxdb;
创建开机启动脚本(来自官方程序安装后的文件):
influxdb.service
vi /lib/systemd/system/influxdb.service
脚本内容:
[Unit]
Description=InfluxDB is an open-source, distributed, time series database
Documentation=https://docs.influxdata.com/influxdb/
After=network.target remote-fs.target nss-lookup.target
[Service]
PIDFile=/var/lib/influxdb/influxd.pid
ExecStart=/usr/local/influxdb/influxd > /data/influxdb/logs/influxdb.log 2>&1 &
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
LimitNOFILE=65536
Restart=0
[Install]
WantedBy=multi-user.target
Alias=influxd.service
设置随机启动:
[root@local ~]# systemctl daemon-reload
[root@local ~]# systemctl disable influxdb.service
[root@local ~]# systemctl enable influxdb.service
[root@local ~]# systemctl start influxdb.service
[root@local ~]# systemctl status influxdb.service
[root@local ~]# systemctl stop influxdb.service
[root@local ~]# systemctl restart influxdb.service
端口: InfluxDB 通过端口 8088
、8089
和 8091
进行通信。
一定要确保端口放开,或者直接关闭防火墙,否则后续一定会出现错误。
# CentOS
firewall-cmd --zone=public --add-port=8086/tcp --permanent;
firewall-cmd --zone=public --add-port=8088/tcp --permanent;
firewall-cmd --zone=public --add-port=8089/tcp --permanent;
firewall-cmd --zone=public --add-port=8091/tcp --permanent;
iptables -I INPUT -m tcp -p tcp --dport 8086 -j ACCEPT;
iptables -I INPUT -m tcp -p tcp --dport 8088 -j ACCEPT;
iptables -I INPUT -m tcp -p tcp --dport 8089 -j ACCEPT;
iptables -I INPUT -m tcp -p tcp --dport 8091 -j ACCEPT;
浏览器访问数据库管理平台:
http://[IP]:8086/
安装 influx CLI(可选)
使用influxCLI 与 InfluxDB 实例交互并对其进行管理。编写和查询数据、生成 InfluxDB 模板、导出数据等。
1、下载 influx CLI 包。
从 浏览器 或命令行下载influxCLI 包。
注意:可先网页下载到本地,上传到
/usr/local/src
目录下,也可以使用 wget 下载;
从您的浏览器下载
从命令行下载
# amd64
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.6.1-linux-amd64.tar.gz
# arm
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.6.1-linux-arm64.tar.gz
2、解压并安装
amd64
$ cd /usr/local/src && tar xvzf influxdb2-client-2.6.1-linux-amd64.tar.gz -C /usr/local
$ cd .. && mv influxdb2-client-2.6.1-linux-amd64 influxdb2-client
$ echo 'export INFLUXDB_HOME=/usr/local/influxdb2-client/' >>/etc/profile
$ echo 'export PATH="$PATH:$INFLUXDB_HOME/bin"' >>/etc/profile
$ source /etc/profile
# (可选)将提取的influxd可执行二进制文件放入您的系统中$PATH
$ sudo cp influxdb2-client/influx /usr/local/bin/
arm
$ cd /usr/local/src && tar xvzf influxdb2-client-2.6.1-linux-arm64.tar.gz -C /usr/local
$ cd .. && mv influxdb2-client-2.6.1-linux-arm64 influxdb2-client
$ echo 'export INFLUXDB_HOME=/usr/local/influxdb2-client/' >>/etc/profile
$ echo 'export PATH="$PATH:$INFLUXDB_HOME/bin"' >>/etc/profile
$ source /etc/profile
# (可选)将提取的influxd可执行二进制文件放入您的系统中$PATH
$ sudo cp influxdb2-client/influx /usr/local/bin/
配置完成后命令行执行 influx 查看命令情况
[root@localhost local]# influx
NAME:
influx - Influx Client
USAGE:
influx [command]
HINT: If you are looking for the InfluxQL shell from 1.x, run "influx v1 shell"
COMMANDS:
version Print the influx CLI version
write Write points to InfluxDB
bucket Bucket management commands
completion Generates completion scripts
query Execute a Flux query
config Config management commands
org, organization Organization management commands
delete Delete points from InfluxDB
user User management commands
task Task management commands
telegrafs List Telegraf configuration(s). Subcommands manage Teleg raf configurations.
dashboards List Dashboard(s).
export Export existing resources as a template
secret Secret management commands
v1 InfluxDB v1 management commands
auth, authorization Authorization management commands
apply Apply a template to manage resources
stacks List stack(s) and associated templates. Subcommands mana ge stacks.
template Summarize the provided template
bucket-schema Bucket schema management commands
scripts Scripts management commands
ping Check the InfluxDB /health endpoint
setup Setup instance with initial user, org, bucket
backup Backup database
restore Restores a backup directory to InfluxDB
remote Remote connection management commands
replication Replication stream management commands
server-config Display server config
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
通过 UI 设置 InfluxDB
在 InfluxDB 运行的情况下,访问 http://localhost:8086
- 点击开始
- 设置您的初始用户
- 输入初始用户的用户名。
- 为您的用户输入密码和确认密码。
- 输入您的初始组织名称。
- 输入您的初始Bucket Name。
- 单击继续。
- 您的 InfluxDB 实例现已初始化。
Username : "influxdb"
Password : "SsFhNK6BQqhVCjg"
Initial Organization Name : test
Initial Bucket Name:telegraf
cSwrqv6ztcCEmTB7ETbvnGeG-hrRv58UAiuRY7tTQmhS_Y5l4ETWPxb-NZD5oden4rLDBt7u11dyvkgyJhuLvA==
最后编辑:Jeebiz 更新时间:2024-11-01 12:19