InfluxDB là cơ sở dữ liệu chuỗi thời gian và mã nguồn mở do InfluxData phát triển. Cơ sở dữ liệu này được viết bằng Go và được thiết kế để xử lý tải truy vấn và ghi cao. Cơ sở dữ liệu này được biết đến với tính đơn giản và khả năng hoạt động ở quy mô lớn. Cơ sở dữ liệu này có thể chạy trên nhiều hệ điều hành và cũng hỗ trợ nhiều thư viện máy khách.
Hướng dẫn này sẽ giải thích cách cài đặt cơ sở dữ liệu chuỗi thời gian InfluxDB trên CentOS 8.
Thêm nội dung sau dòng:
Lưu và đóng tệp sau đó cập nhật bộ đệm kho lưu trữ bằng lệnh sau:
Tiếp theo, cài đặt InfluxDB bằng lệnh sau lệnh:
Sau khi cài đặt hoàn tất, hãy xác minh phiên bản InfluxDB đã cài đặt bằng lệnh sau:
Bạn sẽ nhận được thông báo sau đầu ra:
Để khởi động InfluxDB khi khởi động lại hệ thống, hãy chạy lệnh sau lệnh:
Để xác minh trạng thái của InfluxDB, hãy chạy lệnh sau:
Bạn sẽ nhận được thông báo sau đầu ra:
Theo mặc định, InfluxDB lắng nghe trên cổng 8086. Bạn có thể kiểm tra bằng lệnh sau:
Bạn sẽ thấy thông báo sau đầu ra:
Để thực hiện, bạn sẽ cần bật xác thực trong tệp influxdb.conf.
Thay đổi dòng sau trong phần [http]:
Lưu và đóng tệp, sau đó khởi động lại InfluxDB để áp dụng các thay đổi:
Tiếp theo, bạn sẽ cần tạo một người dùng quản trị để xác thực InfluxDB. Bạn có thể tạo nó bằng lệnh sau:
Tại thời điểm này, InfluxDB được bảo mật bằng tên người dùng và mật khẩu.
Sau khi kết nối, bạn sẽ nhận được kết quả sau:
Bây giờ, hãy tạo một cơ sở dữ liệu mới bằng cách sử dụng lệnh sau lệnh:
Để hiển thị tất cả các cơ sở dữ liệu, hãy chạy lệnh sau:
Bạn sẽ nhận được thông báo sau đầu ra:
Bây giờ, thoát khỏi shell InfluxDB bằng lệnh sau:
Bạn cũng có thể liệt kê tất cả các cơ sở dữ liệu mà không cần đăng nhập vào InfluxDB như được hiển thị bên dưới:
Bạn sẽ nhận được kết quả sau:
Hướng dẫn này sẽ giải thích cách cài đặt cơ sở dữ liệu chuỗi thời gian InfluxDB trên CentOS 8.
Điều kiện tiên quyết
- Máy chủ chạy CentOS 8.
- Mật khẩu gốc được cấu hình trên máy chủ của bạn.
Cài đặt InfluxDB
Theo mặc định, InfluxDB không khả dụng trong kho lưu trữ mặc định của CentOS 8. Vì vậy, bạn sẽ cần tạo kho lưu trữ cho InfluxDB. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/yum.repos.d/influxdb.repo
Mã:
[influxdb]
name = InfluxDB Repository
baseurl = https://repos.influxdata.com/rhel/8/x86_64/stable/
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
Mã:
dnf makecache
Mã:
dnf -y install influxdb
Mã:
rpm -qi influxdb
Mã:
Name : influxdb
Version : 1.8.4
Release : 1
Architecture: x86_64
Install Date: Wednesday 07 April 2021 01:24:54 AM EDT
Group : default
Size : 174431824
License : Proprietary
Signature : RSA/SHA256, Monday 01 February 2021 08:01:46 PM EST, Key ID 684a14cf2582e0c5
Source RPM : influxdb-1.8.4-1.src.rpm
Build Date : Thursday 28 January 2021 05:31:21 AM EST
Build Host : bf85fc4b5de4
Relocations : /
Packager : [emailprotected]
Vendor : InfluxData
URL : https://influxdata.com
Summary : Distributed time-series database.
Description :
Distributed time-series database.
Quản lý dịch vụ InfluxDB
Bạn có thể khởi động và dừng dịch vụ InfluxDB bằng lệnh sau:
Mã:
systemctl start influxdb
systemctl stop influxdb
Mã:
systemctl enable influxdb
Mã:
systemctl status influxdb
Mã:
? influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/usr/lib/systemd/system/influxdb.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2021-04-07 01:25:11 EDT; 11s ago Docs: https://docs.influxdata.com/influxdb/ Main PID: 48978 (influxd) Tasks: 8 (limit: 12524) Memory: 7.9M CGroup: /system.slice/influxdb.service ??48978 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426523Z lvl=info msg="Starting precreation service" log_id=0TMhWB~l000 service=>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426552Z lvl=info msg="Starting snapshot service" log_id=0TMhWB~l000 service=sna>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426570Z lvl=info msg="Starting continuous query service" log_id=0TMhWB~l000 ser>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426616Z lvl=info msg="Starting HTTP service" log_id=0TMhWB~l000 service=httpd a>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426634Z lvl=info msg="opened HTTP access log" log_id=0TMhWB~l000 service=httpd >
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426802Z lvl=info msg="Listening on HTTP" log_id=0TMhWB~l000 service=httpd addr=>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426831Z lvl=info msg="Starting retention policy enforcement service" log_id=0TM>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427033Z lvl=info msg="Listening for signals" log_id=0TMhWB~l000
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427330Z lvl=info msg="Storing statistics" log_id=0TMhWB~l000 service=monitor db>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427779Z lvl=info msg="Sending usage statistics to usage.influxdata.com" log_id=>
Mã:
ss -tunelp | grep 8086
Mã:
tcp LISTEN 0 128 *:8086 *:* users:(("influxd",pid=49040,fd=14)) uid:987 ino:824427 sk:c v6only:0
Bật xác thực
Theo mặc định, InfluxDB được cấu hình để kết nối mà không cần xác thực. Vì vậy, bạn nên bảo mật InfluxDB bằng tên người dùng và mật khẩu.Để thực hiện, bạn sẽ cần bật xác thực trong tệp influxdb.conf.
Mã:
nano /etc/influxdb/influxdb.conf
Mã:
auth-enabled = true
Mã:
systemctl restart influxdb
Mã:
curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES"
Làm việc với InfluxDB
Bây giờ, bạn có thể kết nối với shell InfluxDB bằng lệnh sau lệnh:
Mã:
influx -username 'admin' -password 'password'
Mã:
Connected to http://localhost:8086 version 1.8.4
InfluxDB shell version: 1.8.4
Mã:
> CREATE DATABASE mydb
Mã:
> SHOW DATABASES
Mã:
name: databases
name
----
_internal
mydb
Mã:
> exit
Mã:
curl -G http://localhost:8086/query -u admin:password --data-urlencode "q=SHOW DATABASES"
Mã:
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"],["mydb"]]}]}]}