I. YÊU CẦU BÀI LAB
1. Bối cảnh bài Lab
Trong vai trò là một kỹ sư vận hành hệ thống (SysAdmin) hoặc SOC Analyst, việc theo dõi dữ liệu hàng ngày là bắt buộc. Tuy nhiên, việc phải lặp đi lặp lại thao tác: Truy cập Dashboard -> Xuất PDF -> Soạn Email -> Gửi sếp vào mỗi sáng thứ Hai là một sự lãng phí nguồn lực cực lớn.
Bài Lab này sẽ giúp bạn thiết lập một "trợ lý ảo" tự động trích xuất dữ liệu từ OpenSearch, đóng gói thành PDF chuyên nghiệp và gửi thẳng vào hộp thư Gmail của ban lãnh đạo theo đúng lịch trình bạn mong muốn.
Bài Lab này sẽ giúp bạn thiết lập một "trợ lý ảo" tự động trích xuất dữ liệu từ OpenSearch, đóng gói thành PDF chuyên nghiệp và gửi thẳng vào hộp thư Gmail của ban lãnh đạo theo đúng lịch trình bạn mong muốn.
2. Thiết bị & Môi trường thực hiện
- Hệ điều hành: Ubuntu 20.04 LTS (Resource tối thiểu: 2 vCPU, 4GB RAM).
- Stack: OpenSearch 2.19.5 & OpenSearch Dashboards.
- Kênh truyền: Gmail SMTP
- Dữ liệu giả lập: Index sales (Dữ liệu doanh thu thực tế).
3. Vấn đề cần giải quyết
| Vấn đề | Thực trạng doanh nghiệp | Giải pháp trong Lab |
| Chi phí cơ hội | Mất 1 giờ/tuần chỉ để làm báo cáo thủ công. | Tự động hóa 100%, dành thời gian cho việc tối ưu hệ thống. |
| Tính chính xác | Copy-paste dữ liệu dễ dẫn đến nhầm lẫn số liệu. | Dữ liệu được Snapshot trực tiếp từ Dashboard theo thời gian thực. |
| Tính kịp thời | Báo cáo thường bị trễ nếu quản trị viên bận việc đột xuất. | Đúng 09:00 AM mỗi thứ Hai, báo cáo sẽ nằm trong Inbox của sếp. |
II. TRIỂN KHAI
Bước 1: Khởi tạo hạ tầng OpenSearch
Chúng ta sẽ cài đặt OpenSearch thông qua Repository chính thức để đảm bảo tính ổn định và bảo mật.Bash
# Cài đặt GPG Key và Repository
curl -fsSL https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor -o /usr/share/keyrings/opensearch-keyringecho "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list
# Cài đặt OpenSearch & Dashboards
sudo apt update
sudo OPENSEARCH_INITIAL_ADMIN_PASSWORD="Admin@YourPassword123" apt install opensearch opensearch-dashboards -y
Lưu ý: Đừng quên cấu hình opensearch.yml để node có thể nhận diện trong mạng nội bộ bằng cách set network.host: 0.0.0.0.
Bước 2: Xây dựng Dashboard doanh thu mẫu
Trước khi gửi báo cáo, ta cần có một dữ liệu đẹp. Tôi thực hiện nạp dữ liệu mẫu về doanh số bán hàng (Laptop, Mouse, Monitor) để làm phôi báo cáo.
Hình 1: Giao diện Bar Chart thể hiện doanh thu theo dòng sản phẩm trên OpenSearch Dashboards.
Bước 3: Cấu hình "Chìa khóa" bảo mật cho Gmail
Google không cho phép ứng dụng bên thứ ba đăng nhập bằng mật khẩu chính. Bạn cần:- Vào Google Account -> Security.
- Bật 2-Step Verification.
- Tạo App Password với tên "OpenSearch_Reporter".
- Lưu lại mã 16 ký tự (Ví dụ: abcd efgh ijkl mnop).
Bước 4: Tích hợp SMTP vào Keystore của OpenSearch
Đây là bước bảo mật quan trọng để ẩn thông tin nhạy cảm khỏi các file cấu hình text thuần túy.# Thêm Username và Password vào kho lưu trữ bảo mật
sudo /usr/share/opensearch/bin/opensearch-keystore add opensearch.notifications.core.email.smtp_sender.username
sudo /usr/share/opensearch/bin/opensearch-keystore add opensearch.notifications.core.email.smtp_sender.password
# Reload để hệ thống nhận diện cấu hình mới mà không cần restart service
curl -X POST "https://localhost:9200/_nodes/reload_secure_settings" -ku admin:Admin@YourPassword123 -H 'Content-Type: application/json'
Bước 5: Thiết lập lịch trình (Cron Job) và Gửi báo cáo
Trong giao diện Reporting, tôi chọn nguồn là Dashboard vừa tạo, định dạng PDF và thiết lập biểu thức Cron: 0 9 * * 1 (Tương đương 9 giờ sáng thứ Hai hàng tuần).
Hình 2. Thiết lập lịch trình tự động gửi báo cáo PDF qua Gmail bằng Cron Expression 0 9 * * 1 và danh sách người nhận trong Reporting.
III. KẾT LUẬN
1. Tổng kếtSau khi triển khai bài Lab, hệ thống không chỉ đơn thuần là gửi email, mà nó xây dựng một văn hóa làm việc dựa trên dữ liệu (Data-driven).
- Đối với quản trị viên: Giảm tải áp lực báo cáo, tránh tình trạng "quên" gửi mail.
- Đối với lãnh đạo: Luôn có dữ liệu chính xác để đưa ra quyết định kinh doanh kịp thời.
- Keystore là then chốt: Nếu bạn viết thẳng mật khẩu vào file cấu hình, rủi ro lộ lọt thông tin khi bị tấn công chiếm quyền server là rất cao.
- Định dạng PDF: Luôn ưu tiên xuất PDF thay vì PNG để đảm bảo các liên kết (link) trong báo cáo vẫn có thể click được khi sếp xem trên điện thoại.
Hình 3. Email báo cáo tự động được gửi thành công tới Gmail của ban lãnh đạo với file PDF đính kèm chứa Dashboard doanh thu.