You are on page 1of 12

SENTRY SERVICE

Mục lục
I. Mục đích:.....................................................................................................................2
II. Triển khai:...................................................................................................................2
1. Mô hình.........................................................................................................................2
2. Yêu cầu hệ thống...........................................................................................................3
3. Bảo mật.........................................................................................................................3
4. Network: (*) Băng thông..............................................................................................4
III. Cài đặt Sentry:............................................................................................................4
1. Tải bộ cài Sentry...........................................................................................................4
2. Upload bộ cài trên Sentry Server tại đường dẫn /app và Tiến hành cài đặt:.................4
IV. Hướng dẫn cần thiết khác:.........................................................................................5
1. Đăng nhập.....................................................................................................................5
2. Tạo Project....................................................................................................................6
3. Clients Keys(DSN).......................................................................................................7
4. Auth Tokens..................................................................................................................8
5. Config Client Security:.................................................................................................8
6. Theo dõi logs.................................................................................................................9
7. Đăng ký tài khoản.......................................................................................................10
8. Xóa Log cũ..................................................................................................................11
V. Link tham khảo:........................................................................................................11
TÀI LIỆU SENTRY

SENTRY SERVICE
I. Mục đích:
- Triển khai Sentry Service với mục đích hỗ trợ ứng dụng WebTrade(React Client) ghi log
và các thông tin liên quan khác về (trình duyệt, thiết bị, ip, …) phục vụ cho việc kiểm tra
lỗi và các phát sinh của hệ thống.

II. Triển khai:


1. Mô hình

Các ứng dụng liên quan:


ST Ứng dụng Mô tả Ghi chú
T
1 WebTrade(Client) Ứng dụng web sử dụng React khởi chạy Trình duyệt Web
trên Client tại thiết bị của
người dùng.
2 WebTrade Ứng dụng web sử dụng React nằm ở tầng Đã triển khai

Trang 2/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS
TÀI LIỆU SENTRY

DMZ theo mô hình hệ thống WebTrade


