Fast Byte - Thuê VPS Giá Rẻ
Hướng dẫn chung

Tự host Plausible Analytics trên VPS Ubuntu 24.04|Đo Lường Nhẹ Dưới 1KB

Hướng dẫn thiết lập Plausible Analytics trên VPS là giải pháp tối ưu giúp bạn thoát khỏi những rắc rối về quyền riêng tư dữ liệu, cảnh báo GDPR phức tạp và các banner cookie phiền toái thường gặp khi dùng Google Analytics. Thay vì để các tập đoàn công nghệ nắm giữ toàn bộ […]

Ảnh đại diện Thanh Lam NguyễnThanh Lam Nguyễn20 phút đọc

Hướng dẫn thiết lập Plausible Analytics trên VPS là giải pháp tối ưu giúp bạn thoát khỏi những rắc rối về quyền riêng tư dữ liệu, cảnh báo GDPR phức tạp và các banner cookie phiền toái thường gặp khi dùng Google Analytics. Thay vì để các tập đoàn công nghệ nắm giữ toàn bộ dữ liệu truy cập, việc tự triển khai hệ thống phân tích web độc lập trên nền tảng máy chủ ảo tại ThueVPSGiaRe.vn mang lại khả năng kiểm soát dữ liệu 100%, bảo mật cao cùng tốc độ tải trang vượt trội.

1. Tại sao nên tự host Plausible Analytics thay vì Google Analytics?

Tự host Plausible Analytics trên VPS mang lại quyền sở hữu dữ liệu tuyệt đối, tuân thủ các quy định bảo mật quốc tế mà không cần đặt cookie theo dõi người dùng. Với dung lượng mã nguồn siêu nhẹ dưới 1KB, Plausible giúp trang web duy trì điểm hiệu năng tối đa mà vẫn nắm bắt trọn vẹn số liệu lưu lượng.

tự host Plausible Analytics thay vì Google Analytics
Tự host Plausible Analytics thay vì Google Analytics

Google Analytics tuy miễn phí nhưng đi kèm sự đánh đổi lớn: dữ liệu người dùng bị khai thác cho quảng cáo, yêu cầu bắt buộc phải hiển thị khung pop-up chấp thuận cookie gây khó chịu, và dung lượng thư viện tải về lên đến ~45KB làm chậm tốc độ hiển thị.

Trong khi đó, dịch vụ trả phí Plausible Cloud có thể phát sinh chi phí hàng tháng khá cao nếu lượng xem trang lớn. Giải pháp triển khai bản Community Edition trên một máy chủ riêng giúp bạn vừa tiết kiệm ngân sách vừa làm chủ hạ tầng.

Tính năng Google Analytics Plausible Cloud Plausible Self-Hosted
Chi phí hàng tháng Miễn phí (người dùng là sản phẩm) 9$ – 99$+/tháng ~5$ – 10$/tháng (chỉ tính phí VPS)
Quyền sở hữu dữ liệu Google nắm giữ Lưu trên hạ tầng Plausible Bạn nắm giữ toàn quyền 100%
Tuân thủ GDPR/CCPA Cần người dùng đồng ý Mặc định tuân thủ Mặc định tuân thủ
Banner thông báo Cookie Bắt buộc phải có Không cần thiết Không cần thiết
Kích thước file script ~45 KB < 1 KB < 1 KB
Số website theo dõi Không giới hạn Phụ thuộc gói cước Không giới hạn
Thời gian lưu trữ data Mặc định 14 tháng Vô thời hạn Vô thời hạn (theo dung lượng đĩa)

2. Yêu cầu phần cứng và thông số VPS khuyến nghị

