Tianji = Website Analytics – Uptime Monitor – Server Status – Tiềm năng hứa hẹn

Tianji là combo 3 trong 1, bao gồm Website Analytics (Umami) + Uptime Monitor (Uptime Kuma) + Server Status, thay vì phải cài đặt từng thứ, thì giờ tác giả tích hợp làm 1, ưu điểm đầu tiên là có thể dùng chung 1 database, nên nó sẽ dùng ít tài nguyên hệ thống hơn, so với cài 3 thứ riêng lẻ thủ công

Trong đó tác giả dùng lại source Umami, Uptime Kuma cho phần Website Analytics và Uptime Monitor, phần Server Status thì mình không rõ tự viết hay dùng sản phẩm nào khác

3 tính năng này được liên thông với nhau ở cùng 1 bảng điều khiển, giúp bạn quản lý, theo dõi tình trạng của rất nhiều server cùng 1 lúc thuận tiện

Mình cũng chỉ tình cờ biết tới Tianji khi lượn lờ reddit, mặc dù sản phẩm chỉ vừa public, tính năng còn rất nghèo nàn, nhưng phần khung cơ bản của nó rất tiềm năng để phát triển về sau 🌼

Hiện tại thì theo mình, Tianji chỉ thích hợp để bạn dùng ở mức cá nhân, local, tested …. chưa phù hợp lắm để sử dụng trên các hệ thống đang vận hành

  • Các cấu hình cài đặt bên dưới dựa trên VPS Oracle VM.Standard.E2.1.Micro, OS Ubuntu 22.04

Cài đặt VPS

sudo apt update && sudo apt upgrade -y

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

sudo apt remove iptables-persistent -y
sudo ufw disable
sudo iptables -F

timedatectl set-timezone Asia/Ho_Chi_Minh
sudo fallocate -l 4G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile && echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
cat <<EOF > /etc/sysctl.d/99-xs-swappiness.conf
vm.swappiness=10
EOF

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $(whoami)
sudo systemctl start docker
sudo systemctl enable docker
apt install docker-compose -y

sudo wget --no-check-certificate https://raw.githubusercontent.com/bibicadotnet/NeverIdle-Oracle/master/VM.Standard.E2.1.Micro.sh -O /usr/local/bin/bypass_oracle.sh
chmod +x /usr/local/bin/bypass_oracle.sh
nohup /usr/local/bin/bypass_oracle.sh >> ./out 2>&1 <&- &
crontab -l > bypass_oracle
echo "@reboot nohup /usr/local/bin/bypass_oracle.sh >> ./out 2>&1 <&- &" >> bypass_oracle
crontab bypass_oracle

Các bước bao gồm cập nhập Ubuntu, tắt firewall, tạo 4G RAM ảo, cài đặt docker, docker-compose và bypass Oracle

Nếu bạn dùng VPS hãng khác, đã cài docker, docker-compose thì không cần làm bước trên 

Cài đặt Tianji

  • Nên cài đặt Tianji vào 1 thư mục con, để sau này backup, restore cho tiện
mkdir tianji
cd tianji
nano docker-compose.yaml
  • Nội dung bên trong điền vào
version: "3"
services:
  tianji:
    image: moonrailgun/tianji
    ports:
      - 12345:12345
    environment:
      DATABASE_URL: postgresql://tianji:p3JhoTAq29f9m8Cg5@postgres:5432/tianji
      JWT_SECRET: nJprJ75pLeIQT9AXP+yPx0/gzejtXa
      ALLOW_REGISTER: "false"
      ALLOW_OPENAPI: "true"
    depends_on:
      - postgres
    restart: always
  postgres:
    image: postgres:15.4-alpine
    environment:
      POSTGRES_DB: tianji
      POSTGRES_USER: tianji
      POSTGRES_PASSWORD: p3JhoTAq29f9m8Cg5
    volumes:
      - ./tianji-db-data:/var/lib/postgresql/data
    restart: always
    healthcheck:
      test:
        - CMD-SHELL
        - pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}
      interval: 5s
      timeout: 5s
      retries: 5
volumes:
  tianji-db-data:

Đổi lại thông tin các giá trị JWT_SECRET, POSTGRES_PASSWORD ở dòng 8, 9, 20 cho khác chút là được

  • Ctrl+O -> Enter -> Ctrl+X để save và exit.

