Quay lại danh sách
Tin tức công nghệ

Xây dựng nền tảng 'Static Site Analytics & Privacy-First Tracking' tự host trên VPS với Umami và ClickHouse

25 tháng 5, 2026

Giới thiệu xu hướng Privacy-First Analytics

Trong kỷ nguyên số hiện đại, việc theo dõi và phân tích hành vi người dùng trên website là yếu tố then chốt giúp các doanh nghiệp tối ưu hóa trải nghiệm khách hàng và nâng cao tỷ lệ chuyển đổi. Tuy nhiên, sự thắt chặt của các quy định pháp lý như GDPR, CCPA cùng với xu hướng tẩy chay cookie bên thứ ba (third-party cookies) đang đặt ra một thách thức lớn cho các giải pháp truyền thống như Google Analytics.

Đối với các website dạng tĩnh (Static Sites) — vốn được ưa chuộng nhờ tốc độ tải trang vượt trội và tính bảo mật cao — việc tích hợp một công cụ phân tích vừa nhẹ, vừa đảm bảo quyền riêng tư của người dùng (Privacy-First) là vô cùng cần thiết. Đó là lý do mô hình tự host (Self-hosted) kết hợp giữa Umami và ClickHouse trên máy chủ ảo (VPS) đang trở thành giải pháp kiến trúc tối ưu cho các doanh nghiệp và kỹ sư công nghệ.

Tại sao nên chọn Umami và ClickHouse?

Trước khi đi vào chi tiết triển khai, chúng ta cần hiểu rõ lý do tại sao sự kết hợp này lại mạnh mẽ đến vậy, đặc biệt là khi so sánh với các giải pháp SaaS phổ biến.

1. Umami: Giải pháp thay thế Google Analytics gọn nhẹ

Umami là một mã nguồn mở phân tích web tập trung vào quyền riêng tư. Khác với Google Analytics, Umami không thu thập thông tin cá nhân của người dùng, không sử dụng cookie để theo dõi xuyên suốt các website và tuân thủ hoàn toàn GDPR một cách mặc định. Điểm cộng lớn của Umami đối với static site bao gồm:

  • Script siêu nhẹ: Đoạn mã theo dõi của Umami chỉ nặng chưa đầy 2 KB, giúp website duy trì điểm số Core Web Vitals tối đa.
  • Giao diện trực quan: Mọi thông số từ Pageviews, Users, Bounce Rate đến Device, Referrers đều được hiển thị trên một dashboard duy nhất, không rườm rà.
  • Bảo mật dữ liệu: Doanh nghiệp toàn quyền sở hữu 100% dữ liệu thu thập được, loại bỏ rủi ro rò rỉ thông tin cho bên thứ ba.

2. ClickHouse: Sức mạnh xử lý dữ liệu lớn (Big Data)

Mặc dù Umami có thể chạy trên PostgreSQL hoặc MySQL, nhưng khi lưu lượng truy cập (traffic) tăng lên hàng triệu request mỗi tháng, các cơ sở dữ liệu quan hệ truyền thống sẽ nhanh chóng gặp hiện tượng nghẽn cổ chai (bottleneck).

ClickHouse là một hệ quản trị cơ sở dữ liệu hướng cột (Column-oriented DBMS) được thiết kế chuyên biệt cho các tác vụ phân tích trực tuyến (OLAP). Nhờ kiến trúc lưu trữ theo cột và khả năng nén dữ liệu cực tốt, ClickHouse cho phép:

  • Thực hiện các câu lệnh truy vấn phức tạp trên hàng tỷ dòng dữ liệu chỉ trong vài mili giây.
  • Tiết kiệm không gian lưu trữ trên ổ cứng VPS lên đến 5-10 lần so với database truyền thống.
  • Đảm bảo hệ thống Umami hoạt động mượt mà ngay cả khi đối mặt với các đợt bùng nổ traffic đột biến.
---

Kiến trúc hệ thống tổng quan

Mô hình triển khai tự host tối ưu trên VPS sẽ bao gồm các thành phần cốt lõi được container hóa bằng Docker để dễ dàng quản lý và mở rộng:

Kiến trúc dòng chảy dữ liệu: User Browser -> Static Site (JS Tracker) -> Nginx Reverse Proxy (HTTPS) -> Umami Server (Node.js) -> ClickHouse Database.