Để vận hành trơn tru Plausible Analytics, cấu hình phần cứng của máy chủ đóng vai trò quyết định, đặc biệt là dung lượng bộ nhớ tạm RAM vì cơ sở dữ liệu xử lý sự kiện ClickHouse tiêu tốn khá nhiều tài nguyên để truy vấn cực nhanh.

  • Bộ nhớ RAM: Tối thiểu 2GB RAM (ClickHouse cần dung lượng RAM đủ lớn để xử lý dữ liệu tổng hợp).
  • Dung lượng ổ đĩa: Tối thiểu 20GB không gian trống (dung lượng sẽ tăng dần theo số lượng sự kiện thu thập).
  • Công nghệ ảo hóa & công cụ: Hỗ trợ Docker và tiện ích Docker Compose.
  • Tên miền riêng: Một tên miền hoặc tên miền phụ (ví dụ: analytics.yourdomain.com) đã chuẩn bị sẵn để trỏ về máy chủ.
  • Kiến thức cơ bản: Thao tác cơ bản với dòng lệnh Linux trên hệ điều hành Ubuntu.
Mức lưu lượng Số lượt xem trang/tháng Cấu hình VPS đề xuất
Nhỏ (Small) < 100.000 lượt 2 vCPU, 2GB RAM, 40GB SSD
Vừa (Medium) 100.000 – 1.000.000 lượt 2 vCPU, 4GB RAM, 80GB SSD (Khuyên dùng)
Lớn (Large) 1.000.000 – 10.000.000 lượt 4 vCPU, 8GB RAM, 160GB SSD
Doanh nghiệp (Enterprise) Trên 10.000.000 lượt CPU chuyên dụng (Dedicated CPU), 16GB+ RAM

Đối với đại đa số website có lượng traffic từ trung bình đến khá, lựa chọn một gói cấu hình VPS 4GB RAM chạy Ubuntu 24.04 LTS là mức đầu tư tối ưu nhất để đảm bảo hệ thống không bị giật lag hay treo container ClickHouse khi chịu tải đồng thời.

Thuê VPS giá rẻ

CPU Intel Gold, SSD NVMe U.2, giá từ 50K/tháng

Tự host Analytics mượt mà, tối ưu chi phí hạ tầng

Dịch vụ máy chủ ảo tại Fast Byte cung cấp tài nguyên độc lập, ổ cứng SSD NVMe tốc độ cao hỗ trợ ClickHouse và PostgreSQL ghi dữ liệu lưu lượng truy cập liên tục mà không lo nghẽn I/O hay phát sinh chi phí theo lượt xem trang.

Tham khảo VPS giá rẻ

3. Bước 1: Khởi tạo máy chủ VPS và thiết lập bảo mật ban đầu

Sau khi khởi tạo một phiên bản máy chủ chạy Ubuntu 24.04 LTS (khuyến nghị từ 4GB RAM trở lên), bạn lưu lại địa chỉ IP công khai được cấp phát và bắt đầu các bước thiết lập cơ bản sau.

Trước tiên, bạn thực hiện kết nối đến máy chủ qua giao thức SSH với tài khoản quản trị root:

# Truy cập máy chủ qua SSH
ssh root@YOUR_SERVER_IP

Tiếp theo, hãy đồng bộ danh mục gói phần mềm, cập nhật các bản vá bảo mật mới nhất cho hệ điều hành, cài đặt các tiện ích cần thiết và tiến hành thiết lập tường lửa UFW an toàn để mở đúng các cổng giao tiếp chuẩn (SSH, HTTP port 80 và HTTPS port 443):

# Cập nhật toàn bộ gói hệ thống
apt update && apt upgrade -y

# Cài đặt các công cụ cần thiết
apt install -y curl wget git ufw

# Cấu hình tường lửa UFW
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

# Đặt Hostname cho máy chủ
hostnamectl set-hostname plausible
Khởi tạo máy chủ VPS và thiết lập bảo mật ban đầu
Khởi tạo máy chủ VPS và thiết lập bảo mật ban đầu

4. Bước 2: Cài đặt môi trường Docker và Docker Compose

Plausible vận hành thông qua cụm nhiều container dịch vụ liên kết với nhau, do đó bước cài đặt Docker và Docker Compose trên Ubuntu là điều kiện tiên quyết.