Tiếp theo chạy lệnh bên dưới để hoàn thành cài đặt

docker-compose up -d --build --remove-orphans --force-recreate

Cấu Hình Cloudflare Tunnels

Tạo tài khoản Cloudflare Zero Trust ->Access -> Tunnel -> Create a tunnel -> đặt 1 tên cho dễ nhớ (monitor.bibica.net) -> Install and run a connector

2024 01 05 20 41 54

  • Sau đó tạo Public hostnames monitor.bibica.net tới localhost:12345

Lúc này bạn có thể truy cập vào subdomain monitor.bibica.net với tài khoản mặc định

User: admin
Password: admin
  • Sau khi login vào thì nhớ đổi lại password

Về cơ bản các bước cài đặt là như thế, bài này mình sẽ không đi quá chi tiết từng bước, vì các bản sau tác giả thêm, xóa đủ thứ, nó cũng sẽ khác so với bản mình đang dùng hiện tại

Cấu hình Tianji

Mình có đi lòng vòng các menu bên trong Tianji, theo tác giả nói đã viết và test trong gần nửa năm, mà nhìn mới tạm chỉ xong phần khung chính thôi, các tính năng nhỏ còn thiếu nhiều lắm, thành thực mà nói nếu 1 người, và chỉ viết lúc rỗi rãi, thì sợ 2-3 năm nữa, cũng khó có thể ổn định để đi vào sử dụng

Dashboard

2024 01 05 21 26 04

Trang tổng quát, có thể tùy chỉnh các monitor hiện ra theo ý thích, nhìn sơ 1 phát có thể biết các trang và dịch vụ đang hoạt động ra làm sao

Monitor

2024 01 05 21 27 51

Monitor của Tianji có thể gọi là phiên bản Uptime Kuma siêu tối giản các thông số và tùy chỉnh

2024 01 05 21 30 02

Trang monitor public cũng có, và cũng siêu tối giản và sạch sẽ luôn 😀

Website

2024 01 05 21 31 59

Website của Tianji cũng có thể gọi là phiên bản Umami siêu tối giản, cài vào lấy code chép vào trang chính là xong

2024 01 05 21 54 30

Theo mình đây là phần hợp lý nhất của việc tích hợp 3 trong 1 trên Tianji, khi xem các thông tin về analytics, ta có thể xem đồng thời Uptime Monitor, nôm na bạn có thể biết được thêm khá nhiều thông tin, kiểu nếu dùng cái có 100-1000 user vào, thì lúc đó ping của server làm sao, nếu lúc này nó cao hẳn lên thì rất dễ hiểu

Servers

2024 01 05 21 34 33

Tab Servers thì mình không chắc tác giả dùng lại code có sẵn, hay tự viết, nhưng mới dùng rất socks, vì cấu hình khét lẹt, bạn chỉ chạy 1 lệch bash để download Tianji Reporter về tự cấu hình, sau đó có thể xem các thông tin cơ bản của VPS

2024 01 05 21 37 48

Ban đầu mình rất thích tính năng này, vì có thể xem cùng lúc rất nhiều VPS đang dùng, không quá đầy đủ, nhưng các thông số quan trọng có hiện ra chính xác là được

Có điều vài server mình cài thì nó không hiện ra (không rõ lý do), server chạy CPU ARM hình như cũng chưa được hỗ trợ, vì mình thấy phần monitor nó load ra loạn xạ lắm 😀 uptime lúc thì 7 ngày, lúc thì 10 ngày, bên AMD thì chạy bình thường nên mình đoán thế

Phần Servers này thì theo mình cần phải có log, lưu trữ lại để xem, còn nếu chỉ có theo thời gian thực như này hơi khó kiểm soát lỗi nếu gặp vấn đề

Settings

2024 01 05 21 41 50

Phần setting thì có thể vào để điều chỉnh 1 số thông tin cơ bản, như thông tin tài khoản quản trị, các hình thức thông báo

Tạm thì ở thời điểm mình viết bài này, mới chỉ hỗ trợ thông báo qua email 🤖

Hiệu năng

Cá nhân thì do lười, nên mình còn cài đặt Tianji thông qua Dockge Agents trên VPS Oracle VM.Standard.E2.1.Micro có cấu hình CPU rất yếu, HDD chậm

