Thứ ba, 25/04/2017 | 00:00 GMT+7

Cách quản lý log với Graylog 2 trên Ubuntu 16.04

Graylog là một nền tảng quản lý log open-souce mạnh mẽ. Nó tổng hợp và extract dữ liệu quan trọng từ log server , thường được gửi bằng giao thức Syslog. Nó cũng cho phép bạn tìm kiếm và trực quan hóa các bản ghi trong giao diện web.

Trong hướng dẫn này, bạn sẽ cài đặt và cấu hình Graylog trên Ubuntu 16.04 và cài đặt một đầu vào đơn giản để nhận log hệ thống.

Yêu cầu

Trước khi bắt đầu hướng dẫn này, bạn cần:

Bước 1 - Cấu hình Elasticsearch

Ta cần sửa đổi file cấu hình Elasticsearch để tên cụm trùng với một bộ trong file cấu hình Graylog. Để giữ cho mọi thứ đơn giản, ta sẽ đặt tên cụm Elasticsearch thành tên Graylog mặc định của graylog . Bạn có thể đặt nó thành bạn muốn , nhưng hãy đảm bảo bạn cập nhật file cấu hình Graylog để phản ánh thay đổi đó.

Mở file cấu hình Elasticsearch trong editor :

  • sudo nano /etc/elasticsearch/elasticsearch.yml

Tìm dòng sau:

/etc/elasticsearch/elasticsearch.yml
cluster.name: <CURRENT CLUSTER NAME> 

Thay đổi giá trị cluster.name thành graylog :

/etc/elasticsearch/elasticsearch.yml
cluster.name: graylog 

Lưu file và thoát khỏi editor .

Vì ta đã sửa đổi file cấu hình, ta phải khởi động lại dịch vụ để các thay đổi có hiệu lực.

  • sudo systemctl restart elasticsearch

Đến đây bạn đã cấu hình Elasticsearch, hãy chuyển sang cài đặt Graylog.

Bước 2 - Cài đặt Graylog

Trong bước này, ta sẽ cài đặt server Graylog.

Đầu tiên, download file gói có chứa cấu hình repository Graylog. Truy cập trang download Graylog để tìm số version hiện tại. Ta sẽ sử dụng version 2.2 cho hướng dẫn này.

  • wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb

Tiếp theo, cài đặt cấu hình repository từ file gói .deb , thay thế 2.2 bằng version bạn đã download .

  • sudo dpkg -i graylog-2.2-repository_latest.deb

Bây giờ cấu hình repository đã được cập nhật, ta phải tìm nạp danh sách các gói mới. Thực hiện lệnh này:

  • sudo apt-get update

Tiếp theo, cài đặt gói graylog-server :

  • sudo apt-get install graylog-server

Cuối cùng, khởi động Graylog tự động khi khởi động hệ thống bằng lệnh này:

  • sudo systemctl enable graylog-server.service

Graylog hiện đã được cài đặt thành công nhưng nó vẫn chưa bắt đầu. Ta phải cấu hình nó trước khi nó bắt đầu.

Bước 3 - Cấu hình Graylog

Bây giờ ta đã cấu hình Elasticsearch và cài đặt Graylog, ta cần thay đổi một vài cài đặt trong file cấu hình Graylog mặc định trước khi có thể sử dụng nó. Tệp cấu hình của Graylog được đặt tại /etc/graylog/server/server.conf theo mặc định.

Đầu tiên, ta cần đặt giá trị password_secret . Graylog sử dụng giá trị này để bảo mật password user được lưu trữ. Ta sẽ sử dụng giá trị 128 ký tự được tạo ngẫu nhiên.

Ta sẽ sử dụng pwgen để tạo password , vì vậy hãy cài đặt nó nếu nó chưa được cài đặt:

  • sudo apt install pwgen

Tạo password và đặt nó vào file cấu hình Graylog. Ta sẽ sử dụng chương trình sed để đưa giá trị password_secret vào file cấu hình Graylog. Bằng cách này, ta không phải copy paste bất kỳ giá trị nào. Thực thi lệnh này để tạo bí mật và lưu trữ trong file :

  • sudo -E sed -i -e "s/password_secret =.*/password_secret = $(pwgen -s 128 1)/" /etc/graylog/server/server.conf

Để biết thêm thông tin về cách sử dụng sed , hãy xem hướng dẫn sử dụng sed DigitalOcean này .

Tiếp theo, ta cần đặt giá trị root_password_sha2 . Đây là mã băm SHA-256 của password mong muốn của bạn. , ta sẽ sử dụng lệnh sed để sửa đổi file cấu hình Graylog để ta không phải tạo mã băm SHA-256 theo cách thủ công bằng cách sử dụng shasum và dán nó vào file cấu hình.

Thực hiện lệnh này, nhưng thay thế password bên dưới bằng password administrator mặc định mong muốn của bạn:

Lưu ý: Có một khoảng trống ở đầu lệnh, ngăn không cho password của bạn được lưu trữ dưới dạng văn bản thuần túy trong lịch sử Bash của bạn.

  • sudo sed -i -e "s/root_password_sha2 =.*/root_password_sha2 = $(echo -n 'password' | shasum -a 256 | cut -d' ' -f1)/" /etc/graylog/server/server.conf

Bây giờ, ta cần thực hiện một vài thay đổi đối với file cấu hình. Mở file cấu hình Graylog bằng editor :

  • sudo nano /etc/graylog/server/server.conf

Tìm và thay đổi các dòng sau, bỏ ghi chú và thay thế graylog_public_ip bằng IP công cộng của server của bạn. Đây có thể là địa chỉ IP hoặc domain đủ điều kiện.

/etc/graylog/server/server.conf
 ... rest_listen_uri = http://your_server_ip_or_domain:9000/api/  ... web_listen_uri = http://your_server_ip_or_domain:9000/  ... 

Lưu file và thoát khỏi editor .

Vì ta đã thay đổi file cấu hình, ta phải khởi động lại (hoặc khởi động) dịch vụ graylog-server . Lệnh khởi động lại sẽ khởi động server ngay cả khi nó hiện đang dừng.

  • sudo systemctl restart graylog-server

Tiếp theo, kiểm tra trạng thái của server .

  • sudo systemctl status graylog-server

Đầu ra sẽ giống như sau:

● graylog-server.service - Graylog server    Loaded: loaded (/usr/lib/systemd/system/graylog-server.service; enabled; vendor preset: enabled)    Active: active (running) since Fri 2017-03-03 20:10:34 PST; 1 months 7 days ago      Docs: http://docs.graylog.org/  Main PID: 1300 (graylog-server)     Tasks: 191 (limit: 9830)    Memory: 1.2G       CPU: 14h 57min 21.475s    CGroup: /system.slice/graylog-server.service            ├─1300 /bin/sh /usr/share/graylog-server/bin/graylog-server            └─1388 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSCon 

Bạn sẽ thấy active cho trạng thái.

Nếu kết quả báo cáo rằng hệ thống không chạy, hãy kiểm tra /var/log/syslog để biết bất kỳ lỗi nào. Đảm bảo rằng bạn đã cài đặt Java khi cài đặt Elasticsearch và bạn đã thay đổi tất cả các giá trị trong Bước 3. Sau đó, hãy khởi động lại dịch vụ Graylog .

Nếu bạn đã cấu hình firewall với ufw , hãy thêm ngoại lệ firewall cho cổng TCP 9000 để bạn có thể truy cập giao diện web:

  • sudo ufw allow 9000/tcp

Khi Graylog đang chạy, bạn có thể truy cập http:// your_server_ip :9000 bằng trình duyệt web của bạn . Bạn có thể phải đợi tối đa năm phút sau khi khởi động lại graylog-server trước khi giao diện web bắt đầu. Ngoài ra, hãy đảm bảo MongoDB đang chạy.

Bây giờ Graylog đang chạy bình thường, ta có thể chuyển sang xử lý log .

Bước 4 - Tạo đầu vào

Hãy thêm một đầu vào mới vào Graylog để nhận các bản ghi. Đầu vào cho Graylog biết cổng nào để lắng nghe và giao thức nào sẽ sử dụng khi nhận log . Ta sẽ thêm đầu vào Syslog UDP, đây là một giao thức ghi log thường được sử dụng.

Khi bạn truy cập http:// your_server_ip :9000 trong trình duyệt của bạn , bạn sẽ thấy trang đăng nhập. Sử dụng admin cho tên user của bạn và sử dụng password bạn đã nhập ở Bước 3 cho password của bạn.

Sau khi đăng nhập, bạn sẽ thấy một trang có tiêu đề “Bắt đầu” trông giống như hình sau:

Trang "Bắt đầu"

Để xem trang đầu vào, hãy nhấp vào menu thả xuống Hệ thống trong thanh chuyển và chọn Đầu vào .

Sau đó, bạn sẽ thấy một hộp thả xuống chứa văn bản Chọn đầu vào . Chọn Syslog UDP từ menu thả xuống này, sau đó nhấp vào nút Chạy đầu vào mới .