Sử dụng script cài đặt chính thức của Docker giúp tiến trình diễn ra nhanh chóng, chính xác và tự động nhận diện kiến trúc phần cứng:

# Cài đặt Docker Engine
curl -fsSL https://get.docker.com | sh

# Cài đặt plugin Docker Compose
apt install -y docker-compose-plugin

# Kiểm tra phiên bản hoạt động
docker --version
docker compose version

# Kích hoạt Docker tự khởi động cùng hệ thống
systemctl enable docker
Cài đặt môi trường Docker và Docker Compose
Cài đặt môi trường Docker và Docker Compose

5. Bước 3: Cấu hình trỏ bản ghi DNS cho tên miền con

Để người dùng và trình duyệt có thể truy cập trang thống kê cũng như gửi sự kiện tracking, bạn cần tiến hành trỏ bản ghi domain về địa chỉ IP của máy chủ VPS thông qua trang quản trị DNS của nhà cung cấp tên miền:

  • Loại bản ghi (Record Type): A
  • Tên bản ghi (Name): analytics (hoặc @ nếu dùng domain gốc)
  • Giá trị (Value): Địa chỉ IPv4 của VPS (YOUR_SERVER_IP)
  • TTL: 300 (hoặc tự động)

Sau khi lưu bản ghi, hãy đợi khoảng 5 đến 15 phút để bản ghi DNS được đồng bộ rộng rãi. Bạn có thể kiểm tra kết quả phân giải trực tiếp ngay trên terminal của máy chủ bằng lệnh:

# Kiểm tra trỏ tên miền (thay domain thực tế của bạn)
dig analytics.yourdomain.com +short
# Kết quả trả về đúng địa chỉ IP máy chủ của bạn là đã thành công

6. Bước 4: Tải bộ cài đặt Plausible Community Edition

Chúng ta sẽ lưu trữ toàn bộ file cấu hình và dữ liệu triển khai của Plausible trong thư mục /opt/plausible. Hãy thực hiện clone kho mã nguồn chính thức của phiên bản cộng đồng (Community Edition):

# Tạo thư mục làm việc và chuyển đến thư mục đó
mkdir -p /opt/plausible
cd /opt/plausible

# Tải mã nguồn triển khai qua Git
git clone https://github.com/plausible/community-edition.git .

# Hoặc nếu không dùng Git, tải file nén trực tiếp:
# curl -L https://github.com/plausible/community-edition/archive/refs/heads/master.tar.gz | tar xz --strip-components=1

7. Bước 5: Tạo Secret Key và thiết lập file môi trường cấu hình

Plausible yêu cầu một chuỗi khóa bí mật an toàn (Secret Key Base) để phục vụ cho các thuật toán mã hóa phiên đăng nhập và bảo mật phiên cookie. Hãy tạo chuỗi khóa này bằng lệnh OpenSSL:

# Sinh chuỗi khóa bí mật ngẫu nhiên
openssl rand -base64 48
# Hãy sao chép chuỗi kết quả này lại để dùng ở bước dưới

Bây giờ, tạo file chứa các biến môi trường plausible-conf.env bằng cách thực thi đoạn mã cấu hình bên dưới. Hãy nhớ thay thế đúng đường dẫn tên miền và chuỗi secret key bạn vừa sinh ra:

cat > plausible-conf.env << 'EOF'
# URL gốc để truy cập Plausible (bắt buộc dùng https)
BASE_URL=https://analytics.yourdomain.com

# Khóa bí mật phục vụ mã hóa dữ liệu
SECRET_KEY_BASE=YOUR_GENERATED_SECRET_KEY_HERE

# Khóa đăng ký tự do (cho phép tạo tài khoản đầu tiên hoặc qua lời mời)
DISABLE_REGISTRATION=invite_only

