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 🦈

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback.
Notes: However, those deemed to be spam or solely promotional will be deleted.

You can create a Gravatar account, add avatar, then use that email to comment here, your account will have a more beautiful Avatar, easier to recognize with other members.

Please use real emails, you can receive notifications when comments are replied