Một phương thức với một biểu mẫu sẽ xuất hiện. Điền vào các chi tiết sau để tạo đầu vào của bạn:

  1. Đối với Node , hãy chọn server của bạn. Nó phải là mục duy nhất trong danh sách.
  2. Đối với Tiêu đề , hãy nhập tiêu đề phù hợp, chẳng hạn như Linux Server Logs .
  3. Đối với địa chỉ Bind , hãy sử dụng IP riêng của server của bạn. Nếu bạn cũng muốn có thể thu thập log từ các server bên ngoài (không được khuyến khích , vì Syslog không hỗ trợ xác thực), bạn có thể đặt nó thành 0.0.0.0 (tất cả các giao diện).
  4. Đối với Port , nhập 8514 . Lưu ý ta đang sử dụng cổng 8514 cho hướng dẫn này vì các cổng từ 0 đến 1024 được dùng bởi user root . Bạn có thể sử dụng bất kỳ số cổng nào trên 1024 cũng được miễn là nó không xung đột với bất kỳ dịch vụ nào khác.

Nhấp vào Lưu . Danh sách đầu vào local sẽ cập nhật và hiển thị đầu vào mới của bạn, như thể hiện trong hình sau:

Ảnh chụp màn hình của các đầu vào local

Bây giờ một đầu vào đã được tạo, ta có thể gửi một số log đến Graylog.

Bước 5 - Cấu hình server để gửi log tới Graylog

Ta có một đầu vào được cấu hình và đang lắng nghe trên cổng 8514 , nhưng ta chưa gửi bất kỳ dữ liệu nào đến đầu vào, vì vậy ta sẽ không thấy bất kỳ kết quả nào. rsyslog là một tiện ích phần mềm được sử dụng để chuyển tiếp log và được cài đặt sẵn trên Ubuntu, vì vậy ta sẽ cấu hình tiện ích đó để gửi log tới Graylog. Trong hướng dẫn này, ta sẽ cấu hình server Ubuntu chạy Graylog để gửi log hệ thống của nó tới đầu vào mà ta vừa tạo, nhưng bạn có thể làm theo các bước sau trên bất kỳ server nào khác mà bạn có.

Nếu bạn muốn gửi dữ liệu tới Graylog từ các server khác, bạn cần thêm ngoại lệ firewall cho cổng UDP 8514 .

  • sudo ufw allow 8514/udp

Tạo và mở file cấu hình log rsyslog mới trong editor .

  • sudo nano /etc/rsyslog.d/60-graylog.conf

Thêm dòng sau vào file , thay thế your_server_private_ip bằng IP riêng của server Graylog của bạn.

/etc/rsyslog.d/60-graylog.conf
*.* @your_server_private_ip:8514;RSYSLOG_SyslogProtocol23Format 

Lưu và thoát khỏi editor .

Khởi động lại dịch vụ rsyslog để các thay đổi có hiệu lực.

  • sudo systemctl restart rsyslog

Lặp lại các bước này cho từng server mà bạn muốn gửi log .

Đến đây bạn sẽ có thể xem log của bạn trong giao diện web. Nhấp vào tab Nguồn trong thanh chuyển để xem biểu đồ của các nguồn. Nó trông giống như sau :

Ảnh chụp màn hình các nguồn

Bạn cũng có thể nhấp vào tab Tìm kiếm trong thanh chuyển để xem tổng quan về các log mới nhất .

Bạn có thể tìm hiểu thêm về các tìm kiếm trong tài liệu tìm kiếm Graylog .

Kết luận

Đến đây bạn có một server Graylog đang hoạt động với nguồn đầu vào có thể thu thập log từ các server khác.

Tiếp theo, bạn có thể cần xem xét cài đặt trang tổng quan, cảnh báo và stream . Trang tổng quan cung cấp tổng quan nhanh về log của bạn. Luồng phân loại tin nhắn mà bạn có thể theo dõi bằng cảnh báo. Để tìm hiểu thêm về cách cấu hình các tính năng nâng cao hơn của Graylog, bạn có thể tìm hướng dẫn trong tài liệu Graylog .


Tags:

Các tin liên quan

Cách cài đặt Webmin trên Ubuntu 16.04
2017-04-21
Cách cài đặt và cấu hình OrientDB trên Ubuntu 16.04
2017-03-24
how-to-monitor-system-metrics-with-the-tick-stack-on-ubuntu-16-04
2017-03-16
Cách cài đặt và cấu hình Postfix trên Ubuntu 16.04
2017-03-16
Cách cấu hình client FreeIPA trên Ubuntu 16.04
2017-03-08
Cách cài đặt Moodle trên Ubuntu 16.04
2017-03-02
Cách cài đặt và bảo mật MongoDB trên Ubuntu 16.04
2017-02-24
Cách cài đặt ionCube trên Ubuntu 16.04
2017-01-11
Cách thiết lập xác thực đa yếu tố cho SSH trên Ubuntu 16.04
2017-01-10
Cách chuyển cài đặt ownCloud sang Nextcloud trên Ubuntu 14.04
2017-01-06