SIEM/Log Management Tìm hiểu kiến trúc OpenSearch & OpenSearch Dashboards

I. Mô tả yêu cầu của bài Lab
1. Giới thiệu tổng quan


Trong kỷ nguyên dữ liệu lớn, việc tìm kiếm và phân tích log theo thời gian thực không còn là tùy chọn mà là bắt buộc. OpeSearch nổi lên như một giải pháp kế thừa hoàn hảo, giúp chúng ta làm chủ dữ liệu mà không lo ngại về vấn đề bản quyền. Bài Lab này sẽ giúp hiểu rõ " bộ máy" bên trong của OpenSearch hoạt động ra sao và cách Dashboards biến những dòng code khô khan thành biểu đồ sinh động.

2. Vấn đề cần giải quyết

Thông thường, khi mới tiếp cận, chúng ta dễ bị choáng ngợp bởi các khái niệm như Shard, Replica hay Node. Bài Lab này được thiết kế để giải quyết sự mơ hồ đó bằng cách thực hành triển khai một Cluster nhỏ, giúp bạn tận tay cấu hình và quan sát cách dữ liệu được phân tán trong hệ thống.

II. Giải pháp và Triển khai
1. Giải pháp công nghệ


Chúng ta sẽ sử dụng giải pháp Containerization (Docker) để triển khai một cụm OpenSearch mini gồm:
  • OpenSearch Node: Đóng vai trò vừa là Master vừa là Data Node.
  • OpenSearch Dashboards: Cổng giao diện để chúng ta" giao tiếp" với dữ liệu.
1777021694705.png

Hình 1: Kiến trúc cơ bản của OpenSearch​

2. Các bước triển khai chi tiết
Bước 1: Khởi tạo môi trường với Docker-Compose

Thay vì cài đặt thủ công từng thành phần, mình sử dụng docker-compose.yml để đảm bảo tính đồng nhất. Các bạn hãy tạo một file và dán mã sau:
version: '3'
services:
opensearch-node:
image: opensearchproject/opensearch:latest
container_name: opensearch-node
environment:
- cluster.name=lab-cluster
- node.name=node-1
- discovery.type=single-node
- bootstrap.memory_lock=true
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
ports:
- 9200:9200
opensearch-dashboards:
image: opensearchproject/opensearch-dashboards:latest
container_name: opensearch-dashboards
ports:
- 5601:5601
environment:
OPENSEARCH_HOSTS: '["https://opensearch-node:9200"]'

Góc chuyên gia: Tại sao lại cần bootstrap.memory_lock=true?
Đây là một tùy chọn cực kỳ quan trọng giúp OpenSearch không bị đẩy xuống bộ nhớ ảo(swap), đảm bảo tốc độ truy vấn ở mức cao nhất.
1777021891150.png


Hình 2: Luồng dữ liệu trong hệ thống SIEM

Bước 2: Kiểm tra trạng thái hệ thống
Sau khi chạy lệnh docker-compose up -d, các bạn hãy truy cập vào địa chỉ http://localhost:5601. Nếu hiện ra màn hình đăng nhập, là mình đã đi được 50% chặng đường!
1777021975733.png

Hình 3: Giao diện OpenSearch Dashboards​
Bước 3: Trải nghiệm thực tế với Dev Tools
Vào mục Dev Tools trên Dashboards và thử chạy câu lệnh đầu tiên:
GET/ _cluster/health
1777022202252.png
Hình 4: Trạng thái cluster(Green) - hệ thống hoạt động ổn định
Sẽ thấy trạng thái "Green"- minh chứng cho việc các nodes dang bắt tay nhau cực kỳ ăn ý.

III. Kết luận
Qua bài Lab này, chúng ta không chỉ dừng lại ở việc cài đặt, mà quan trọng hơn là hiểu được cách thức vận hành của một hệ thống phân tán. OpenSearch không quá đáng sợ nếu bạn nắm vững nguyên lý về Node và Shard. Hy vọng những chia sẻ này sẻ là nền tảng vững chắc để các bạn triển khai những hệ thống giám sát (Monitoring) hay SIEM chuyên nghiệp sau này.
 
Back
Top