2024 01 05 21 46 50

Nhìn lượng RAM và CPU khi Tianji vận hành ở chế độ ngầm khá ít, loanh quanh < 200 MB RAM

2024 01 05 22 06 49

Tổng lượng RAM và CPU khi cài đặt, cấu hình mọi thứ như bên trên, dùng khoảng ~ 700 MB RAM, CPU sử dụng thường khá ít, đa phần < 20%, không đáng kể

Dù VPS VM.Standard.E2.1.Micro mình đang dùng khá yếu, phần monitor, mình set kịch kim check 5s / 1 lần, nó ghi dữ liệu xuống HDD điên cuồng, nhưng vào quản trị Tianji, mọi thứ đều rất mượt mà

Có điều tính năng hiện tại đang thiếu nhiều quá so với bản gốc Umami hay Uptime Monitor, sự kết hợp qua lại 3 trong 1 chưa nhiều, chắc phải vài năm nữa mới đáng dùng

Ý này mình nói nghiêm túc, chứ không phải đá đểu tác giả đâu, như ứng dụng Artalk mình đang dùng, comment systems cơ bản, mà tác giả viết từ 2018, giờ sang 2024 rồi, mình vẫn phải report 1 tỷ các lỗi, nên chuyện sản phẩm cá nhân, ôm đồm quá nhiều thứ như Tianji, khi viết thêm phát sinh hàng tấn vấn đề cũng là chuyện rất dễ hiểu

Kết luận

Hướng phát triển của Tianji sẽ rất mạnh, rất có tương lai, với điều kiện tác giả đủ sức để theo, tạm thì do con VPS này Oracle cho miễn phí, mình cũng đang để không, nên cứ cài Tianji lên đó, xem thử 1-6 tháng tiếp theo làm sao rồi sẽ cập nhập sau, tạm thì đang rất có thiện cảm với dự án này 🦈

Update 1 số thứ sau hơn 5-6 tháng

Vẫn khá lười viết lại toàn bộ bài này, vì tác giả vẫn đang cập nhập tính năng mới, sửa lỗi cũ liên tục, nên cập nhập 1 chút ở cuối bài

2024 08 17 02 36 28

Ở phiên bản hiện tại đã hỗ trợ server chạy ARM, hỗ trợ docker, thậm chí list chi tiết các thông số của từng container luôn, có điều tính năng xem % CPU của từng container có vẻ chưa chạy, phần History chắc sẽ được thêm ở các phiên bản sau, vì chứ log mà được tích hợp vào thì siêu đáng tiền

Với lượng thông tin theo dõi rất nhiều như thế, mà bản client cài trên server chỉ dùng loanh quanh 0.2-0.7% CPU, bữa giờ mình thử khá nhiều tool, script monitor server, đều thấy khi chạy nó cào CPU rất thốn, toàn 2-10%, dùng chưa tới 1% CPU như này là xử lý thần thánh lắm

Thử theo dõi 2 trang và 4 server như ảnh thì thấy server cài đặt Tianji chạy mượt như bơ, trên con VPS Oracle cấu hình thấp nhất mà load có 2%-7% CPU à, để bạn dễ hình dung, với cấu hình con VPS này, cài WordPress vào, viết bài, ấn save, nó hú lên hơn 50% CPU rồi 😀 chạy nguyên hệ thống monitor với 1 tấn các tính năng như thế mà dùng có tí % CPU như thế thì thật đáng nể

Mà chắc cũng phải 1-2 năm nữa, sản phẩm này mới hoàn thiện được, chứ giờ các tùy chọn menu vẫn khá lộn xộn


Related Posts

Chính sách bình luận: Chúng tôi rất trân trọng các bình luận của bạn và cảm ơn thời gian bạn dành để chia sẻ ý tưởng và phản hồi.
Ghi chú: Những bình luận được xác định là spam hoặc chỉ mang tính quảng cáo sẽ bị xóa.

• Để cải thiện trải nghiệm bình luận, chúng tôi khuyến khích bạn tạo một tài khoản Gravatar. Thêm avatar vào tài khoản Gravatar sẽ giúp bình luận của bạn dễ nhận diện hơn đối với các thành viên khác.

✂️ Sao chép và 📋 Dán Emoji 💪 giúp bình luận thêm sinh động và thú vị!