# Chuỗi kết nối Database nội bộ Docker
DATABASE_URL=postgres://postgres:postgres@plausible_db:5432/plausible_db
CLICKHOUSE_DATABASE_URL=http://plausible_events_db:8123/plausible_events_db

# Thiết lập máy chủ gửi mail SMTP (tùy chọn - hữu ích khi gửi báo cáo, khôi phục mật khẩu)
# [email protected]
# SMTP_HOST_ADDR=smtp.yourdomain.com
# SMTP_HOST_PORT=587
# SMTP_USER_NAME=your_smtp_user
# SMTP_USER_PWD=your_smtp_password
# SMTP_HOST_SSL_ENABLED=true

# Tích hợp Google Search Console (tùy chọn)
# GOOGLE_CLIENT_ID=
# GOOGLE_CLIENT_SECRET=

# Cấu hình IP Geolocation tra cứu quốc gia/thành phố (tùy chọn)
# Đăng ký tại https://www.maxmind.com/en/geolite2/signup
# MAXMIND_LICENSE_KEY=your_license_key
# MAXMIND_EDITION=GeoLite2-City

# Mức độ ghi log hệ thống
LOG_LEVEL=warn
EOF

Về mặt cấu trúc, tệp cấu hình mặc định liên kết 3 thành phần chính:

  • plausible: Container ứng dụng chính xử lý logic web và giao diện.
  • plausible_db: Cơ sở dữ liệu PostgreSQL lưu trữ tài khoản, thiết lập website và thông tin người dùng.
  • plausible_events_db: Cơ sở dữ liệu hướng cột ClickHouse chuyên trách thu thập và xử lý hàng triệu sự kiện phân tích tốc độ cao.

8. Bước 6: Cấu hình Reverse Proxy tự động cấp phát SSL bằng Caddy

Thay vì phải cài đặt Certbot thủ công, máy chủ web Caddy là giải pháp tuyệt vời khi tích hợp sẵn tính năng tự động xin và gia hạn chứng chỉ SSL Let’s Encrypt hoàn toàn tự động, kèm theo khả năng nén gzip và bảo vệ header HTTP an toàn.

Trước hết, tạo tệp Caddyfile để định nghĩa reverse proxy chuyển hướng yêu cầu về cổng 8000 của Plausible:

# Tạo file cấu hình Caddyfile (thay domain thực tế của bạn)
cat > Caddyfile << 'EOF'
analytics.yourdomain.com {
    reverse_proxy plausible:8000

    # Header bảo mật
    header {
        X-Content-Type-Options nosniff
        X-Frame-Options DENY
        Referrer-Policy strict-origin-when-cross-origin
    }

    # Bật nén Gzip tối ưu tốc độ
    encode gzip

    # Ghi log truy cập
    log {
        output file /var/log/caddy/access.log
    }
}
EOF

Kế tiếp, cập nhật tệp docker-compose.yml hoàn chỉnh bao gồm đầy đủ Caddy, Plausible, PostgreSQL và ClickHouse:

cat > docker-compose.yml << 'EOF'
services:
  plausible_db:
    image: postgres:16-alpine
    restart: always
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=postgres

  plausible_events_db:
    image: clickhouse/clickhouse-server:24.3-alpine
    restart: always
    volumes:
      - event-data:/var/lib/clickhouse
      - event-logs:/var/log/clickhouse-server
      - ./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
      - ./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
    ulimits:
      nofile:
        soft: 262144
        hard: 262144

  plausible:
    image: ghcr.io/plausible/community-edition:v2.1.4
    restart: always
    command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
    depends_on:
      - plausible_db
      - plausible_events_db
    env_file:
      - plausible-conf.env

  caddy:
    image: caddy:2-alpine
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy-data:/data
      - caddy-config:/config
      - caddy-logs:/var/log/caddy
    depends_on:
      - plausible

volumes:
  db-data:
  event-data:
  event-logs:
  caddy-data:
  caddy-config:
  caddy-logs:
EOF