Để triển khai hệ thống này, doanh nghiệp cần chuẩn bị một cấu hình VPS tối thiểu như sau:

  • CPU: 2 Cores (Ưu tiên các dòng CPU thế hệ mới để ClickHouse xử lý vector tốt hơn).
  • RAM: 4GB (ClickHouse khá ngốn RAM khi thực thi các truy vấn lớn, đây là mức khuyến nghị an toàn).
  • Disk: 40GB SSD/NVMe.
  • Hệ điều hành: Ubuntu 22.04 LTS hoặc mới hơn.
---

Hướng dẫn triển khai chi tiết trên VPS

Bước 1: Cài đặt Docker và Docker Compose

Đầu tiên, hãy cập nhật hệ thống và cài đặt Docker công cụ giúp đóng gói toàn bộ môi trường chạy Umami và ClickHouse:sudo apt update && sudo apt upgrade -y sudo apt install docker.io docker-compose -y

Bước 2: Cấu hình File Docker Compose

Tạo một thư mục dự án chuyên biệt và thiết lập file cấu hình phối hợp giữa các dịch vụ:mkdir umami-analytics && cd umami-analytics nano docker-compose.yml

Nội dung file docker-compose.yml cần định nghĩa rõ ràng ba dịch vụ: ClickHouse (lưu trữ data), Umami (ứng dụng xử lý và hiển thị UI), và PostgreSQL (dùng để lưu cấu hình tài khoản, thông tin website của Umami vì ClickHouse chỉ chuyên lưu log event).

Dưới đây là cấu hình mẫu chuẩn hóa:version: '3' services: postgresql: image: postgres:15-alpine environment: POSTGRES_DB: umami POSTGRES_USER: umami_user POSTGRES_PASSWORD: secure_password_here volumes: - pgdata:/var/lib/postgresql/data restart: always clickhouse: image: clickhouse/clickhouse-server:latest environment: CLICKHOUSE_DB: umami CLICKHOUSE_USER: clickhouse_user CLICKHOUSE_PASSWORD: secure_ch_password volumes: - chdata:/var/lib/clickhouse ulimits: nofile: soft: 262144 hard: 262144 restart: always umami: image: ghcr.io/umami-software/umami:postgresql-latest environment: DATABASE_URL: postgresql://umami_user:secure_password_here@postgresql:5432/umami CLICKHOUSE_URL: clickhouse://clickhouse_user:secure_ch_password@clickhouse:9000/umami APP_SECRET: random_long_string_here ports: - "3000:3000" depends_on: - postgresql - clickhouse restart: always volumes: pgdata: chdata:

Bước 3: Khởi chạy hệ thống và cấu hình Reverse Proxy

Khởi chạy các container bằng lệnh:docker-compose up -d

Sau khi hệ thống khởi chạy thành công, ứng dụng Umami sẽ lắng nghe ở cổng 3000. Để đảm bảo an toàn và hỗ trợ giao thức HTTPS, chúng ta cần cấu hình Nginx làm Reverse Proxy và sử dụng Let's Encrypt để cấp chứng chỉ SSL miễn phí. Điều này cực kỳ quan trọng vì các trình duyệt hiện đại sẽ chặn các script tracking không chạy qua HTTPS.

Tích hợp vào Static Site và Tối ưu hóa SEO

Khi giao diện quản trị của Umami đã sẵn sàng, bạn chỉ cần tạo một tài khoản admin mặc định, thêm tên miền của website tĩnh cần theo dõi vào hệ thống. Umami sẽ cung cấp một đoạn mã Javascript ngắn gọn dạng như sau:

Hãy chèn đoạn mã này vào thẻ của static site (cho dù bạn đang dùng Hugo, Gatsby, Next.js hay Jekyll). Nhờ thuộc tính async và defer, script này hoàn toàn không làm ảnh hưởng đến tốc độ render trang, giúp điểm số SEO và trải nghiệm người dùng luôn ở mức tối ưu nhất.

Kết luận

Việc tự vận hành một nền tảng Static Site Analytics & Privacy-First Tracking bằng cách kết hợp Umami và ClickHouse trên VPS không chỉ giúp doanh nghiệp giải quyết triệt để bài toán tuân thủ bảo mật dữ liệu khách hàng, mà còn mang lại khả năng tối ưu chi phí vận hành và hiệu năng vượt trội. Đầu tư một lần vào hạ tầng tự host chính là bước đi chiến lược, bền vững cho mọi doanh nghiệp số trong tương lai.

Xây dựng nền tảng 'Static Site Analytics & Privacy-First Tracking' tự host trên VPS với Umami và ClickHouse | DPTCloud