Trang chủTin tứcHướng dẫn triển khai Docker Graylog theo các bước chi tiết
Hướng dẫn triển khai Docker Graylog theo các bước chi tiết

Hướng dẫn chi tiết cách triển khai Docker Graylog từ cấu hình đến tùy chỉnh tài nguyên, giúp bạn dễ dàng thu thập và phân tích logs một cách hiệu quả.

Tài liệu để build Graylog được tôi sử dụng và tham khảo ở đây. Điều tôi làm chỉ là tận dụng cấu hình của họ và sửa lại để cho phù hợp với mục đích của mình. Lưu ý cấu hình mình đang sử dụng là 8 Cpus và 12 Gb Ram. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách triển khai Graylog thông qua Docker để bắt đầu thu thập logs ngay lập tức.

1. Mô hình sử dụng

Mô hình hoạt động của Docker Graylog
Mô hình hoạt động của Docker Graylog

Ở mô hình này tôi sử dụng 3 container Graylog, opensearch, mongodb chúng liên lạc với nhau qua network : Graylog_net

Riêng container Graylog sử dụng expose port 9000:9000 để dùng truy cập trang web qua IP của host và các port khác dùng để nhận log các dịch vụ khác

  • "5044:5044" # Cổng cho nhận log từ Filebeat
  • "5140:5140" # Cổng cho nhận log từ syslog
  • "12201:12201" # Cổng cho nhận log từ GELF UDP
  • "13301:13301" # Cổng tùy chỉnh (thay thế cho dịch vụ khác)
  • "13302:13302" # Cổng tùy chỉnh khác

2. Cài đặt Docker Graylog

Đầu tiên sẽ tải xuống repo Docker github của mình

cd /opt/

git clone https://github.com/thanhquang99/Docker

Tiếp theo ta cần chạy file Docker compose

cd /opt/Docker/Graylog/

Docker compose up

Quá trình Docker compose up
Quá trình Docker compose up
  • Ta có thể tùy chỉnh biến trong file Docker compose để thay đổi user và password của Graylog hay opensearch. Nếu không thay đổi thì password mặc định của Graylog: minhtenlaquang
  • Bạn cũng cần sử lại cấu hình Graylog và opensearch sử dụng ram và cpu để phù hợp với máy của bạn. Thông thường opensearch sẽ chiếm 50% RAM và Graylog chiếm 25% RAM
Tùy chỉnh file Docker compose
Tùy chỉnh file Docker compose

Đợi 1 thời gian cho đến khi Docker compose chạy xong ta sẽ vào trang http://<ip-Docker-host>:9000. Với user: admin, password: minhtenlaquang

Kết quả sau khi Graylog hoạt động
Kết quả sau khi Graylog hoạt động

3. Tùy chỉnh tài nguyên sử dụng mà Graylog sử dụng

Các biến Graylog mà bạn cần lưu ý để có thể chỉnh sửa cho phù hợp với tài nguyên Graylog của mình: 

  • processbuffer_processors: Số lượng bộ xử lý cho buffer xử lý.
  • outputbuffer_processors: Số lượng bộ xử lý cho buffer đầu ra (Elasticsearch).
  • processor_wait_strategy: Chiến lược chờ của bộ xử lý khi không có công việc để làm (yielding, sleeping, blocking, busy_spinning).
  • ring_size: Kích thước của ring buffer.
  • message_journal_enabled: Kích hoạt hoặc vô hiệu hóa message journal.
  • message_journal_max_size: Kích thước tối đa của message journal.
  • inputbuffer_processors: Số lượng bộ xử lý cho input buffer.
  • inputbuffer_ring_size: Kích thước của ring buffer cho input buffer.
  • retention_strategy: Chiến lược giữ lại dữ liệu (ví dụ: delete, archive).
  • rotation_strategy: Chiến lược xoay vòng chỉ mục (ví dụ: count, time).
  • retention_max_index_count: Số lượng chỉ mục tối đa được giữ lại.
  • rotation_max_index_size: Kích thước tối đa của chỉ mục trước khi xoay vòng.
  • rotation_max_index_age: Tuổi thọ tối đa của chỉ mục trước khi xoay vòng.
  • tcp_recv_buffer_size: Kích thước bộ đệm nhận TCP.
  • tcp_send_buffer_size: Kích thước bộ đệm gửi TCP.
  • discarders: Cấu hình số lượng và loại discarder để xử lý tin nhắn vượt quá giới hạn.
  • threadpool_size: Số lượng luồng trong pool của Graylog.

Tôi sẽ hướng dẫn bạn tùy chỉnh biến message_journal_max_size để test thử.

Ta cần xem lại thông tin các volume của Graylog

Docker inspect graylog

Tìm kiếm thông tin volume để chỉnh sửa cấu hình
Tìm kiếm thông tin volume để chỉnh sửa cấu hình

Ta sẽ sửa file

vi /var/lib/docker/volumes/graylog_graylog_data/_data/graylog.conf

Nội dung sửa file cấu hình
Nội dung sửa file cấu hình

Restart lại Graylog

docker restart graylog

Kiểm tra kết quả:

Kết quả khi sửa file cấu hình thành công
Kết quả khi sửa file cấu hình thành công

Kết Luận

Hy vọng bài viết này đã giúp bạn triển khai Graylog sử dụng Docker và áp dụng vào hệ thống của mình. Docker Graylog là cách triển khai Graylog, một nền tảng quản lý và phân tích log bằng Docker. Điều này giúp dễ dàng thiết lập, cấu hình và quản lý Graylog trong các container, đảm bảo tính linh hoạt, khả năng mở rộng và đơn giản hóa quy trình cài đặt. Docker Graylog thường đi kèm với các container bổ sung như MongoDB (lưu trữ dữ liệu cấu hình) và Elasticsearch (xử lý và lưu trữ log).

>>> Có thể bạn quan tâm: Hướng dẫn cài đặt Graylog trên Ubuntu 22.04 chi tiết nhất

Tác giả:
author avatar
Mình là Huy, hiện mình đang là kỹ sư hệ thống tại SunCloud. Mình có nhiều năm kinh nghiệm, kiến thức chuyên môn về mạng, hệ thống, điện toán mây và an ninh bảo mật. Mình đã triển khai và vận hành rất nhiều dự án thực tế cho doanh nghiệp, cơ quan. Mình đã đạt được một số chứng chỉ quốc tế như CCNP, LPI, VCP, đồng thời mình vẫn đang tiếp tục học tập để trau dồi kiến thức mỗi ngày. Mình rất yêu thích công nghệ, đam mê chia sẻ những kiến thức, thông tin hữu ích cho mọi người.

Tin tức nổi bật