Đồng thời, tạo thư mục cấu hình và các tệp XML để tối ưu nhật ký ghi log cho ClickHouse nhằm tránh tình trạng tràn bộ nhớ:

mkdir -p clickhouse

cat > clickhouse/clickhouse-config.xml << 'EOF'
<clickhouse>
    <logger>
        <level>warning</level>
        <console>true</console>
    </logger>
</clickhouse>
EOF

cat > clickhouse/clickhouse-user-config.xml << 'EOF'
<clickhouse>
    <profiles>
        <default>
            <log_queries>0</log_queries>
            <log_query_threads>0</log_query_threads>
        </default>
    </profiles>
</clickhouse>
EOF

9. Bước 7: Khởi chạy các container Plausible Analytics

Sau khi chuẩn bị xong cấu hình, bạn tiến hành kéo các image về và kích hoạt toàn bộ cụm dịch vụ chạy ngầm:

# Khởi chạy dịch vụ ở chế độ chạy nền
docker compose up -d

# Theo dõi tiến trình khởi tạo và migrate cơ sở dữ liệu
docker compose logs -f

Khi màn hình console xuất hiện dòng thông báo “Starting Plausible server…”, hệ thống đã sẵn sàng đón nhận truy cập. Nhấn tổ hợp phím Ctrl + C để thoát khỏi luồng xem log. Sau đó, chạy lệnh kiểm tra trạng thái hoạt động:

# Kiểm tra các container đang chạy
docker compose ps

Nếu cả 4 container gồm plausible-caddy-1, plausible-plausible-1, plausible-plausible_db-1 và plausible-plausible_events_db-1 đều hiển thị trạng thái Up, hệ thống đã chạy chuẩn xác.

10. Bước 8: Khởi tạo tài khoản quản trị và vô hiệu hóa đăng ký tự do

Mở trình duyệt web và truy cập địa chỉ https://analytics.yourdomain.com của bạn. Lúc này bạn sẽ thấy giao diện chào mừng của Plausible Analytics.

  1. Nhấp vào nút Register để thiết lập tài khoản quản trị viên tối cao đầu tiên.
  2. Điền thông tin email, mật khẩu quản trị và tên hiển thị.
  3. Xác nhận kích hoạt (nếu đã cấu hình SMTP gửi mail).
  4. Nhập tên miền website đầu tiên mà bạn muốn tiến hành theo dõi lưu lượng.

Khóa tính năng đăng ký mở: Nhằm ngăn chặn người lạ tự ý đăng ký tài khoản và chiếm dụng tài nguyên máy chủ, hãy chuyển tham số DISABLE_REGISTRATION thành true:

# Chỉnh sửa file biến môi trường
nano plausible-conf.env

# Tìm và đổi dòng sau:
DISABLE_REGISTRATION=true

# Khởi động lại container Plausible để nhận thiết lập mới
docker compose restart plausible

11. Bước 9: Nhúng mã theo dõi Plausible vào website của bạn

Để bắt đầu thu thập số liệu, hãy chèn đoạn mã script tracking nhỏ gọn vào giữa thẻ <head>...</head> trên website của bạn:

<!-- Mã script Plausible Analytics tiêu chuẩn -->
<script defer data-domain="yourdomain.com" src="https://analytics.yourdomain.com/js/script.js"></script>

Các biến thể script mở rộng tính năng nâng cao

Plausible cung cấp sẵn các tiện ích mở rộng thông qua các biến thể tên file script để bạn kích hoạt thêm tính năng mà không cần cài đặt thêm plugin phức tạp:

  • Theo dõi lượt nhấp liên kết ra ngoài (Outbound Links):
    <script defer data-domain="yourdomain.com" src="https://analytics.yourdomain.com/js/script.outbound-links.js"></script>
  • Theo dõi lượt tải tập tin (File Downloads như PDF, ZIP…):
    <script defer data-domain="yourdomain.com" src="https://analytics.yourdomain.com/js/script.file-downloads.js"></script>
  • Theo dõi lưu lượng truy cập vào trang lỗi 404:
    <script defer data-domain="yourdomain.com" src="https://analytics.yourdomain.com/js/script.404.js"></script>
  • Kết hợp đồng thời nhiều tính năng:
    <script defer data-domain="yourdomain.com" src="https://analytics.yourdomain.com/js/script.outbound-links.file-downloads.js"></script>

