Chuyển đến nội dung chính
Kết nối cơ sở dữ liệu Redis của bạn để Tony (Database Engineer) có thể kiểm tra keyspace, phân tích các pattern lệnh và giám sát sức khỏe cơ sở dữ liệu.

Nền tảng được hỗ trợ

Nền tảngHỗ trợ
Redis tự host6.x, 7.x (vanilla và Redis Stack)
Upstash RedisTất cả gói
Redis CloudTất cả gói

Điều kiện tiên quyết

  • Một instance Redis có thể tiếp cận từ CloudThinker qua mạng.
  • Quyền admin để tạo người dùng ACL (tự host) hoặc người dùng RBAC (Upstash/Redis Cloud).
  • Connection string REDIS_URL kèm thông tin xác thực.

Thiết lập

Chọn nền tảng Redis của bạn để xem hướng dẫn kết nối cụ thể.
Hai hình thức triển khai phổ biến được hỗ trợ:
  • Vanilla Redis — image tối giản, không có module. Dùng khi bạn chỉ cần các lệnh Redis cơ bản.
  • Redis Stack — tích hợp RediSearch, RedisJSON, RedisTimeSeries và Bloom. Dùng khi Tony cần các lệnh FT.*, JSON.*, TS.* hoặc BF.*. Vanilla sẽ báo lỗi nhẹ khi gặp các lệnh đó.
1

Khởi động Redis

Vanilla Redis (không có module):
docker run -d --name redis-min \
  -p 6379:6379 \
  redis:7-alpine \
  redis-server --requirepass <admin-password> --appendonly yes
Mật khẩu admin được đặt qua flag server --requirepass. --appendonly yes bật AOF để dữ liệu bền vững qua các lần khởi động lại.Redis Stack (có module và RedisInsight UI trên cổng 8001):
docker run -d --name redis-stack \
  -p 6379:6379 -p 8001:8001 \
  -e REDIS_ARGS="--requirepass <admin-password>" \
  redis/redis-stack:latest
Xác minh instance:
redis-cli -a <admin-password> ping
# PONG
2

Tạo người dùng ACL chỉ đọc

Tạo người dùng riêng cho CloudThinker. Username ACL Redis cho phép [A-Za-z0-9_-]; dùng cloudthinker-readonly.
redis-cli -a <admin-password> ACL SETUSER cloudthinker-readonly on \
  '><readonly-password>' \
  '~*' \
  '+@read' '-@write' '-@dangerous' '-@admin'
  • on — bật người dùng
  • ><readonly-password> — đặt mật khẩu (tiền tố > là cú pháp ACL)
  • ~* — khớp tất cả key; thu hẹp thành ~app:* để phạm vi hóa chặt hơn
  • +@read -@write -@dangerous -@admin — chỉ đọc; chặn ghi, FLUSHALL/CONFIG/DEBUG/SHUTDOWN và replication
  • Tùy chọn: thêm -@slow để chặn KEYS, SMEMBERS, HGETALL trên collection lớn
3

Lưu ACL bền vững qua khởi động lại

Mount file users.acl để ACL tồn tại sau khi container khởi động lại:
user default on ><admin-password> ~* &* +@all
user cloudthinker-readonly on ><readonly-password> ~* +@read -@write -@dangerous -@admin
Khởi động Redis với file được mount:
-v $PWD/users.acl:/data/users.acl
và thêm --aclfile /data/users.acl vào lệnh server.
4

Xác minh người dùng chỉ đọc

redis-cli -u redis://cloudthinker-readonly:<readonly-password>@localhost:6379 SET foo bar
# (error) NOPERM ... has no permissions to run the 'set' command

redis-cli -u redis://cloudthinker-readonly:<readonly-password>@localhost:6379 GET foo
# works
5

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 firewall hoặc security group
  • Đảm bảo Redis được bind tới interface có thể truy cập (tránh chỉ dùng bind 127.0.0.1)
6

