Graylog là một hệ thống quản lý nhật ký tập trung theo nền tảng. Đây là một trong những hệ thống quản lý nhật ký phổ biến nhất trong thế giới DevOps với hỗ trợ đa nền tảng và có thể được cài đặt trong môi trường chứa như Docker và Kubernetes.
Là một hệ thống quản lý nhật ký, Graylog hỗ trợ nhiều đầu vào cho các loại ứng dụng và hệ thống khác nhau. Bạn có thể sử dụng đầu vào Syslog cho các hệ điều hành giống Unix, Windows EventLog cho các hệ thống Windows, sử dụng GELF (Graylog Extended Log Format) cho các ứng dụng tùy chỉnh của mình.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách thiết lập gửi nhật ký từ máy Ubuntu đến máy chủ Graylog. Bản demo này sử dụng máy Ubuntu 22.04 mới nhất làm máy khách và máy chủ Graylog v4.3. Nếu bạn muốn biết cách thiết lập máy chủ Graylog trên Debian 11, hãy xem tại đây.
Graylog hỗ trợ nhiều loại đầu vào khác nhau cho hệ thống ghi nhật ký, bao gồm Syslog, Journald, Windows eventlog, Raw/Plaintext, tệp, v.v.
Đối với hệ thống Linux, bạn có thể dễ dàng gửi nhật ký đến máy chủ Graylog bằng đầu vào Syslog. Bạn chỉ cần tạo một đầu vào trên máy chủ Graylog của mình với kiểu Syslog và đầu vào đó sẽ tự động chạy trên một cổng và địa chỉ IP cụ thể.
Mở trình duyệt web và truy cập cài đặt máy chủ Graylog của bạn (tức là http://graylog.howtoforge.local/). Đăng nhập vào máy chủ Graylog của bạn bằng người dùng quản trị mặc định và mật khẩu mạnh của bạn.
Bây giờ hãy nhấp vào menu Hệ thống và nhấp vào Đầu vào, bạn sẽ nhận được trang mới.
Trên trang đầu vào thả xuống, hãy chọn loại đầu vào tại đây là "Syslog UDP" và nhấp vào nút "Khởi chạy đầu vào mới".
Bây giờ bạn sẽ cần thiết lập đầu vào Syslog trên máy chủ Graylog:
Bây giờ hãy nhấp vào nút Lưu để xác nhận việc tạo đầu vào.
Bây giờ trên trang đầu vào, bạn sẽ thấy tất cả các đầu vào khả dụng đang chạy trên máy chủ Graylog của mình. Trong ảnh chụp màn hình bên dưới, bạn có thể thấy đầu vào "Syslog Linux UDP" đang chạy trên cổng UDP 5148 với bind-address 0.0.0.0, nghĩa là đang chạy trên tất cả các địa chỉ IP trên máy chủ.
Trước tiên, hãy kết nối với máy Ubuntu của bạn bằng lệnh ssh bên dưới.
Kiểm tra gói Rsyslog trên máy Ubuntu và đảm bảo rằng nó đã được cài đặt.
Trong ảnh chụp màn hình bên dưới, bạn có thể thấy gói rsyslog được cài đặt theo mặc định. "ii" trên trường có nghĩa là đã cài đặt.
Bây giờ hãy xác minh dịch vụ Rsyslog bằng lệnh bên dưới.
Bạn sẽ thấy dịch vụ rsyslog được bật, nghĩa là dịch vụ này sẽ tự động chạy khi hệ thống khởi động. Và trạng thái hiện tại của dịch vụ rsyslog đang chạy.
Để gửi nhật ký từ máy khách Ubuntu đến máy chủ Graylog bằng rsyslog, bạn sẽ cần tạo cấu hình rsyslog bổ sung mới. Cấu hình mặc định của rsyslog là tệp "/etc/rsyslog.conf" và cấu hình rsyslog bổ sung có thể được lưu trữ tại thư mục "/etc/rsyslog.d".
Tạo cấu hình rsyslog bổ sung mới "/etc/rsyslog.d/60-graylog.conf" bằng trình chỉnh sửa nano.
Thêm cấu hình sau vào tệp.
Lưu và đóng tệp khi bạn hoàn tất.
Địa chỉ IP là 192.168.5.10 đây là địa chỉ IP của máy chủ Graylog đang chạy các đầu vào trên cổng UDP 5148.
Bây giờ hãy khởi động lại dịch vụ rsyslog để áp dụng các thay đổi và cấu hình mới bằng lệnh bên dưới.
Và bạn đã hoàn tất cấu hình rsyslog cơ bản để gửi nhật ký đến máy chủ Graylog.
Từ bảng điều khiển tìm kiếm Graylog, bạn có thể lọc các thông báo nhật ký từ máy chủ hoặc ứng dụng của mình, kiểm tra các thông báo nhật ký theo thời gian thực, kiểm tra các thông báo nhật ký từ các khung thời gian cụ thể, v.v.
Là một hệ thống quản lý nhật ký, Graylog hỗ trợ nhiều đầu vào cho các loại ứng dụng và hệ thống khác nhau. Bạn có thể sử dụng đầu vào Syslog cho các hệ điều hành giống Unix, Windows EventLog cho các hệ thống Windows, sử dụng GELF (Graylog Extended Log Format) cho các ứng dụng tùy chỉnh của mình.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách thiết lập gửi nhật ký từ máy Ubuntu đến máy chủ Graylog. Bản demo này sử dụng máy Ubuntu 22.04 mới nhất làm máy khách và máy chủ Graylog v4.3. Nếu bạn muốn biết cách thiết lập máy chủ Graylog trên Debian 11, hãy xem tại đây.
Điều kiện tiên quyết
- Đã cài đặt máy chủ Graylog - Bản demo này sử dụng Graylog v4.3 được cài đặt trên máy chủ Debian.
- Máy khách Ubuntu - Dome này sử dụng máy chủ Ubuntu 22.04.
- Người dùng không phải root có quyền quản trị viên Sudo.
Thiết lập đầu vào Graylog
Trước khi bắt đầu cấu hình máy khách Ubuntu, bạn sẽ cần thiết lập đầu vào trên máy chủ Graylog của mình.Graylog hỗ trợ nhiều loại đầu vào khác nhau cho hệ thống ghi nhật ký, bao gồm Syslog, Journald, Windows eventlog, Raw/Plaintext, tệp, v.v.
Đối với hệ thống Linux, bạn có thể dễ dàng gửi nhật ký đến máy chủ Graylog bằng đầu vào Syslog. Bạn chỉ cần tạo một đầu vào trên máy chủ Graylog của mình với kiểu Syslog và đầu vào đó sẽ tự động chạy trên một cổng và địa chỉ IP cụ thể.
Mở trình duyệt web và truy cập cài đặt máy chủ Graylog của bạn (tức là http://graylog.howtoforge.local/). Đăng nhập vào máy chủ Graylog của bạn bằng người dùng quản trị mặc định và mật khẩu mạnh của bạn.
Bây giờ hãy nhấp vào menu Hệ thống và nhấp vào Đầu vào, bạn sẽ nhận được trang mới.
Trên trang đầu vào thả xuống, hãy chọn loại đầu vào tại đây là "Syslog UDP" và nhấp vào nút "Khởi chạy đầu vào mới".
Bây giờ bạn sẽ cần thiết lập đầu vào Syslog trên máy chủ Graylog:
- Nút ở đây sẽ được chọn tự động, vì vậy hãy để mặc định.
- Nhập Tiêu đề cho đầu vào mới của bạn, ví dụ: "Syslog Linux UDP".
- Địa chỉ liên kết tại đây bạn có thể chỉ định địa chỉ IP cho đầu vào của mình. Đây có thể là địa chỉ IP cục bộ của máy chủ hoặc bạn chỉ cần sử dụng 0.0.0.0 để chạy đầu vào trên tất cả các địa chỉ IP trên máy chủ.
- Cổng ở đây bạn có thể sử dụng một cổng khác cho đầu vào của mình. Chỉ cần đảm bảo không có dịch vụ nào khác đang chạy trên cổng đó và đảm bảo cổng không nằm trong phạm vi từ 1-1024. Trong bản demo này, chúng tôi đang sử dụng cổng UDP 5148.
Bây giờ hãy nhấp vào nút Lưu để xác nhận việc tạo đầu vào.
Bây giờ trên trang đầu vào, bạn sẽ thấy tất cả các đầu vào khả dụng đang chạy trên máy chủ Graylog của mình. Trong ảnh chụp màn hình bên dưới, bạn có thể thấy đầu vào "Syslog Linux UDP" đang chạy trên cổng UDP 5148 với bind-address 0.0.0.0, nghĩa là đang chạy trên tất cả các địa chỉ IP trên máy chủ.
Cấu hình máy khách Ubuntu để gửi nhật ký
Bây giờ là lúc cấu hình máy khách Ubuntu để gửi nhật ký đến máy chủ Graylog. Và điều này có thể được thực hiện bằng cách sử dụng dịch vụ Rsyslog.Trước tiên, hãy kết nối với máy Ubuntu của bạn bằng lệnh ssh bên dưới.
Mã:
ssh user@SERVER-IP
Mã:
sudo dpkg -l | grep rsyslog
sudo apt info rsyslog
Bây giờ hãy xác minh dịch vụ Rsyslog bằng lệnh bên dưới.
Mã:
sudo systemctl is-enabled rsyslog
sudo systemctl status rsyslog
Để gửi nhật ký từ máy khách Ubuntu đến máy chủ Graylog bằng rsyslog, bạn sẽ cần tạo cấu hình rsyslog bổ sung mới. Cấu hình mặc định của rsyslog là tệp "/etc/rsyslog.conf" và cấu hình rsyslog bổ sung có thể được lưu trữ tại thư mục "/etc/rsyslog.d".
Tạo cấu hình rsyslog bổ sung mới "/etc/rsyslog.d/60-graylog.conf" bằng trình chỉnh sửa nano.
Mã:
sudo nano /etc/rsyslog.d/60-graylog.conf
Mã:
*.*@192.168.5.10:5148;RSYSLOG_SyslogProtocol23Format
Địa chỉ IP là 192.168.5.10 đây là địa chỉ IP của máy chủ Graylog đang chạy các đầu vào trên cổng UDP 5148.
Bây giờ hãy khởi động lại dịch vụ rsyslog để áp dụng các thay đổi và cấu hình mới bằng lệnh bên dưới.
Mã:
sudo systemctl restart rsyslog
Đang kiểm tra Nhật ký từ Graylog Server
Bây giờ quay lại trình duyệt web và bảng điều khiển Graylog của bạn. Nhấp vào menu Tìm kiếm ở trên cùng và bạn sẽ nhận được tất cả các nhật ký từ máy khách Ubuntu như bên dưới.Từ bảng điều khiển tìm kiếm Graylog, bạn có thể lọc các thông báo nhật ký từ máy chủ hoặc ứng dụng của mình, kiểm tra các thông báo nhật ký theo thời gian thực, kiểm tra các thông báo nhật ký từ các khung thời gian cụ thể, v.v.