12. Bước 10: Tự động hóa sao lưu dữ liệu PostgreSQL và ClickHouse

Khi tự vận hành máy chủ, việc xây dựng một chiến lược backup dữ liệu VPS định kỳ là nhiệm vụ sống còn để tránh thảm họa mất mát thông tin khi có lỗi phần cứng. Dữ liệu Plausible gồm hai phần: cấu hình người dùng trong PostgreSQL và chuỗi sự kiện traffic trong ClickHouse.

Bạn có thể đồng bộ bản sao lưu ra ngoài máy chủ lên các dịch vụ lưu trữ Object Storage tương thích S3 bằng công cụ rclone. Hãy tạo file bash script /opt/plausible/backup.sh:

cat > /opt/plausible/backup.sh << 'EOF'
#!/bin/bash
set -e

BACKUP_DIR="/opt/plausible/backups"
DATE=$(date +%Y-%m-%d_%H-%M-%S)
S3_BUCKET="your-backup-bucket"

mkdir -p $BACKUP_DIR

echo "=== Bắt đầu Backup Plausible: $DATE ==="

# 1. Sao lưu cơ sở dữ liệu PostgreSQL
echo "Đang sao lưu PostgreSQL..."
docker compose exec -T plausible_db pg_dump -U postgres plausible_db | gzip > "$BACKUP_DIR/postgres_$DATE.sql.gz"

# 2. Sao lưu cơ sở dữ liệu ClickHouse (định dạng Native)
echo "Đang sao lưu ClickHouse..."
docker compose exec -T plausible_events_db clickhouse-client --query="SELECT * FROM plausible_events_db.events FORMAT Native" | gzip > "$BACKUP_DIR/clickhouse_events_$DATE.native.gz"

# 3. Sao lưu file cấu hình
echo "Sao lưu cấu hình môi trường..."
cp plausible-conf.env "$BACKUP_DIR/plausible-conf_$DATE.env"
cp docker-compose.yml "$BACKUP_DIR/docker-compose_$DATE.yml"

# 4. Đóng gói file nén tổng hợp
echo "Đang gom gói file sao lưu..."
tar -czf "$BACKUP_DIR/plausible_backup_$DATE.tar.gz" \
    "$BACKUP_DIR/postgres_$DATE.sql.gz" \
    "$BACKUP_DIR/clickhouse_events_$DATE.native.gz" \
    "$BACKUP_DIR/plausible-conf_$DATE.env" \
    "$BACKUP_DIR/docker-compose_$DATE.yml"

# 5. Tải file sao lưu lên kho lưu trữ đám mây S3 qua rclone
echo "Đang tải dữ liệu lên đám mây..."
rclone copy "$BACKUP_DIR/plausible_backup_$DATE.tar.gz" "danubedata:$S3_BUCKET/plausible/"

# 6. Dọn dẹp bản sao lưu cũ trên máy chủ (giữ lại 7 ngày gần nhất)
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
find $BACKUP_DIR -name "*.sql.gz" -mtime +1 -delete
find $BACKUP_DIR -name "*.native.gz" -mtime +1 -delete
find $BACKUP_DIR -name "*.env" -mtime +1 -delete
find $BACKUP_DIR -name "*.yml" -mtime +1 -delete

echo "=== Hoàn thành tiến trình Backup! ==="
EOF

Phân quyền thực thi cho file script và lên lịch chạy tự động bằng cron job đều đặn vào lúc 3 giờ sáng mỗi ngày:

# Cấp quyền thực thi
chmod +x /opt/plausible/backup.sh

