Cách cài đặt Graylog 4 trên Ubuntu 22.04

theanh

Administrator
Nhân viên
Graylog là một công cụ giám sát nhật ký miễn phí và mã nguồn mở được sử dụng để thu thập, lưu trữ và cho phép phân tích thời gian thực hàng terabyte dữ liệu máy. Công cụ này được thiết kế cho phân tích nhật ký hiện đại, cho phép người dùng nhanh chóng và dễ dàng tìm ra ý nghĩa trong dữ liệu và thực hiện hành động nhanh hơn. Công cụ này cũng cung cấp các cảnh báo và hệ thống tìm kiếm lịch sử nhật ký bằng cách sử dụng ElasticSearch làm cơ sở dữ liệu chỉ mục chính và MongoDB để lưu trữ thông tin siêu dữ liệu. Công cụ này giúp bạn giám sát, tìm kiếm và phân tích một lượng lớn dữ liệu theo định dạng đơn giản, dễ đọc.

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

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

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

Bắt đầu​

Trước 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 update -y
apt upgrade
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 trên 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 install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y
Sau khi cài đặt tất cả các phụ thuộc cần thiết, bạn có thể tiến hành bước tiếp theo.

Cài đặt Java JDK​

Graylog yêu cầu phải cài đặt Java trên 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 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.16" 2022-07-19Môi trường chạy thời gian OpenJDK (bản dựng 11.0.16+8-post-Ubuntu-0ubuntu122.04)Máy ảo máy chủ OpenJDK 64-Bit (bản dựng 11.0.16+8-post-Ubuntu-0ubuntu122.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ừ các 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, gói Elasticsearch không có sẵn 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-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.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 update -y
apt 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 dịch vụ này khởi động cùng lúc với 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ừ CN 2022-09-25 07:05:27 UTC; 21 giây trước Tài liệu: https://www.elastic.co PID chính: 74226 (java) Nhiệm vụ: 48 (giới hạn: 4579) Bộ nhớ: 1,2G CPU: 22,739 giây CGroup: /system.slice/elasticsearch.service ??74226 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.t>25/9 07:05:11 ubuntu2204 systemd[1]: Đang khởi động Elasticsearch...25/9 07:05:27 ubuntu2204 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": "ubuntu2204", "cluster_name": "graylog", "cluster_uuid": "6IWBEBx_THa2Gzqb7a1LTQ", "version": { "number": "7.10.2", "build_flavor": "oss", "build_type": "deb", "build_hash": "747e1cc71def077253878a59143c1f785afa92b9", "build_date": "2021-01-13T00:42:12.435326Z", "build_snapshot": false, "lucene_version": "8.7.0", "minimum_wire_compatibility_version": "6.8.0", "minimum_index_compatibility_version": "6.0.0-beta1" }, "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. Theo mặc định, gói MongoDB không được bao gồm 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ữ chính thức của MongoDB vào hệ thống của mình:

Bạn có thể thêm nó bằng lệnh sau:
Mã:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Sau khi kho lưu trữ được thêm vào, hãy cập nhật bộ đệm kho lưu trữ và cài đặt Graylog bằng lệnh sau:
Mã:
apt update -y
apt install -y mongodb-org
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 enable --now mongod
Bạn cũng có thể kiểm tra trạng thái MongoDB bằng lệnh sau:
Mã:
systemctl status mongod
Bạn sẽ thấy trạng thái MongoDB trong đầu ra sau:
Mã:
? mongod.service - MongoDB Database Server Đã tải: đã tải (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2022-09-25 07:20:35 UTC; 8 giây trước Tài liệu: https://docs.mongodb.org/manual PID chính: 77018 (mongod) Bộ nhớ: 60,0M CPU: 936ms CGroup: /system.slice/mongod.service ??77018 /usr/bin/mongod --config /etc/mongod.conf25 tháng 9 07:20:35 ubuntu2204 systemd[1]: Đã khởi động Máy chủ cơ sở dữ liệu 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-4.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-4.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 update -y
apt 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ã:
d1fDH1NEOMgb3nxbFYY3eVpqzjOprwgPgFuGh2F0flDdZglJP2CxENV4WEeW8iqZXsjDEZgMob3oBvQYm62RXxoc33hKTPJa
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 "Nhập mật khẩu: " && head -1
Bạn sẽ thấy kết quả sau:
Mã:
Nhập mật khẩu: yourpassworde472e1436cbe87774c1bc75d0a646d67e506bea1dff8701fd41f34bca33e1419
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 = e472e1436cbe87774c1bc75d0a646d67e506bea1dff8701fd41f34bca33e1419
Tiếp theo, bạn cũng sẽ cần phải xác định máy chủ của mình một địa chỉ liên kết 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 nó 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ừ CN 2022-09-25 07:25:13 UTC; 10 giây trước Tài liệu: http://docs.graylog.org/ PID chính: 78082 (graylog-server) Nhiệm vụ: 44 (giới hạn: 4579) Bộ nhớ: 539,4M CPU: 18,488 giây CGroup: /system.slice/graylog-server.service ??78082 /bin/sh /usr/share/graylog-server/bin/graylog-server ??78119 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:-OmitStackTraceInFastThrow -Djdk.tls.acknowledgeC>25 tháng 9 07:25:13 ubuntu2204 systemd[1]: Đã khởi động máy chủ Graylog.25/09 07:25:13 ubuntu2204 graylog-server[78119]: Cảnh báo VM máy chủ OpenJDK 64-Bit: Tùy chọn UseConcMarkSweepGC đã bị loại bỏ trong phiên bản 9.0 a>25/09 07:25:14 ubuntu2204 graylog-server[78119]: CẢNH BÁO: sun.reflect.Reflection.getCallerClass không được hỗ trợ. Điều này sẽ ảnh hưởng đến hiệu suất>25/09 07:25:17 ubuntu2204 graylog-server[78119]: CẢNH BÁO: Đã xảy ra hoạt động truy cập phản chiếu bất hợp pháp25/09 07:25:17 ubuntu2204 graylog-server[78119]: CẢNH BÁO: Truy cập phản chiếu bất hợp pháp của retrofit2.Platform (tệp:/usr/share/graylog-server/gr>25/09 07:25:17 ubuntu2204 graylog-server[78119]: CẢNH BÁO: Vui lòng cân nhắc báo cáo sự cố này cho người bảo trì retrofit2.Platform25/09 07:25:17 ubuntu2204 graylog-server[78119]: CẢNH BÁO: Sử dụng --illegal-access=warn để bật cảnh báo về truy cập phản chiếu bất hợp pháp tiếp theo >25/09 07:25:17 ubuntu2204 graylog-server[78119]: CẢNH BÁO: Tất cả các hoạt động truy cập bất hợp pháp sẽ bị từ chối trong bản phát hành trong tương lai
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 đầu ra sau:
Mã:
2022-09-25T07:25:40.117Z INFO [ServerBootstrap] Các dịch vụ đã bắt đầu, thời gian khởi động tính bằng ms: {FailureHandlingService [RUNNING]=73, GeoIpDbFileChangeMonitorService [RUNNING]=88, PrometheusExporter [RUNNING]=88, OutputSetupService [RUNNING]=89, JobSchedulerService [RUNNING]=89, InputSetupService [RUNNING]=90, BufferSynchronizerService [CHẠY]=91, LocalKafkaMessageQueueReader [CHẠY]=92, LocalKafkaMessageQueueWriter [CHẠY]=92, GracefulShutdownService [CHẠY]=93, MongoDBProcessingStatusRecorderService [CHẠY]=93, UserSessionTerminationService [CHẠY]=101, StreamCacheService [CHẠY]=133, LocalKafkaJournal [CHẠY]=134, UrlWhitelistService [CHẠY]=134, ConfigurationEtagService [CHẠY]=137, EtagService [CHẠY]=139, PeriodicalsService [CHẠY]=174, LookupTableService [CHẠY]=203, JerseyService [CHẠY]=4076}2022-09-25T07:25:40.133Z 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à đang lắng nghe trên cổng 9000. Bạn có thể kiểm tra bằng lệnh sau:
Mã:
ss -antpl | grep 9000
Bạn sẽ nhận được kết quả sau:
Mã:
LISTEN 0 4096 [::ffff:127.0.0.1]:9000 *:* users:(("java",pid=78119,fd=56))

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ên cổng 80.

Đầu tiên, cài đặt máy chủ Nginx bằng lệnh sau:
Mã:
apt 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://208.117.84.72: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 cú pháp là oknginx: tệp cấu hình /etc/nginx/nginx.conf thử nghiệm thành công
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/
Tiếp theo, hãy xóa tệp máy chủ ảo mặc định của Nginx:
Mã:
rm -rf /etc/nginx/sites-enabled/default
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ả đầu ra sau:
Mã:
? nginx.service - Một máy chủ web hiệu suất cao và một 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ừ CN 2022-09-25 07:30:45 UTC; 8 giây trước Tài liệu: man:nginx(8) Tiến trình: 78980 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Tiến trình: 78981 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 78982 (nginx) Nhiệm vụ: 3 (giới hạn: 4579) Bộ nhớ: 3,3M CPU: 49ms CGroup: /system.slice/nginx.service ??78982 "nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on;" ??78983 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" 25/09 07:30:45 ubuntu2204 systemd[1]: Bắt đầu Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...25/09 07:30:45 ubuntu2204 systemd[1]: Bắt đầu Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.

Truy cập Graylog Web Giao diện​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL 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, mật khẩu quản trị viên của bạn và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển Graylog trên trang sau:


Kết luận​

Xin chúc mừng! Bạn đã cài đặt và định cấu hình thành công máy chủ Graylog với Nginx làm proxy ngược trên Ubuntu 22.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