Danh sách bài viết trong series Làm Chủ ELK Stack
Giới Thiệu Về Kibana Trong ELK Stack
Kibana là giao diện web mạnh mẽ của ELK Stack, cho phép trực quan hóa dữ liệu được lưu trữ trong Elasticsearch. Trong môi trường DevOps, Kibana giúp đội ngũ giám sát hệ thống, phân tích log, và xây dựng dashboard để theo dõi hiệu suất ứng dụng hoặc phát hiện sự cố. Ở bài trước, bạn đã học cách tìm kiếm và phân tích dữ liệu với Elasticsearch. Bây giờ, chúng ta sẽ khám phá cách sử dụng Kibana để biến dữ liệu thô thành các biểu đồ và báo cáo trực quan, hỗ trợ ra quyết định nhanh chóng.
Yêu Cầu Trước Khi Bắt Đầu
- Đã cài đặt và cấu hình ELK Stack (Bài 1), Logstash gửi dữ liệu (Bài 2), và Elasticsearch có index (Bài 3).
- Kibana chạy trên
http://your-server-ip:5601
(đã cấu hình trong Bài 1). - Dữ liệu log đã được gửi đến index (VD:
my-app-log
từ Bài 3).
Hướng Dẫn Trực Quan Hóa Dữ Liệu Với Kibana
Bước 1: Truy Cập Và Cấu Hình Kibana
- Mở trình duyệt và truy cập
http://your-server-ip:5601
. - Nếu lần đầu, Kibana sẽ yêu cầu cấu hình:
- Chọn Explore on my own để tự khám phá.
- Vào Management > Stack Management > Index Patterns để định nghĩa index pattern.
- Nhập
my-app-log*
(bao gồm các index theo ngày nếu có). - Chọn trường thời gian (VD:
timestamp
), rồi nhấn Create index pattern.
- Nhập
Bước 2: Khám Phá Dữ Liệu Trong Discover
- Vào Discover (bên trái màn hình).
- Chọn index pattern
my-app-log*
từ dropdown. - Bạn sẽ thấy danh sách log với các trường (VD:
timestamp
,message
,level
). - Thử lọc dữ liệu:
- Nhập
level:ERROR
vào thanh tìm kiếm. - Kết quả sẽ hiển thị các log có mức độ
ERROR
.
- Nhập
- Lưu tìm kiếm bằng cách nhấn Save để dùng lại sau.
Bước 3: Tạo Biểu Đồ Trong Visualize
- Vào Visualize > Create new visualization.
- Chọn loại biểu đồ (VD: Bar, Pie, Line).
- Ví dụ: Chọn Bar để đếm log theo
level
.
- Ví dụ: Chọn Bar để đếm log theo
- Cấu hình:
- Metrics: Đếm số bản ghi (Count).
- Bucket: Thêm Terms với trường
level
, chọn số lượng tối đa là 5.
- Nhấn Run để xem biểu đồ. Lưu lại bằng Save với tên (VD: “Log Level Distribution”).
- Kiểm tra: Biểu đồ sẽ hiển thị số lượng log
INFO
,ERROR
, v.v.
- Kiểm tra: Biểu đồ sẽ hiển thị số lượng log
Bước 4: Xây Dựng Dashboard
- Vào Dashboard > Create new dashboard.
- Thêm visualization vừa tạo:
- Nhấn Add > Chọn “Log Level Distribution”.
- Thêm biểu đồ khác (VD: Line chart cho log theo thời gian):
- Tạo mới trong Visualize với X-Axis là
timestamp
, Metrics là Count. - Thêm vào dashboard.
- Tạo mới trong Visualize với X-Axis là
- Điều chỉnh bố cục (drag & drop), rồi lưu với tên (VD: “My App Monitoring”).
- Chia sẻ dashboard bằng cách nhấn Share > Copy link hoặc xuất PDF.
Bước 5: Kiểm Tra Và Tinh Chỉnh
- Thêm dữ liệu mới vào
/var/log/myapp.log
(VD: “2024-03-03T10:03:00 WARN Server overloaded”). - Vào Dashboard để kiểm tra cập nhật tự động (refresh thủ công nếu cần).
- Điều chỉnh filter hoặc biểu đồ nếu dữ liệu không hiển thị đúng.
Bảng So Sánh Các Loại Biểu Đồ Trong Kibana
Loại Biểu Đồ | Mô Tả | Ứng Dụng | Ưu Điểm | Nhược Điểm |
---|---|---|---|---|
Bar | Cột biểu thị số liệu | Đếm log theo mức độ | Dễ so sánh | Không phù hợp xu hướng |
Pie | Hình tròn phân chia tỷ lệ | Tỷ lệ log theo nguồn | Trực quan, đơn giản | Giới hạn số phân khúc |
Line | Đường biểu thị xu hướng | Log theo thời gian | Hiển thị xu hướng rõ | Phức tạp với dữ liệu lớn |
Data Table | Bảng dữ liệu chi tiết | Xem chi tiết log | Dễ lọc, chi tiết | Không trực quan |
Mẹo Tối Ưu Hóa Kibana
- Tạo Index Pattern Chuẩn: Đảm bảo pattern bao quát tất cả index (VD:
my-app-log*
). - Sử Dụng Filter Thông Minh: Kết hợp
level:ERROR
vớitimestamp
để lọc chính xác. - Lưu Dashboard Thường Xuyên: Đặt tên rõ ràng (VD: “Production Monitoring”) để dễ quản lý.
Lợi Ích Khi Sử Dụng Kibana Trong DevOps
- Giám Sát Thời Gian Thực: Theo dõi log và metric ngay lập tức.
- Hỗ Trợ Ra Quyết Định: Dashboard cung cấp cái nhìn tổng quan, giúp phát hiện vấn đề nhanh.
- Tích Hợp Dễ Dàng: Kết nối với Elasticsearch để phân tích sâu hơn.
Thực Hành
- Tạo một dashboard mới trong Kibana với ít nhất hai biểu đồ: Bar (log theo
level
) và Line (log theotimestamp
). - Thêm log mới vào
/var/log/myapp.log
(VD: “2024-03-03T10:04:00 INFO Server restarted”), rồi kiểm tra cập nhật trên dashboard. - Lưu và chia sẻ dashboard với mình nếu bạn muốn nhận phản hồi. Nếu gặp lỗi, nhắn mình để cùng khắc phục. Bài tiếp theo, chúng ta sẽ học cách giám sát hệ thống với ELK Stack – hẹn gặp bạn!