# Chạy thử nghiệm ngay lập tức để kiểm tra
/opt/plausible/backup.sh

# Thiết lập cron job chạy tự động vào 03:00 sáng mỗi ngày
(crontab -l 2>/dev/null; echo "0 3 * * * /opt/plausible/backup.sh >> /var/log/plausible-backup.log 2>&1") | crontab -

13. Bước 11: Kích hoạt định vị địa lý khách truy cập (GeoIP)

Theo mặc định, Plausible không lưu trữ địa chỉ IP thực của người dùng để bảo vệ quyền riêng tư tuyệt đối. Tuy nhiên, nếu bạn muốn biết người dùng đến từ quốc gia hoặc thành phố nào mà vẫn đảm bảo tính ẩn danh, bạn có thể tích hợp cơ sở dữ liệu GeoLite2 từ MaxMind:

  1. Đăng ký một tài khoản miễn phí tại cổng thông tin maxmind.com.
  2. Tạo một License Key cá nhân trong trang cài đặt tài khoản.
  3. Khai báo mã License Key vào tệp cấu hình:
# Chỉnh sửa file cấu hình
nano plausible-conf.env

# Bổ sung 2 biến môi trường sau:
MAXMIND_LICENSE_KEY=your_license_key
MAXMIND_EDITION=GeoLite2-City

# Khởi động lại container Plausible
docker compose restart plausible

14. Bước 12: Giám sát, bảo trì và cập nhật phiên bản

Trong quá trình vận hành, bạn cần thường xuyên thực hiện kiểm tra cấu hình VPS và theo dõi các chỉ số lưu trữ để máy chủ không bị cạn kiệt dung lượng đĩa do log hoặc volume Docker phình to:

# Kiểm tra dung lượng chiếm dụng của các volume Docker
docker system df -v

# Kiểm tra kích thước thư mục dữ liệu ClickHouse
docker compose exec plausible_events_db du -sh /var/lib/clickhouse

# Theo dõi luồng log của tất cả các container
docker compose logs -f

# Hoặc chỉ xem riêng log của Plausible hoặc ClickHouse
docker compose logs -f plausible
docker compose logs -f plausible_events_db

Khi nhà phát triển phát hành phiên bản mới, tiến trình nâng cấp Plausible qua Docker Compose diễn ra vô cùng nhanh gọn mà không ảnh hưởng đến dữ liệu cũ:

# Tải bản image mới nhất
docker compose pull

# Tạo lại và chạy container với phiên bản mới
docker compose up -d

# Kiểm tra log để xác nhận phiên bản đang chạy
docker compose logs plausible | grep "Running Plausible"

15. Tùy biến nâng cao: Theo dõi Goal, API và chia sẻ Dashboard

Bên cạnh việc đếm lượt truy cập thông thường, Plausible hỗ trợ rất mạnh cho các nhà phát triển và chủ doanh nghiệp số trong việc theo dõi chuyển đổi:

  • Theo dõi sự kiện tùy chỉnh (Custom Goals & Events): Kích hoạt các sự kiện chuyển đổi như tạo tài khoản, tải tài liệu hoặc mua hàng thông qua đoạn code JavaScript:
    // Đoạn mã sự kiện trong website
    plausible('Signup', {props: {plan: 'Premium'}});
    plausible('Download', {props: {file: 'whitepaper.pdf'}});
    plausible('Purchase', {props: {product: 'Pro Plan', value: '99'}});
  • Truy xuất dữ liệu qua API: Bạn có thể kéo dữ liệu thống kê thô hoặc tổng hợp về hệ thống nội bộ thông qua API có xác thực Bearer token:
    curl "https://analytics.yourdomain.com/api/v1/stats/aggregate" \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -d "site_id=yourdomain.com" \
      -d "period=30d" \
      -d "metrics=visitors,pageviews,bounce_rate"
  • Chia sẻ Dashboard (Shared Links): Nếu cần báo cáo cho khách hàng hoặc đối tác xem số liệu mà không cấp quyền quản trị, bạn chỉ cần vào Site Settings → Visibility, kích hoạt chế độ Public Dashboard hoặc tạo Shared Link (có thể cài đặt thêm mật khẩu bảo vệ).

