Bài 1: ELK Stack Là Gì? Cài Đặt Và Cấu Hình Cơ Bản

Tổng Quan Về ELK Stack

ELK Stack là bộ công cụ bao gồm Elasticsearch, Logstash, và Kibana, được phát triển bởi Elastic, nhằm hỗ trợ quản lý dữ liệu trong môi trường DevOps.

  • Elasticsearch: Công cụ tìm kiếm và phân tích dữ liệu, lưu trữ dưới dạng JSON, phù hợp để xử lý log, metric, và dữ liệu thời gian thực.
  • Logstash: Công cụ thu thập và xử lý dữ liệu từ nhiều nguồn (file, hệ thống, ứng dụng), sau đó gửi đến Elasticsearch.
  • Kibana: Giao diện web để trực quan hóa dữ liệu từ Elasticsearch, tạo dashboard và biểu đồ.

ELK Stack được sử dụng rộng rãi trong DevOps để giám sát hệ thống, phân tích log, và hỗ trợ triển khai ứng dụng. Theo báo cáo từ Elastic 2024, hơn 60% doanh nghiệp sử dụng ELK Stack để tối ưu hóa vận hành, minh chứng cho sức mạnh của bộ công cụ này.

Yêu Cầu Trước Khi Cài Đặt

  • Máy tính chạy Ubuntu 20.04 (hoặc tương tự), ít nhất 4GB RAM.
  • Cài Java (yêu cầu cho Elasticsearch và Logstash): sudo apt install openjdk-17-jdk.
  • Kết nối internet để tải gói cài đặt.

Hướng Dẫn Cài Đặt ELK Stack

Bước 1: Cài Đặt Elasticsearch
  1. Tải và cài đặt khóa GPG của Elastic:
    wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
  2. Thêm repository Elastic:
    echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
  3. Cài đặt Elasticsearch:
    sudo apt update
    sudo apt install elasticsearch -y
  4. Khởi động và kiểm tra:
    sudo systemctl start elasticsearch
    sudo systemctl enable elasticsearch
    curl -X GET "localhost:9200"

    Nếu thấy JSON với thông tin phiên bản (VD: version.number: "8.12.0"), Elasticsearch đã chạy.

Bước 2: Cài Đặt Logstash

  1. Cài đặt Logstash từ cùng repository:
    sudo apt install logstash -y
  2. Khởi động dịch vụ:
    sudo systemctl start logstash
    sudo systemctl enable logstash

Bước 3: Cài Đặt Kibana

  1. Cài đặt Kibana:
    sudo apt install kibana -y
  2. Khởi động và kiểm tra:
    sudo systemctl start kibana
    sudo systemctl enable kibana

Cấu Hình Cơ Bản ELK Stack

Để các thành phần của ELK Stack hoạt động cùng nhau, cần cấu hình kết nối giữa chúng.

Cấu Hình Elasticsearch

Mặc định, Elasticsearch chạy trên localhost:9200. Đảm bảo file cấu hình /etc/elasticsearch/elasticsearch.yml cho phép truy cập:

network.host: 0.0.0.0
http.port: 9200

Khởi động lại Elasticsearch:

sudo systemctl restart elasticsearch

Cấu Hình Kibana

Chỉnh sửa file /etc/kibana/kibana.yml để kết nối với Elasticsearch và cho phép truy cập từ trình duyệt:

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

Khởi động lại Kibana:

sudo systemctl restart kibana

Truy cập http://your-server-ip:5601 trên trình duyệt. Nếu thấy giao diện Kibana, bạn đã thành công.

Cấu Hình Logstash

Tạo file cấu hình cơ bản cho Logstash tại /etc/logstash/conf.d/test-pipeline.conf:

input {
  stdin { }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "test-index"
  }
  stdout { codec => rubydebug }
}

Khởi động lại Logstash:

sudo systemctl restart logstash

Cấu hình này cho phép Logstash nhận dữ liệu từ input (ở đây là stdin) và gửi đến Elasticsearch.

Bảng So Sánh Vai Trò Của ELK Stack Trong DevOps

Công Cụ Vai Trò Đầu Vào Đầu Ra
Elasticsearch Lưu trữ, tìm kiếm, phân tích Dữ liệu từ Logstash Dữ liệu JSON cho Kibana
Logstash Thu thập, xử lý dữ liệu Log file, API, database Dữ liệu gửi đến ES
Kibana Trực quan hóa, báo cáo Dữ liệu từ Elasticsearch Dashboard, biểu đồ
elk-tls-docker-diagram

Kiểm Tra Hoạt Động Của ELK Stack

  1. Gửi dữ liệu thử qua Logstash: Chạy Logstash với pipeline vừa tạo:

    sudo /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/test-pipeline.conf

    Gõ “Hello ELK Stack” vào terminal và nhấn Enter. Logstash sẽ gửi dữ liệu này đến Elasticsearch.

  2. Kiểm tra dữ liệu trong Elasticsearch:

    curl -X GET "localhost:9200/test-index/_search?pretty"

    Bạn sẽ thấy JSON chứa “Hello ELK Stack” trong phần hits.

  3. Xem trên Kibana:

    • Truy cập Kibana tại http://your-server-ip:5601.
    • Vào Management > Stack Management > Index Patterns, tạo pattern cho test-index*.
    • Vào Discover để xem dữ liệu vừa thêm.

Lợi Ích Khi Sử Dụng ELK Stack

  • Quản lý tập trung: Thu thập và phân tích log từ nhiều nguồn trong một hệ thống.
  • Thời gian thực: Phát hiện sự cố nhanh chóng, giảm downtime.
  • Khả năng mở rộng: Phù hợp từ dự án nhỏ đến hệ thống lớn.

Thực Hành

Cài đặt và cấu hình ELK Stack trên máy local hoặc cloud instance (AWS EC2, GCP). Thử gửi dữ liệu qua Logstash và kiểm tra trên Kibana như hướng dẫn. Nếu gặp vấn đề, nhắn mình để cùng giải quyết. Bài tiếp theo, chúng ta sẽ khám phá Logstash chi tiết hơn – hẹn gặp bạn!

Điều hướng chuỗi bài viết
>> Bài 2: Thu Thập Dữ Liệu Với Logstash
Article Thumbnail
Article Thumbnail
Datadog Webinar: Modernize AWS Logs at Scale
Chia sẻ bài viết:
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận