Cài đặt và cấu hình Graylog Monitoring Server Ubuntu 20.04

theanh

Administrator
Nhân viên
Graylog là một công cụ phần mềm quản lý nhật ký miễn phí và mã nguồn mở có thể được sử dụng để theo dõi nhật ký của các hệ thống mạng từ máy chủ trung tâm. Công cụ này sử dụng Elasticsearch để lưu trữ dữ liệu nhật ký và cung cấp khả năng tìm kiếm, còn MongoDB để lưu trữ thông tin siêu dữ liệu. Công cụ này giúp bạn theo dõi, tìm kiếm và phân tích một lượng lớn dữ liệu thành một định dạng dễ đọc đơn giản.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Graylog trên máy chủ Ubuntu 20.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy Ubuntu 20.04. với tối thiểu 4GB RAM
  • Một mật khẩu gốc được cấu hình trên.

Bắt đầu​

Đầu tiên, bạn sẽ cần cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật tất cả chúng bằng lệnh sau:
Mã:
apt-get update -y
Sau khi cập nhật tất cả các gói, bạn cũng sẽ cần cài đặt một số gói phụ thuộc vào máy chủ của mình. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
apt-get install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y
Sau khi tất cả các gói phụ thuộc cần thiết đã được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt Java​

Graylog yêu cầu Java phải được cài đặt vào máy chủ của bạn. Nếu chưa cài đặt, bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install openjdk-11-jre-headless -y
Sau khi Java được cài đặt, bạn có thể xác minh phiên bản Java đã cài đặt bằng cách chạy lệnh sau:
Mã:
java -version
Bạn sẽ nhận được kết quả sau:
Mã:
openjdk version "11.0.8" 2020-07-14Môi trường chạy thời gian OpenJDK (bản dựng 11.0.8+10-post-Ubuntu-0ubuntu120.04)Máy ảo máy chủ OpenJDK 64-Bit (bản dựng 11.0.8+10-post-Ubuntu-0ubuntu120.04, chế độ hỗn hợp, chia sẻ)
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt và cấu hình Elasticsearch​

Graylog sử dụng Elasticsearch để lưu trữ nhật ký đến từ tài nguyên bên ngoài. Vì vậy, bạn sẽ cần cài đặt Elasticsearch trong hệ thống của mình.

Theo mặc định, phiên bản mới nhất của Elasticsearch không có trong kho lưu trữ mặc định của Ubuntu. Vì vậy, bạn sẽ cần thêm kho lưu trữ Elasticsearch vào hệ thống của mình.