3 Sentry Service Ứng dụng ghi log dành cho WebTrade Service mới
(React)
Port mặc định 9000
4 Email Service Email Service của Công ty chứng khoán. Đang có sẵn
Phục vụ mục đích gửi email cho các tài
khoản cá nhân đã được cấu hình từ Sentry
Server. (Xác thực tài khoản

Ý nghĩa các kết nối theo sơ đồ:


- “1”: Client tải các file resource của WebTrade từ Server DMZ(ứng dụng Fs2pro)
- “2”: WebTrade(Client) thực hiện gọi API ghi log và các thông tin cần thiết tới “Sentry
Service” thông qua domain Sentry và cấu hình “Clients Keys - DSN” được gen khi khởi
tạo project dành riêng cho WebTrade tại “Sentry Server”. (*Theo spec của Sentry theo
từng version)
- “3”: Upload “SourceMaps” React của WebTrade lên Sentry Server(Thông qua key “Auth
Token” của Sentry)
- “4”: “Sentry Service” cấu hình trỏ vào Email Service để thực hiện việc bảo mật, cung cấp
phân quyền cho các tài khoản thông qua email tổ chức/cá nhân.
2. Yêu cầu hệ thống
- Phương án cài đặt: Bổ sung thêm server cài đặt “Sentry Service”:

- Hệ điều hành: Ubuntu >= 18.04.3 LTS


- Disk: >=200 GB
- Ram: >=16 GB
- CPU: >=8 core
- Internet: Cho phép WebTrade kết nối trực tiếp thông qua cấu hình “Clients Keys -
DSN” và domain.
Cần cung cấp domain public để truy cập ứng dụng Sentry, trỏ vào Sentry Server
port=9000(Mặc định). VD: https://sentry.bsc.com.vn
- Cho phép kết nối với “Email Service” để gửi mail.
* Trường hợp không dùng “Email Service” để quản lý tài khoản thì sẽ phải đi
khởi tạo từ Server Sentry(Không được thuận tiện)
3. Bảo mật

- WebTrade(Client) thực hiện call API ghi log và các thông tin cần thiết tới “Sentry
Service” thông qua cấu hình “Clients Keys - DSN” được gen khi khởi tạo project dành
riêng cho WebTrade tại “Sentry Server”

Trang 3/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS
TÀI LIỆU SENTRY

- Bảo mật Api thông qua config danh sách Domain được phép truy cập(Chi tiết Mục IV.5.)
- Sentry (cài đặt sentry-self-hosted): Bộ cài Open Source (Bên thứ 3). Các bảo mật và các
lỗi ứng dụng Sentry phụ thuộc vào hỗ trợ của Sentry theo từng version.

4. Network: (*) Băng thông


- Sentry hỗ trợ nhiều mode ghi log: Tùy thuộc vào các mode ghi log thì Băng thông cho 1
Api cũng có sự khác nhau. Hiện tại FSS đang để xuất chỉ ghi nhận các log Exception của
WebTrade với mode ghi log khoảng ~5-10 KB/1 request.
- Băng thông phát sinh chủ yếu do Client gọi api và gửi thông tin log lên Sentry Server.
Tùy thuộc vào tần suất gọi api ghi log. IT cần monitor log phát sinh và báo lại cho FSS để
review các log này.
- Trong hợp quá tải về băng thông: Có thể xử lý: OFF Domain SentryPublic hoặc OFF ứng
dụng Sentry hoặc OFF Server Sentry. Và config để chặn ghi log sentry từ
WebTrade(Client khi load lại giao diện sẽ không tự ghi được log lên server Sentry)
- Tool Monitor:

Kiểm tra chi tiết từng service của Sentry. Có thể dùng lệnh
# docker stats
(*) Do là phần mềm bên thứ 3 nên IT có thể tự chủ động monitor toàn bộ Server Sentry theo
các tool quản trị server của Công ty chứng khoán

III. Cài đặt Sentry:


- Cài đặt theo hướng dẫn trên trang chủ của Sentry: https://develop.sentry.dev/self-hosted/
1. Tải bộ cài Sentry
Truy cập link https://github.com/getsentry/self-hosted/releases/tag/23.10.1

- Tải về file Source code (zip)

Trang 4/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS
TÀI LIỆU SENTRY

2. Upload bộ cài trên Sentry Server tại đường dẫn /app và Tiến hành cài đặt:
Giải nén bộ cài:

# unzip self-hosted-23.10.1.zip
# chmod -R 755 self-hosted-23.10.1
# cd self-hosted-23.10.1
# bash install.sh => Bắt đầu khởi tạo hệ thống
# docker compose up -d => Khởi động Sentry lần đầu

Config Domain: Sau khi khởi chạy lần đầu thì Thực hiện config 1 số file sau:

# cd app/self-hosted-23.10.1/sentry
# vi config.yml
Thêm system.url-prefix: 'https://sentry.bsc.com.vn' => Link domain Sentry
# cd app/self-hosted-23.10.1/sentry
# vi sentry.conf.py
Nếu các key sau đang bị comment “#” thì bỏ “#” hoặc thêm bộ config mới:
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
USE_X_FORWARDED_HOST = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SOCIAL_AUTH_REDIRECT_IS_HTTPS = True

Tiếp tục khởi động lại hệ thống 1 lần nữa để nhận cấu hình mới

Trang 5/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS
TÀI LIỆU SENTRY

# cd app/self-hosted-23.10.1/
# docker compose stop LỆNH TẮT SENTRY
# docker compose start LỆNH BẬT SENTRY > Chờ khoảng 5-10 phút thì có thể truy cập
bằng trình duyệt bằng link domain Sentry

IV. Hướng dẫn cần thiết khác:


1. Đăng nhập
- Sử dụng trình duyệt web truy cập vào domain public của Sentry.

2. Tạo Project

- Chọn > chọn “REACT” > Nhập “Project Name” và chọn


“Team” > “Create Project”. Tham khảo ảnh minh họa dưới đây.

Trang 6/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS
TÀI LIỆU SENTRY

3. Clients Keys(DSN)

- Sau đó vào Setting của Project vừa khởi tạo > Chọn menu Clients Keys(DSN): Sử dụng key
này để config cho WebTrade(Chi tiết theo hướng dẫn cấu hình của WebTrade)

Có thể tạo mới

Trang 7/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS
TÀI LIỆU SENTRY

4. Auth Tokens
- Tìm theo text “Auth Tokens” > Chọn “User Auth Tokens”

Có thể tạo mới

Trang 8/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS
TÀI LIỆU SENTRY

5. Config Client Security:


- Chọn Menu “General Settings”. Sử dụng các mục bảo mật “CLIENT SECURITY”

6. Theo dõi logs


- vào Menu “Issues” > Chọn các điều kiện tìm kiếm.
> Click vào để xem chi tiết

Trang 9/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS
TÀI LIỆU SENTRY

7. Đăng ký tài khoản

- Click vào “Logo” Sentry > Chọn Members > Chọn “Invite
Members” > Nhập thông tin theo Form và Chọn “Send Invite” => Hệ thống thông qua “Mail
Server” để gửi mail cho user

Trang 10/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS
TÀI LIỆU SENTRY

8. Xóa Log cũ

# cd app/self-hosted-23.10.1/
# docker-compose --file /app/self-hosted-23.8.0/docker-compose.yml exec worker sentry cleanup
--days 30 => Giữ lại log trong vòng 30 ngày.
(*) clear hết thì thay 30 = 0
-------------------------------------------------------------------
# Có thể tạo crontab để thực hiện xóa định kỳ. Tạo thêm 2 file:
“delete-log-files” có nội dung:
* * * * * docker-compose --file /app/self-hosted-23.8.0/docker-compose.yml exec worker sentry
cleanup --days 30 => Giữ lại log trong vòng 30 ngày.
“set-crontab.bash” có nội dung:
rm -rf /etc/cron.d/delete-log-files
cp -r /app/self-hosted-23.10.1/delete-log-files /etc/cron.d/delete-log-files
ls -lh /etc/cron.d
# bash set-crontab.bash

Trang 11/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS
TÀI LIỆU SENTRY

V. Link tham khảo:


ST Ý nghĩa Link
T

1 Trang chủ https://docs.sentry.io/

2 Document For React https://docs.sentry.io/platforms/javascript/guides/react/

3 Cài đặt https://develop.sentry.dev/self-hosted/

4 Demo https://try.sentry-demo.com/organizations/deciding-maggot/
issues/#welcome

Trang 12/12 Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS

You might also like