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.
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:
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.
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:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
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:
Tiếp theo, hãy thêm kho lưu trữ Elasticsearch bằng lệnh sau:
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt Elasticsearch bằng lệnh sau:
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:
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:
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:
Bạn cũng có thể xác minh trạng thái của dịch vụ Elasticsearch bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Bây giờ, hãy xác minh phản hồi của Elasticcsearch bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
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:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bạn có thể tải xuống gói kho lưu trữ Graylog bằng lệnh sau:
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:
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:
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:
Bạn sẽ thấy kết quả sau:
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:
Bạn sẽ thấy kết quả sau:
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:
Dán cả hai mật khẩu mà bạn đã tạo ở trên như hiển thị bên dưới:
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:
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:
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:
Bạn sẽ thấy đầu ra sau:
Bạn cũng có thể xác minh nhật ký máy chủ Graylog bằng lệnh sau:
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:
Lúc này, máy chủ Graylog đã được khởi động và lắng nghe trên cổng 9000.
Trước tiên, hãy cài đặt máy chủ Nginx bằng lệnh sau:
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:
Thêm các dòng sau:
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:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, hãy bật tệp cấu hình máy chủ ảo Nginx bằng lệnh sau:
Cuối cùng, hãy khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Tiếp theo, hãy xác minh trạng thái của Graylog bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
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:
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
Mã:
apt-get install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y
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
Mã:
java -version
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ẻ)
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 -
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
Mã:
apt-get update -y
apt-get install elasticsearch-oss -y
Mã:
nano /etc/elasticsearch/elasticsearch.yml
Mã:
cluster.name: graylogaction.auto_create_index: false
Mã:
systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch
Mã:
systemctl status elasticsearch
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.
Mã:
curl -X GET http://localhost:9200
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
Mã:
systemctl start mongodb
systemctl enable mongodb
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
Mã:
dpkg -i graylog-3.3-repository_latest.deb
Mã:
apt-get update -y
apt-get install graylog-server -y
Mã:
pwgen -N 1 -s 96
Mã:
Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c
Mã:
echo -n password | sha256sum
Mã:
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 -
Mã:
nano /etc/graylog/server/server.conf
Mã:
password_secret = Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3croot_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Mã:
http_bind_address = 127.0.0.1:9000
Mã:
systemctl daemon-reload
systemctl start graylog-server
systemctl enable graylog-server
Mã:
systemctl status graylog-server
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.
Mã:
tail -f /var/log/graylog-server/server.log
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.
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
Mã:
nano /etc/nginx/sites-available/graylog.conf
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; }}
Mã:
nginx -t
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
Mã:
ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
Mã:
systemctl restart nginx
Mã:
systemctl status nginx
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: