Giới Thiệu
Giám sát và phân tích Log ngày càng trở nên quan trọng cho cả ứng dụng, máy chủ hay thậm chí là nền tảng Container. Một trong những phần mềm phổ biến nhất để phân tích và theo dõi nhật ký mà bạn có thể chọn là Elasticsearch, Fluentd và Kibana (EFK stack).
EFK là một công cụ tìm kiếm phân tán và có thể mở rộng cho phép phân tích và tìm kiếm có cấu trúc. Trong hướng dẫn này, bạn sẽ học cách thiết lập theo dõi nhật ký EFK với Docker và lưu trữ logs của Container tập trung vào EFK này.
Yêu Cầu
- Server Debian 11: >= 6Gb Ram
- Đã cài Docker CE
- Đã cài Docker Compose
Cài đặt EFK Stack
EKF là một trong nền tảng hỗ trợ khá tốt trong việc quản lý logs tập trung cho hạ tầng Container và On-premes. Trước khi bắt đầu quá trình cài đặt, chúng ta sẽ đi qua một vài cấu hình cho docker như sau:
Đối với ví dụ này, bạn sẽ sử dụng hình ảnh Docker với các thông số kỹ thuật sau:
- Elasticsearch 7.17.0
- Kibana 7.17.0
- Fluentd bản Custom image dựa trên v1.14.1
Để tiến hành thiết lập EFK ta thực hiện:
1. Truy cập vào server
2. Xác minh lại Docker và Docker compose đã được cài đặt chưa
3. Tạo thư mục
Copy nội dung sau vào file vừa tạo.
5. Tạo thư mục fluentd
9. Tạo tiếp file cấu hình cho fluent tại ~/efk/fluentd/conf/fluent.conf
10. Cuối cùng, kiểm tra lại cấu trúc thư mục.
Triển khai EFK với Docker
1.Truy cập vào folder efk
2. Chạy lệnh docker-compose
Quá trình build các images docker diễn ra.
Sau khi quá trình triển khai hoàn tất, ta sẽ thấy output như sau:
3. Kiểm tra logs EFK
4. Kiểm tra trạng thái của tất cả container
5. Xem chi tiết thông tin của container efk_elasticsearch
Tại đây, chúng ta sẽ có thể tìm thấy IP của container efk_elasticsearch_1 , ví dụ 172.18.0.2.
6. Truy cập và xác minh container elasticsearch
Cấu hình Kibana Index Pattern
Sau khi đã hoàn tất quá trình triển khai EFK. Tiến hành mở trình duyệt và truy cập vào web của Kibana.
1.Mở trình duyệt và nhập vào IP và port kibana ( mặc định 5601). ví dụ: http://172.16.1.10:5601)
2. Tiếp theo, chọn vào “Explore on my own”
3. Chọn vào “Stack Management”
4. Bên phía gốc trái Kibana, chọn vào Index Patterns và nhấp vào nút Create Index Pattern
5. Nhập vào Name , thiết lập Timestamp field là @timestamp, và chọn vào nút Create index pattern
6. Cuối cùng, bên gốc trái chọn vào Discover để hiển thị logs
Kết quả sẽ trông như sau:
Thực thi Docker Container với Fluentd Log Driver
Sau khi đã cấu hình xong Kibana, chúng ta sẽ bắt đầu chạy một docker container với Fluentd log drive để tự động gửi logs về EFK.
1. Kéo về images nginx
2. Thực thi docker
Câu lệnh thực thi docker kèm theo tùy chọn–log-driver=fluentd , và expose port 8080 ra ngoài.
3. Kiểm tra lại trạng thái docker
4. Truy cập vào nginx_container và sinh ra logs access.
Hoặc bạn có thể truy cập trực tiếp bằng trình duyệt bất kỳ, ví dụ: http://172.168.1.10:8080
5. Kiểm tra lại logs trên Kibana Dashboard
Lúc này, ta sẽ thấy được logs truy cập được sinh ra từ container nginx_container trên Dashboard Kibana.
Kết Bài
Chúng ta vừa trãi qua các bước để có thể triển khai được EFK ( (Elasticsearch, Fluentd, và Kibana) dùng cho việc giám sát và phân tích logs bằng Docker. Cũng như giúp bạn hiểu cách thiết lập và thu thập logs với Fluentd log driver để gửi về trung tâm quản lý logs EFK. Chúc bạn thiết lập thành công !
Nguồn: Truy Cập Diễn Đàn Ngay
congdonglinux.com forum.congdonglinux.com
[maxbutton id=”2″ ] [maxbutton id=”3″ ]
Đăng ký liền tay Nhận Ngay Bài Mới
Subscribe ngay
Cám ơn bạn đã đăng ký !
Lỗi đăng ký !
Add Comment