Thêm kết nối trong CloudThinker

Điều hướng đến Connections → Redis và nhập connection string của bạn làm REDIS_URL:
redis://cloudthinker-readonly:<readonly-password>@<your-host>:6379
Dùng rediss:// (lưu ý chữ s thứ hai) nếu triển khai của bạn terminate TLS. Nhấn Connect. CloudThinker hiển thị trạng thái Connected khi thành công.

Chi tiết kết nối

TrườngMô tảVí dụ
REDIS_URLRedis connection URI bao gồm thông tin xác thựcredis://cloudthinker-readonly:pass@host:6379
TLS/SSLDùng scheme rediss:// để bắt buộc TLSrediss:// cho Upstash; tùy chọn ở nơi khác
PortCổng Redis6379 (tự host, Upstash); 13xxx (Redis Cloud)
Database indexChỉ số DB logic0

Quyền bắt buộc

Các ACL category khuyến nghị cho người dùng CloudThinker:
CategoryCài đặtLý do
+@readCho phépĐọc key, chạy INFO, CLIENT LIST, v.v.
-@writeTừ chốiChặn SET, DEL và các lệnh thay đổi khác
-@dangerousTừ chốiChặn FLUSHALL, CONFIG, DEBUG, SHUTDOWN, replication
-@adminTừ chốiChặn các lệnh admin
-@slow (tùy chọn)Từ chốiChặn KEYS, SMEMBERS, HGETALL trên collection lớn
Phạm vi hóa key (~* cho tất cả key, hoặc ~app:* cho prefix) thu hẹp những gì người dùng CloudThinker có thể truy cập. Bắt đầu với ~* và giới hạn dần khi cần.

Khả năng của agent

Sau khi kết nối, Tony có thể:
Khả năngMô tả
Phân tích keyspaceKiểm tra các pattern key, kích thước và phân phối TTL
Thống kê lệnhXem xét latency và throughput lệnh qua INFO commandstats
Metrics hiệu suấtGiám sát bộ nhớ, kết nối, eviction và replication lag
Thông tin moduleKiểm tra RediSearch index, RedisJSON document và TimeSeries (chỉ Redis Stack)

Xác minh kết nối

@tony #report run Redis INFO and summarize memory usage, connected clients, and keyspace stats

Ví dụ prompt

@tony #report analyze hot keys and memory distribution on the production Redis instance
@tony #report check memory fragmentation ratio and eviction stats
@tony #report review replication lag on the Redis replica

Khắc phục sự cố

  • Xác minh username và password trong connection URL
  • Với tự host, xác nhận người dùng được bật bằng ACL WHOAMIACL LIST
  • Với Upstash và Redis Cloud, đảm bảo bạn đã sao chép TCP/Redis CLI URL, không phải REST hoặc SDK URL
  • Người dùng chỉ đọc đang hoạt động đúng với các lệnh ghi
  • Nếu đọc cũng bị chặn, kiểm tra lại ACL rules — +@read phải được cấp
  • Xác minh host và port có thể tiếp cận từ CloudThinker
  • Với tự host, đảm bảo Redis không chỉ bind với 127.0.0.1
  • Thêm IP CloudThinker vào firewall hoặc allowlist của cloud provider
  • Vanilla Redis không bao gồm module. Chạy Redis Stack (redis/redis-stack) hoặc bản managed tương đương tích hợp các module cần thiết.

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.
  • Dùng rediss:// cho TLS — dùng scheme rediss:// khi triển khai hỗ trợ TLS để mã hóa dữ liệu truyền tải.
  • Lưu ACL bền vững — dùng aclfile cho các triển khai tự host để người dùng chỉ đọc tồn tại qua các lần khởi động lại.

Liên quan

Tony Agent

Agent tối ưu cơ sở dữ liệu
https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/mongodb.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=6ba4577251f89473df297fbc739af375

Kết nối MongoDB

Hướng dẫn thiết lập cho cơ sở dữ liệu MongoDB