Cấu hình kho phần mềm InfluxData
Bước đầu tiên là thêm kho phần mềm chính thức của InfluxData vào hệ thống Ubuntu 24.04 để đảm bảo bạn nhận được các bản cập nhật mới nhất và an toàn nhất.
Chúng ta cần tải xuống khóa GPG công khai của InfluxData và thêm nó vào kho lưu trữ của hệ thống. Sau đó, tạo file nguồn để apt có thể nhận diện gói InfluxDB 2.x.
Chạy lệnh sau để tải khóa GPG và thêm vào kho:
curl -s https://repos.influxdata.com/influxdata-archive_compat.key | \
gpg --dearmor | \
sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
Kết quả mong đợi: Lệnh chạy xong không báo lỗi, khóa được thêm vào thư mục trusted.gpg.d.
Tiếp theo, tạo file nguồn cho Ubuntu 24.04 (mã nguồn codename là 'noble').
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] \
https://repos.influxdata.com/debian stable main' | \
sudo tee /etc/apt/sources.list.d/influxdata.list
Kết quả mong đợi: File `/etc/apt/sources.list.d/influxdata.list` được tạo ra với nội dung trỏ về kho stable.
Cập nhật danh sách gói phần mềm để hệ thống nhận diện gói InfluxDB mới vừa thêm.
sudo apt update
Kết quả mong đợi: Thông báo "Hit" hoặc "Get" xuất hiện, trong đó có dòng "InfluxData" hoặc "stable" trong danh sách nguồn.
Cài đặt InfluxDB 2.x và xác minh phiên bản
Sau khi kho phần mềm đã sẵn sàng, tiến hành cài đặt gói InfluxDB 2.x. Phiên bản này sử dụng giao diện web và CLI (Command Line Interface) hiện đại.
Chạy lệnh cài đặt gói, hệ thống sẽ tự động cài đặt các phụ thuộc cần thiết như OpenJDK (InfluxDB 2 chạy trên Java).
sudo apt install influxdb2
Khi được hỏi "Do you want to continue? [Y/n]", nhấn Enter để xác nhận (Y).
Kết quả mong đợi: Quá trình cài đặt hoàn tất, thông báo "Setting up influxdb2 (2.x.x)" xuất hiện.
Xác minh phiên bản đã cài đặt để đảm bảo đúng yêu cầu 2.x.
influx version
Kết quả mong đợi: Xuất hiện thông tin phiên bản, ví dụ: "influx 2.7.5" (số phiên bản có thể thay đổi tùy theo bản mới nhất trên kho stable).
Khởi động và thiết lập dịch vụ InfluxDB
InfluxDB 2.x được quản lý bởi systemd trên Linux. Mặc định, gói cài đặt có thể chưa tự động chạy ngay lập tức, chúng ta cần khởi động thủ công và bật tính năng tự động khởi động khi máy lên.
Khởi động dịch vụ InfluxDB ngay lập tức.
sudo systemctl start influxdb
Kết quả mong đợi: Không có lỗi, dịch vụ chuyển sang trạng thái running.
Thiết lập dịch vụ để tự động chạy khi hệ thống khởi động lại (enable on boot).
sudo systemctl enable influxdb
Kết quả mong đợi: Thông báo "Created symlink /etc/systemd/system/multi-user.target.wants/influxdb.service pointing to /lib/systemd/system/influxdb.service".
Kiểm tra trạng thái của dịch vụ để đảm bảo nó đang chạy ổn định và không có lỗi khởi động.
sudo systemctl status influxdb
Kết quả mong đợi: Dòng trạng thái hiển thị "active (running)". Bạn sẽ thấy đường dẫn log mặc định là `/var/log/influxd.log` nếu có sự cố.
Xác minh cổng mặc định (8086) đã được InfluxDB lắng nghe.
sudo ss -tlnp | grep 8086
Kết quả mong đợi: Xuất hiện dòng chứa "LISTEN" và "influxd" trên cổng 8086 (thường là 0.0.0.0:8086 hoặc [::]:8086).
Cấu hình ban đầu với lệnh influx setup
Đây là bước quan trọng nhất để khởi tạo tổ chức (Organization), Bucket (chứa dữ liệu), và Token truy cập. Lệnh `influx setup` sẽ yêu cầu bạn nhập thông tin theo từng bước tương tác.
Chạy lệnh setup. Lưu ý: Bạn cần chạy lệnh này trên user có quyền root hoặc sudo để tạo dữ liệu cấu hình.
sudo influx setup
Kết quả mong đợi: CLI sẽ hiển thị menu tương tác yêu cầu nhập thông tin. Đừng hoảng sợ, đây là quy trình chuẩn.
Thực hiện nhập thông tin theo thứ tự như sau (ví dụ):
- Organization name: Nhập tên tổ chức, ví dụ: "MyOrg".
- Bucket name: Nhập tên bucket chứa dữ liệu, ví dụ: "telegraf_metrics".
- Retention period: Nhập thời gian giữ dữ liệu. Nhập "infinite" để lưu vô hạn, hoặc "30d" để lưu 30 ngày. Gợi ý: "30d".
- Admin user name: Tên người quản trị, ví dụ: "admin".
- Password: Nhập mật khẩu mạnh (ví dụ: "MySecurePass123!").
- Confirm password: Nhập lại mật khẩu.
- Enter a name for your first token: Đặt tên token, ví dụ: "TelegrafWriteToken".
Sau khi nhập xong, hệ thống sẽ yêu cầu bạn lưu token.
Chuyển đến bước lưu token (API Token). Đây là chuỗi ký tự dài dùng để ứng dụng (như Telegraf) gửi dữ liệu vào InfluxDB.
sudo influx setup
Khi CLI hỏi "Would you like to save your token to a file?", chọn "Yes" (Nhấn Enter hoặc gõ "y").
Kết quả mong đợi:
- Thông báo "Your token has been saved to /root/.influxdb2-v2/token".
- Lệnh hoàn tất, thông báo "Setup complete!".
Để kiểm tra xem token đã được lưu chưa, hiển thị nội dung file token.
cat /root/.influxdb2-v2/token
Kết quả mong đợi: Một chuỗi ký tự dài (ví dụ: `a1b2c3d4...`) xuất hiện trên màn hình. Đây là API Token bạn sẽ dùng trong các phần sau.
Xác minh người dùng và bucket đã được tạo thành công trong hệ thống.
influx user list
influx bucket list
Kết quả mong đợi: Danh sách hiển thị user "admin" và bucket "telegraf_metrics" (hoặc tên bạn đã đặt).
Kiểm tra quyền truy cập qua token bằng cách liệt kê các token đã tạo.
influx auth list
Kết quả mong đợi: Hiển thị ít nhất 1 token với tên bạn đã đặt (ví dụ: "TelegrafWriteToken") và trạng thái "active".
Điều hướng series:
Mục lục: Series: Triển khai Database Time-Series với InfluxDB trên Ubuntu 24.04
« Phần 1: Chuẩn bị môi trường Ubuntu 24.04 và yêu cầu hệ thống
Phần 3: Cấu hình bảo mật và quản lý truy cập (IAM) »