Lưu ý: Hiện tại Endpoint Server chỉ hỗ trợ máy chủ Linux.
Yêu cầu trên máy chủ
Lưu ý: Máy chủ cần có IP công khai (Public IP).
Trường hợp quản lý ít hơn 100 thiết bị
Cài tất cả các dịch vụ phụ thuộc redis, mySQL trực tiếp trên Server thì cần Server đáp ứng tối thiểu những yêu cầu như sau:| Số máy chủ | Số CPU trên 1 máy chủ (số core) | Lượng RAM trên 1 máy chủ | Dung lượng ổ đĩa (SSD) |
|---|---|---|---|
| 1 | 2 | 4GB | 75GB |
Trường hợp quản lý từ 100 - 1000 thiết bị
Trường hợp 1: Cài tất cả các dịch vụ phụ thuộc redis, mySQL trực tiếp trên Server thì cần Server đáp ứng tối thiểu những yêu cầu như sau:| Số máy chủ | Số CPU trên 1 máy chủ (số core) | Lượng RAM trên 1 máy chủ | Dung lượng ổ đĩa (SSD) |
|---|---|---|---|
| 1 | 10.5 | 17.1GB | 200 - 300GB |
| Fleet Container | Số CPU trên 1 Container (số core) | Lượng RAM trên 1 Container |
|---|---|---|
| 1 | 0.5 core | 4GB |
| Dependencies | Phiên bản | Số CPU trên 1 Container (số core) | Lượng RAM trên 1 Container | Dung lượng ổ đĩa (SSD) | Số Container |
|---|---|---|---|---|---|
| Redis | 6 | 2 | 1.47 GB | 3 | |
| MySQL | 8.0.mysql_aurora.3.07.1 (theo khuyến nghị của Fleet) | 2 | 4.3 GB | 10 GB | 2 |
Hướng dẫn cài đặt
Khách hàng có thể cài đặt tự động CyStack_Endpoint sử dụng EndpointCtl (một file Binary).Lưu ý: user không nên ấn Ctrl + C trong quá trình chạy vì có thể gây lỗi không mong muốn.
1
Tải file cài đặt
Tải từ đường link hoặc bằng cách chạy lệnh:
Có thể kiểm tra file đã được tải về hay chưa bằng cách chạy lệnh này:


2
Cấp quyền thực thi cho file vừa tải

3
Cài đặt
4
Sử dụng cấu hình mặc định

5
Sử dụng cấu hình Mysql do doanh nghiệp cung cấp (nếu có)
- ❗❗❗Lưu ý quan trọng khi sử dụng config Mysql do chính doanh nghiệp cung cấp
- user được yêu cầu nhập các thông tin như bên dưới, kiểm trạng thái của biến
sql_require_primary_keybằng lệnhSHOW VARIABLES LIKE 'sql_require_primary_key';
- Trường hợp:
sql_require_primary_key: offuser cần tạo trước username, password, database cho 3 dịch vụ ces_api, ces_fleet, data-labling - Trường hợp
sql_require_primary_key: onuser cần đưa trạng thái này về off. Ví dụ với Mysql trên DigitalOcean: - Các bước:
- Lấy API TOKEN: https://cloud.digitalocean.com/account/api/tokens

- Lấy database id bằng cách sử dụng API
- Set
sql_require_primary_key: offsử dụng API
- Tham khảo thêm tại:
- https://www.digitalocean.com/community/questions/how-do-i-disable-the-require-primary-key-when-creating-a-table
- https://docs.digitalocean.com/reference/api/digitalocean/#section/Introduction/Requests
- Sau khi setup
sql_require_primary_key, user tạo trước username, password, database cho 3 dịch vụ ces_api, ces_fleet, data-labling - Sau đó code chạy và user sẽ cần nhập thêm
WorkSpaceIdvàWorkSpaceSecret

Sau khi nhập, đợi để quá trình cài đặt hoàn tất:
Trong quá trình đợi 5-10 phút, nếu có trường hợp cần yêu cầu quyền root để cài đặt, khách hàng hãy nhập password của user hiện tại đang chạy trên server (user này cần có quyền root)
Khách hàng cần chuẩn bị trước các thông tin sau:6
Nhận hướng dẫn
Trong lúc đó, CyStack sẽ tạo file cài công cụ Agent dành riêng cho doanh nghiệp (quá trình mất 3-5 phút, và Quản
trị viên sẽ được thông báo qua email khi file cài đặt sẵn sàng). Người dùng có thể tìm thấy file cài đặt ở màn
Quản lý thiết bị > Thiết bị > chọn nút Cài đặt agent

7
Cài đặt agent
Quản trị viên cần yêu cầu người dùng tải và cài đặt công cụ Agent trên thiết bị cần quản lý. Xem hướng
dẫn
- Đợi 1 khoảng thời gian khoảng 3-5 phút để quá trình khởi tạo hoàn tất (thời gian có thể lâu hơn nếu cấu hình server không đáp ứng yêu cầu bên trên), sau đó sẽ hiển thị phần thông tin các dịch vụ đang chạy.
- Người dùng được yêu cầu nhập:
- Sau khi nhập, đợi để quá trình cài đặt hoàn tất
- 1 file agent sẽ được tự động sinh ra sau khi cài đặt xong, có dạng
cystack-endpoint_1.0.21_amd64.deb. Cần kiểm tra file đó tồn tại hay chưa bằng lệnh
Khách hàng sử dụng file có định dạng: cystack-endpoint_1.0.22_amd64.deb để cài đặt cho các máy agent.
- Sau khi quá trình cài đặt hoàn tất, khách hàng chạy lệnh sau để tự động Update định kỳ.
Hướng dẫn sử dụng
-
Danh sách các tham số và cờ
- Subcommand
- start
- sử dụng toàn bộ config mặc định
- Code sẽ gen toàn bộ config mặc định, user cần đợi code chạy, sau đó nhập
WorkSpaceIdvàWorkSpaceSecret
~/.cystack/endpoint-server/configs/config.yml
- Flags
- user nhập đường dẫn của file config (file config của user phải giựa trên file config gốc)
- Trường hợp user nhập sai
WorkSpaceIdvàWorkSpaceSecrethoặc sai thông tin Mysql thì có thể sử dụng Flag này để nhập lại - Nếu User sử dụng Mysql của chính họ, họ sẽ cần xóa các database đã tạo trước rồi mới chạy Flag
--re-config - stop
- status
- backup
.zip tại ~/.cystack/endpoint_server/backupdb/ gồm các file backup database bên trong. (Đường dẫn đầy đủ của file zip có dạng: ~/.cystack/endpoint_server/backupdb/1610090625.zip)
- restore
- update
- Một số lỗi tình huống
- Trường hợp Container có trạng thái Unhealthy
- Nếu đó là
ces_fleet_container:
- có thể do database hoặc máy của user quá yếu, migrate quá lâu so với thời gian healthcheck → Unhealthy.
- Cách xử lý 1:
ces_fleet_container:
- Nếu log như này thì tức là đã chạy xong. Lúc này có thể chạy lệnh
endpointctl start —reconfigđể nhập config củaworkspace_idvàworkspace_secret
- Nếu logs như này thì có nghĩa là
ces_fleet_containervẫn đang chạy migrate
- Nếu lỗi khác: thì có khả năng sai thông tin kết nối database, lúc này cần xóa hết config và thực hiện chạy lại từ đầu.
- Cách xử lý 2: chạy lại lệnh
endpointctl start
- Truờng hơp user chạy với file config bị thiếu config →chắc chắn lỗi (conantainer sẽ bị chết do thiếu config)
- Giải pháp: sử dụng Start mặc định lần đầu để có được file config gốc, sau đó copy file config này và chỉnh sửa
- Trường hợp backup quá lâu có 2 tình huống:
- nếu không sử dụng Mysql mặc định: có thể do cấu hình của máy chủ chạy Mysql đó không mạnh
- nếu sử dụng Mysql mặc định: có thể do cấu hình của server đang chạy không mạnh
- Giải pháp: đợi cho đến khi việc backup hoàn thành
- Trường hợp lỗi khi lấy Token
Liên hệ CyStack Support để được hỗ trợ.
- Debug bằng cách: xem log của caddy
- Kiểm tra logs của caddy container
- Kiểm tra xem container service còn sống hay không
- Các tình huống lỗi có thể xảy ra cho trường hợp này: (xem logs của caddy container)
- domain name mà CyStack cung cấp chưa trỏ đúng vào IP public của khách hàng
- Giải pháp: khách hàng kiểm tra lại địa chỉ IP public và gửi lại để CyStack xử lý
- domain name bị lỗi vượt quá số lần đăng kí SSL vì caddy tự động sử dụng Let’t Enscript để đăng kí SSL
- Giải pháp: đổi domain name