Nền tảng được hỗ trợ
Điều kiện tiên quyết
- Một instance PostgreSQL có thể tiếp cận từ CloudThinker qua mạng.
- Quyền admin để tạo người dùng riêng và cấp đặc quyền.
- Extension
pg_stat_statementsđã cài đặt nếu bạn muốn phân tích ở cấp độ truy vấn (bắt buộc để lấy dữ liệu slow query).
Thiết lập
1
Kết nối với tư cách admin
Kết nối tới instance PostgreSQL bằng tài khoản admin:
2
Tạo người dùng chỉ đọc
Tạo người dùng riêng cho CloudThinker:
3
Cấp quyền kết nối và truy cập schema
Cho phép kết nối và sử dụng schema:
4
Cấp quyền SELECT
Cấp SELECT trên tất cả bảng và view, bao gồm các bảng sau này:
5
Bật pg_stat_statements
Extension này bắt buộc để phân tích truy vấn:Với RDS/Aurora, thêm vào parameter group:
6
Cấu hình truy cập mạng
Đảm bảo CloudThinker có thể tiếp cận cơ sở dữ liệu:
- Thêm IP CloudThinker vào security group hoặc firewall
- Với RDS: bật public access hoặc dùng VPC peering
7
Thêm kết nối trong CloudThinker
Điều hướng đến Connections → PostgreSQL và nhập:
- Host: hostname hoặc IP cơ sở dữ liệu
- Port: cổng cơ sở dữ liệu (mặc định:
5432) - Database: tên cơ sở dữ liệu
- Username:
cloudthinker_readonly - Password: mật khẩu bạn đặt ở trên
- SSL mode:
require(khuyến nghị)
Chi tiết kết nối
Định dạng connection string:
Quyền bắt buộc
Tối thiểu
Khuyến nghị (phân tích toàn diện)
Khả năng của agent
Sau khi kết nối, Tony có thể:Xác minh kết nối
Ví dụ prompt
Khắc phục sự cố
Connection refused
Connection refused
- Xác minh host và port chính xác
- Kiểm tra security group hoặc firewall cho phép IP CloudThinker
- Với RDS: đảm bảo “Publicly accessible” được bật hoặc dùng VPC peering
- Xác nhận PostgreSQL đang lắng nghe trên interface đúng
Xác thực thất bại
Xác thực thất bại
- Xác minh username và password chính xác
- Kiểm tra
pg_hba.confcho phép phương thức kết nối - Đảm bảo người dùng có đặc quyền
CONNECTtrên cơ sở dữ liệu
Thiếu pg_stat_statements
Thiếu pg_stat_statements
- Xác minh extension đã cài đặt:
SELECT * FROM pg_extension WHERE extname = 'pg_stat_statements'; - Kiểm tra
shared_preload_librariesbao gồmpg_stat_statements - Khởi động lại PostgreSQL sau khi thay đổi
shared_preload_libraries - Với RDS: sửa parameter group và reboot instance
Permission denied
Permission denied
- Xác minh người dùng có
SELECTtrên các bảng bắt buộc - Cấp role
pg_read_all_statscho PostgreSQL 14+ - Kiểm tra quyền schema bằng
\dn+trong psql
Bảo mật
- Quyền tối thiểu — chỉ cấp các quyền mà agent cần cho trường hợp sử dụng của bạn; bắt đầu với quyền chỉ đọc và mở rộng sau.
- Chỉ đọc theo mặc định — sử dụng thông tin xác thực chỉ đọc trừ khi bạn muốn agent thực hiện thay đổi qua kết nối này.
- Xoay vòng thông tin xác thực — xoay vòng khóa và token theo lịch trình thông thường của bạn; CloudThinker sẽ lấy giá trị mới khi bạn cập nhật kết nối.
- Thu hồi khi bàn giao — xóa thông tin xác thực tại nhà cung cấp khi bạn xóa một kết nối hoặc khi đồng nghiệp rời nhóm.
- Bắt buộc SSL — luôn sử dụng SSL mode
requirehoặc cao hơn để mã hóa dữ liệu truyền tải. - Grant tối thiểu — chỉ cấp
SELECTcho người dùng CloudThinker; không bao giờ cấp quyền ghi.
Liên quan
Tony Agent
Agent tối ưu cơ sở dữ liệu
Kết nối MySQL
Thiết lập tương tự cho cơ sở dữ liệu MySQL