Trước tiên, hãy tải xuống và thêm khóa GPG Elasticsearch bằng lệnh sau:
Mã:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Tiếp theo, hãy thêm kho lưu trữ Elasticsearch bằng lệnh sau:
Mã:
echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt Elasticsearch bằng lệnh sau:
Mã:
apt-get update -y
apt-get install elasticsearch-oss -y
Sau khi cài đặt Elasticsearch, bạn sẽ cần chỉnh sửa tệp cấu hình Elasticsearch và xác định tên cụm. Bạn có thể thực hiện bằng lệnh sau:
Mã:
nano /etc/elasticsearch/elasticsearch.yml
Xác định tên cụm của bạn thành graylog và thêm một dòng khác như hiển thị bên dưới:
Mã:
cluster.name: graylogaction.auto_create_index: false
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động dịch vụ Elasticsearch và cho phép nó khởi động khi khởi động bằng lệnh sau:
Mã:
systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch
Bạn cũng có thể xác minh trạng thái của dịch vụ Elasticsearch bằng lệnh sau:
Mã:
systemctl status elasticsearch
Bạn sẽ nhận được kết quả sau:
Mã:
? elasticsearch.service - Elasticsearch Đã tải: đã tải (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ Sat 2020-09-05 08:41:18 UTC; 9 giây trước Tài liệu: http://www.elastic.co PID chính: 7085 (java) Nhiệm vụ: 17 (giới hạn: 2353) Bộ nhớ: 1,1G CGroup: /system.slice/elasticsearch.service ??7085 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly ->05/09 08:41:18 ubuntu2004 systemd[1]: Đã khởi động Elasticsearch.
Bây giờ, hãy xác minh phản hồi của Elasticcsearch bằng lệnh sau:
Mã:
curl -X GET http://localhost:9200
Bạn sẽ nhận được kết quả sau:
Mã:
{ "name" : "vzg8H4j", "cluster_name" : "graylog", "cluster_uuid" : "6R9SlXxNSUGe6aclcJa9VQ", "version" : { "number" : "6.8.12", "build_flavor" : "oss", "build_type" : "deb", "build_hash" : "7a15d2a", "build_date" : "2020-08-12T07:27:20.804867Z", "build_snapshot" : false, "lucene_version" : "7.7.3", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "Bạn biết đấy, để tìm kiếm"}

Cài đặt MongoDB Server​

Graylog sử dụng MongoDB làm cơ sở dữ liệu. Vì vậy, bạn sẽ cần cài đặt cơ sở dữ liệu MongoDB vào máy chủ của mình. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install mongodb-server -y
Sau khi MongoDB được cài đặt, hãy khởi động dịch vụ MongoDB và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start mongodb
systemctl enable mongodb
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt và cấu hình Graylog​

Theo mặc định, gói Graylog không có trong kho lưu trữ mặc định của Ubuntu. Vì vậy, bạn sẽ cần cài đặt kho lưu trữ graylog vào máy chủ của mình.

Bạn có thể tải xuống gói kho lưu trữ Graylog bằng lệnh sau:
Mã:
wget https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.deb
Sau khi tải xuống hoàn tất, hãy cài đặt gói đã tải xuống bằng lệnh sau:
Mã:
dpkg -i graylog-3.3-repository_latest.deb
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt máy chủ Graylog bằng lệnh sau:
Mã:
apt-get update -y
apt-get install graylog-server -y
Sau khi cài đặt máy chủ Graylog, bạn sẽ cần tạo một bí mật để bảo mật mật khẩu người dùng. Bạn có thể tạo mật khẩu này bằng lệnh sau:
Mã:
pwgen -N 1 -s 96
Bạn sẽ thấy kết quả sau:
Mã:
Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c
Tiếp theo, bạn cũng sẽ cần tạo mật khẩu an toàn cho người dùng quản trị Graylog. Bạn sẽ cần mật khẩu này để đăng nhập vào giao diện web Graylog. Bạn có thể tạo mật khẩu này bằng lệnh sau:
Mã:
echo -n password | sha256sum
Bạn sẽ thấy kết quả sau:
Mã:
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 -
Bây giờ, hãy chỉnh sửa tệp cấu hình chính của Graylog và xác định cả hai mật khẩu:
Mã:
nano /etc/graylog/server/server.conf
Dán cả hai mật khẩu mà bạn đã tạo ở trên như hiển thị bên dưới:
Mã:
password_secret = Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3croot_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Tiếp theo, bạn cũng sẽ cần phải xác định địa chỉ liên kết cho máy chủ của mình như được hiển thị bên dưới:
Mã:
http_bind_address = 127.0.0.1:9000
Lưu và đóng tệp khi bạn hoàn tất, sau đó khởi động dịch vụ Graylog và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl daemon-reload
systemctl start graylog-server
systemctl enable graylog-server
Tiếp theo, bạn có thể xác minh trạng thái của máy chủ Graylog bằng lệnh sau:
Mã:
systemctl status graylog-server
Bạn sẽ thấy đầu ra sau:
Mã:
? graylog-server.service - Máy chủ Graylog Đã tải: đã tải (/lib/systemd/system/graylog-server.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2020-09-05 08:50:16 UTC; 15 phút trước Tài liệu: http://docs.graylog.org/ PID chính: 8693 (graylog-server) Nhiệm vụ: 156 (giới hạn: 2353) Bộ nhớ: 865,0M CGroup: /system.slice/graylog-server.service ??8693 /bin/sh /usr/share/graylog-server/bin/graylog-server ??8726 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX>05/09 08:50:16 ubuntu2004 systemd[1]: Đã khởi động máy chủ Graylog.
Bạn cũng có thể xác minh nhật ký máy chủ Graylog bằng lệnh sau:
Mã:
tail -f /var/log/graylog-server/server.log
Sau khi máy chủ Graylog đã được khởi động thành công, bạn sẽ nhận được kết quả đầu ra sau:
Mã:
2020-09-05T08:51:36.473Z THÔNG TIN [ServerBootstrap] Các dịch vụ đã bắt đầu, thời gian khởi động tính bằng ms: {InputSetupService [RUNNING]=59, JobSchedulerService [RUNNING]=105, GracefulShutdownService [RUNNING]=106, OutputSetupService [RUNNING]=110, BufferSynchronizerService [RUNNING]=111, UrlWhitelistService [RUNNING]=153, JournalReader [RUNNING]=166, KafkaJournal [RUNNING]=222, MongoDBProcessingStatusRecorderService [RUNNING]=240, ConfigurationEtagService [RUNNING]=259, EtagService [RUNNING]=302, StreamCacheService [RUNNING]=306, LookupTableService [RUNNING]=376, PeriodicalsService [RUNNING]=655, JerseyService [RUNNING]=58701}2020-09-05T08:51:36.477Z THÔNG TIN [ServerBootstrap] Máy chủ Graylog đang hoạt động.
Lúc này, máy chủ Graylog đã được khởi động và lắng nghe trên cổng 9000.

Cấu hình Nginx làm Proxy ngược cho Graylog​

Tiếp theo, bạn sẽ cần cài đặt và cấu hình Nginx làm proxy ngược để truy cập máy chủ Graylog.

Trước tiên, hãy cài đặt máy chủ Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Sau khi cài đặt máy chủ Nginx, hãy tạo tệp cấu hình máy chủ ảo Nginx mới bằng lệnh sau:
Mã:
nano /etc/nginx/sites-available/graylog.conf
Thêm các dòng sau:
Mã:
server { listen 80; server_name graylog.example.org; location / { proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Graylog-Server-URL http://$server_name/; proxy_pass http://127.0.0.1:9000; }}
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, hãy xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ nhận được kết quả sau:
Mã:
nginx: tệp cấu hình /etc/nginx/nginx.conf syntax is oknginx: tệp cấu hình /etc/nginx/nginx.conf test is successful
Tiếp theo, hãy bật tệp cấu hình máy chủ ảo Nginx bằng lệnh sau:
Mã:
ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
Cuối cùng, hãy khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Tiếp theo, hãy xác minh trạng thái của Graylog bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ nhận được kết quả sau:
Mã:
? nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Sat 2020-09-05 09:07:50 UTC; 20 giây trước Tài liệu: man:nginx(8) Tiến trình: 9408 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Tiến trình: 9419 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 9423 (nginx) Nhiệm vụ: 3 (giới hạn: 2353) Bộ nhớ: 10,2M CGroup: /system.slice/nginx.service ??9423 nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on; ??9424 nginx: tiến trình công nhân ??9425 nginx: tiến trình công nhân05/09 09:07:50 ubuntu2004 systemd[1]: Đang khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...05/09 09:07:50 ubuntu2004 systemd[1]: Đã khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.

Truy cập Giao diện web Graylog​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL http://graylog.example.com. Bạn sẽ được chuyển hướng đến trang đăng nhập Graylog như hiển thị bên dưới:



Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển Graylog ở trang sau:



Bây giờ, hãy nhấp vào Hệ thống >> Tổng quan. Bạn sẽ thấy trạng thái của máy chủ Graylog ở trang sau:


Kết luận​

Xin chúc mừng! bạn đã cài đặt và cấu hình thành công máy chủ Graylog với Nginx làm proxy ngược trên Ubuntu 20.04. Bây giờ bạn có thể khám phá Graylog và tạo đầu vào để nhận nhật ký Rsyslog từ các nguồn bên ngoài. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên