Hướng dẫn cài đặt rsyslogd trên ubuntu

Graylog là một hệ thống tổng hợp và quản lý log mã nguồn mở, được sử dụng để phân tích một lượng lớn dữ liệu. Nó lưu trữ và phân tích log được thu thập từ máy chủ và gửi thông báo. Nó sử dụng Elasticsearch để lập chỉ mục dữ liệu log với MongoDB để lưu trữ thông tin meta.

Bài hướng dẫn này Graylog sẽ được tiến hành cài đặt trên Ubuntu 20.04 LTS

Cập nhật hệ thống

Để đảm bảo rằng tất cả các phụ thuộc của Graylog đều được cập nhật, hãy thực thi lệnh bên dưới:

Trong quá trình cập nhật hệ thống chúng ta chờ từ 5 phút đến 15 phút.

Bước 1: Cài đặt Java OpenJDK

Quá trình cài đặt Graylog chúng ta cần tiến hành kiểm tra xem Java OpenJDK đã được cài đặt chừa vì đây là là thứ cần thiết để Graylog có thể hoạt động.

Để kiểm tra xem Java đã được cài đặt hay chưa, hãy chạy lệnh:

Nếu chưa cài đặt javajdk chúng ta tiến hành cài đặt javajdk và các gói phụ thuộc bằng lệnh sau:

Kiểm tra phiên bản javajdk đã cài đặt:

Bước 2: Cài đặt Elasticsearch

Nhập Elasticsearch PGP key bằng cách thực thi lệnh sau:

Tiến thành thêm Elasticsearch từ repository.

Cập nhật và tiến hành cài đặt Elasticsearch:

Tiến hành chỉnh sửa file cấu hình của Elasticsearch /etc/elasticsearch/elasticsearch.yml thêm 2 dòng sau vào cuối file:

/etc/elasticsearch/elasticsearch.yml

Thực hiện khởi động lại dịch vụ daemon và Elasticsearch:

Bước 3: Cài đặt MongoDB

Thực thi lệnh sau để tiến hành cài đặt MongoDB:

Tiến hành khởi động dịch vụ MongoDB và cho MongoDB khởi động cùng với hệ thống:

Thực hiện thêm Graylog repository:

Tiến hành cài đặt Graylog server package:

Tiến hành cài đặt Graylog:

Sau khi cài đặt hoàn tất chúng ta tiến hành tạo một chuỗi 96 ký tự ngẫu nhiên cho Graylog và lưu một bản backup để sử dụng trong tệp cấu hình máy chủ Graylog:

Chọn một mật khẩu cho tài khoản quản trị của chúng ta và tạo một băm`64 ký tự`.

Sau đó chúng ta tiến hành cấu hình Graylog như sau:

Sử dụng trình soạn thảo để tiến hành chỉnh sửa file /etc/graylog/server/server.conf. Cụ thể:

  • Chỉnh sửa password_secret với chuỗi 96 ký tự ngẫu nhiên mà chúng ta đã tạo trước đó.
  • Chỉnh sửa root_password_sha2 với hàm băm 64 ký tự của mật khẩu admin của chúng ta.
  • Chỉnh sửa http_bind_address thành 0.0.0.0:9000

/etc/graylog/server/server.conf

Thực hiện khởi động lại dịch vụ daemon và Graylog:

Truy cập giao diện Web Graylog

Chúng ta tiến hành truy cập giao diện Web Graylog bằng cách tiến hành mở trình duyệt của chúng ta và truy cập link http://IP:9000. Kết quả sẽ như sau:

Hướng dẫn cài đặt rsyslogd trên ubuntu

Tiến hành đăng nhập vào Graylog, user là `javajdk`0, password là password lúc nảy chúng ta thực hiện đặt ở trên:

Hướng dẫn cài đặt rsyslogd trên ubuntu

Vậy là đã hoàn thành quá trình cài đặt và sử dụng một số câu hình cơ bản của Graylog trên Ubuntu 20.04 LTS.

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:

  • Một server Ubuntu 16.04 với ít nhất 2 GB RAM, được bật mạng riêng và user không phải root. Điều này có thể được cài đặt theo Cài đặt server ban đầu với Ubuntu 16.04 .
  • Đã cài đặt Oracle JDK 8, bạn có thể thực hiện theo phần “Cài đặt Oracle JDK” của bài viết cài đặt Java này .
  • Elasticsearch 2.x, bạn có thể cài đặt theo các Bước 1 và 2 của hướng dẫn cài đặt Elasticsearch . Một số version nhất định của Graylog chỉ hoạt động với một số version nhất định của Elasticearch. Ví dụ: Graylog 2.x không hoạt động với Elasticsearch 5.x. Tham khảo bảng so sánh version Greylog-Elasticsearch này để biết version chính xác. Hướng dẫn này sử dụng Elasticsearch 2.4.4 và Graylog 2.2.
  • MongoDB, có thể được cài đặt theo hướng dẫn MongoDB .

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

cluster.name: graylog 

2 . 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:  

Thay đổi giá trị

cluster.name: graylog 

3 thành

cluster.name: graylog 

2 :

/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

cluster.name: graylog 

5 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

cluster.name: graylog 

6 , thay thế

cluster.name: graylog 

5 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

cluster.name: graylog 

8 :

  • 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

cluster.name: graylog 

9 theo mặc định.

Đầu tiên, ta cần đặt giá trị

  • sudo systemctl restart elasticsearch

0 . 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

  • sudo systemctl restart elasticsearch

1 để 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

  • sudo systemctl restart elasticsearch

2 để đưa giá trị

  • sudo systemctl restart elasticsearch

0 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 :

cluster.name:  

0

Để biết thêm thông tin về cách sử dụng

  • sudo systemctl restart elasticsearch

2 , hãy xem hướng dẫn sử dụng

  • sudo systemctl restart elasticsearch

2 DigitalOcean này .

Tiếp theo, ta cần đặt giá trị

  • sudo systemctl restart elasticsearch

6 . Đây là mã băm SHA-256 của password mong muốn của bạn. , ta sẽ sử dụng lệnh

  • sudo systemctl restart elasticsearch

2 để 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

  • sudo systemctl restart elasticsearch

8 và dán nó vào file cấu hình.

Thực hiện lệnh này, nhưng thay thế

  • sudo systemctl restart elasticsearch

9 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.

cluster.name:  

1

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 :

cluster.name:  

2

Tìm và thay đổi các dòng sau, bỏ ghi chú và thay thế

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

0 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

cluster.name:  

3

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ụ

cluster.name: graylog 

8 . Lệnh khởi động lại sẽ khởi động server ngay cả khi nó hiện đang dừng.

cluster.name:  

4

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

cluster.name:  

5

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

cluster.name:  

6

Bạn sẽ thấy

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

2 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

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

3 để 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

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

4 , hãy thêm ngoại lệ firewall cho cổng TCP

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

5 để bạn có thể truy cập giao diện web:

cluster.name:  

7

Khi Graylog đang chạy, bạn có thể truy cập

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

6 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

cluster.name: graylog 

8 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

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

6 trong trình duyệt của bạn , bạn sẽ thấy trang đăng nhập. Sử dụng

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

9 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:

Để 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ư `
    • sudo dpkg -i graylog-2.2-repository_latest.deb ` 0 .
  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 `
    • sudo dpkg -i graylog-2.2-repository_latest.deb ` 1 (tất cả các giao diện).
  4. Đối với Port , nhập `
    • sudo dpkg -i graylog-2.2-repository_latest.deb

      2 . Lưu ý ta đang sử dụng cổng

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

      2 cho hướng dẫn này vì các cổng từ

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

      4 đến

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

      5 được dùng bởi user root . Bạn có thể sử dụng bất kỳ số cổng nào trên

    • sudo dpkg -i graylog-2.2-repository_latest.deb ` 5 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:

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

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

2 , 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.

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

8 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

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

2 .

cluster.name:  

8

Tạo và mở file cấu hình log

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

8 mới trong editor .

cluster.name:  

9

Thêm dòng sau vào file , thay thế

  • sudo apt-get update

1 bằng IP riêng của server Graylog của bạn.

/etc/rsyslog.d/60-graylog.conf

cluster.name: graylog 

0

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

Khởi động lại dịch vụ

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

8 để các thay đổi có hiệu lực.

cluster.name: graylog 

1

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 :

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 .