16. Khắc phục các sự cố thường gặp (Troubleshooting)

Trong quá trình cấu hình và vận hành thực tế, bạn có thể đối mặt với một vài lỗi phổ biến sau:

  • Container không khởi động được: Kiểm tra log bằng lệnh docker compose logs plausible để dò tìm các lỗi kết nối cơ sở dữ liệu PostgreSQL hoặc ClickHouse (thường do sai mật khẩu hoặc chưa migrate xong).
  • Lỗi chứng chỉ bảo mật SSL: Xem nhật ký của web server qua lệnh docker compose logs caddy và rà soát lại xem bản ghi DNS của domain đã trỏ chính xác về IP máy chủ chưa. Caddy cần truy cập được cổng 80 để xác thực ACME với Let’s Encrypt.
  • Mức tiêu hao bộ nhớ RAM quá cao: ClickHouse có cơ chế ngốn bộ nhớ để xử lý tập dữ liệu lớn. Hãy cân nhắc cấp thêm swap file, tinh chỉnh lại giới hạn logging trong file XML hoặc nâng cấp gói máy chủ có RAM lớn hơn.
  • Dashboard không hiển thị số liệu:
    1. Mở DevTools trình duyệt (phím F12) kiểm tra xem file script.js có bị chặn bởi AdBlock không.
    2. Kiểm tra thuộc tính data-domain trong thẻ script có trùng khớp từng ký tự với domain đã thêm trên giao diện Plausible hay không.
    3. Đảm bảo container Plausible đang hoạt động bình thường, không bị khởi động lại liên tục.
  • Quên mật khẩu quản trị Admin: Nếu quên mật khẩu và chưa cấu hình SMTP, bạn có thể reset mật khẩu trực tiếp qua console Plausible Elixir:
    # Truy cập console dòng lệnh nội bộ của Plausible
    docker compose exec plausible /app/bin/plausible remote
    
    # Thực thi lệnh đổi mật khẩu mới trong console:
    Plausible.Auth.find_user_by(email: "[email protected]") |> Plausible.Auth.User.set_password("new_password") |> Plausible.Repo.update()

Chủ động làm chủ dữ liệu phân tích với máy chủ riêng

Thực hiện theo bài Hướng dẫn thiết lập Plausible Analytics trên VPS giúp bạn thiết lập thành công một hệ thống theo dõi lưu lượng web riêng biệt, chuẩn hóa bảo mật theo tiêu chuẩn GDPR và nói không với cookie rườm rà. Bạn đã nắm trong tay 100% quyền sở hữu dữ liệu người dùng, tối ưu tốc độ load page của website và tiết kiệm chi phí thuê nền tảng đám mây dài hạn. Hãy bắt đầu chọn lựa cấu hình phần cứng phù hợp và triển khai ngay hôm nay.

Cần một VPS giá rẻ để bắt đầu?

Chọn cấu hình vừa đủ nhu cầu, ưu tiên chi phí dễ tiếp cận và khả năng quản trị riêng.

Xem bảng giá VPS

Lưu ý kỹ thuật: Nội dung bài viết mang tính chất hướng dẫn kỹ thuật tham khảo. Các câu lệnh, phiên bản image Docker, định dạng cấu hình XML và giao diện phần mềm có thể thay đổi tùy thuộc vào hệ điều hành và các bản cập nhật phát hành của Plausible Analytics. Bạn đọc nên thử nghiệm trên môi trường thử nghiệm và chủ động sao lưu dữ liệu trước khi đưa vào vận hành thực tế.

Chia sẻ: Facebook LinkedIn
Quay lại trang blog

Bài viết liên quan