NỘI DUNG

Hướng dẫn cài đặt Graylog 1.x trên CentOS 7

Ngày đăng:24/03/2025
Lượt xem

Đánh giá

5/5 - (141 bình chọn)

Graylog là một công cụ quản lý và phân tích log được dựa trên Elasticsearch, Java và MongoDB cho phép lưu trữ và tìm kiếm log với tốc độ và khả năng mở rộng cao. Mỗi component đóng vai trò quan trọng để đảm bảo việc thu thập và lưu trữ log hiệu quả và tiện lợi. Bài viết sẽ hướng dẫn cài đặt Graylog 1.x trên CentOS 7 chi tiết nhất.

Những điểm chính

  • Giới thiệu về Graylog 1.x: Biết được thông tin tổng quát về Graylog 1.x, một hệ thống quản lý và phân tích log mạnh mẽ.
  • Yêu cầu để cài đặt Graylog 1.x trên CentOS 7: Nắm rõ các yêu cầu tối thiểu về phần cứng và quyền truy cập để cài đặt Graylog.
  • Cài đặt MongoDB: Hướng dẫn chi tiết cách tải, cài đặt và khởi động MongoDB.
  • Cài đặt Java: Hướng dẫn cài đặt Oracle Java 8 hoặc OpenJDK, yêu cầu để Graylog hoạt động chính xác.
  • Cài đặt Elasticsearch: Chỉ dẫn cách thêm nguồn, cài đặt và cấu hình Elasticsearch 1.7.x để tích hợp với Graylog.
  • Cài đặt Graylog Server: Hướng dẫn từng bước cài đặt Graylog Server, tạo mật khẩu admin, và cấu hình các tham số cần thiết.
  • Cài đặt Graylog Web Interface: Hướng dẫn cách cài đặt và cấu hình giao diện web của Graylog để quản lý log.
  • Cấu hình Graylog để nhận syslog messages: Hướng dẫn cách cấu hình Graylog để nhận syslog messages từ các máy chủ khác thông qua UDP.
  • Cấu hình Rsyslog để gửi syslog đến Graylog Server: Cung cấp các bước cấu hình Rsyslog trên các máy chủ client để gửi log đến Graylog.
  • Tìm kiếm và phân tích log trong Graylog: Hướng dẫn cách sử dụng Graylog Web Interface để tìm kiếm và phân tích log.
  • Giới thiệu Vietnix: Biết được Vietnix là nhà cung cấp VPS uy tín, phù hợp để triển khai Graylog và nhiều ứng dụng khác.

Graylog 1.x là gì?

Graylog 1.x (còn được gọi là Graylog2) là một hệ thống quản lý và phân tích log mạnh mẽ, giúp thu thập, xử lý và hiển thị dữ liệu log từ nhiều nguồn khác nhau.

Tìm hiểu Graylog 1.x
Tìm hiểu Graylog 1.x

Graylog hoạt động dựa trên 4 thành phần chính:

  • Graylog Server nodes: Tiếp nhận, xử lý log và giao tiếp với các thành phần khác, phụ thuộc nhiều vào CPU.
  • Elasticsearch nodes: Lưu trữ toàn bộ log/messages, hiệu suất dựa vào RAM và tốc độ đĩa I/O.
  • MongoDB: Lưu trữ metadata, giúp quản lý dữ liệu log hiệu quả.
  • Web Interface: Cung cấp giao diện quản trị trực quan cho người dùng.

Dưới đây sẽ là sơ đồ của các Graylog component (lưu ý rằng các message được gửi từ server khác):

Sơ đồ của các Graylog component
Sơ đồ của các Graylog component

Trong bài viết này sẽ giúp bạn tìm hiểu cách cài đặt Graylog trên CentOS 7 với tất cả các component chạy trên cùng một server. Đối với các hệ thống lớn, nên triển khai các component trên các server riêng biệt để tối ưu hiệu suất.

Yêu cầu để cài đặt Graylog 1.x trên CentOS 7

Để thực hiện bài hướng dẫn này bạn cần đáp ứng những yêu cầu sau:

  • Cần có ít nhất 2GB RAM ở CentOS 7 server của bạn.
  • Đồng thời cần truy cập với tài khoản root hoặc super user.
  • Nếu bạn còn ít hơn 2GB RAM, bạn sẽ không thể sử dụng được tất cả các thành phần.

Nếu bạn chưa có máy chủ đáp ứng yêu cầu trên, Vietnix cung cấp các gói VPS tốc độ cao, phù hợp để triển khai Graylog và nhiều ứng dụng khác. Tại Vietnix, bạn có thể lựa chọn các gói VPS phù hợp với nhu cầu, bao gồm: VPS Giá Rẻ, VPS SSD, VPS NVMe, VPS AMD.

Tất cả các gói VPS tại Vietnix đều hỗ trợ CentOS 7, đảm bảo khả năng tương thích và hiệu suất tối ưu cho việc cài đặt Graylog. Liên hệ Vietnix ngay để được tư vấn.

Cài đặt MongoDB

Việc cài đặt MongoDB trên CentOS 7 rất đơn giản và nhanh chóng. Bạn hãy thực thi lệnh sau để đưa public GPG key từ MongoDB vào rpm:

sudo rpm --import https://www.mongodb.org/static/pgp/server-3.2.asc

Sau đó hãy tạo danh sách MongoDB source:

echo '[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1' | sudo tee /etc/yum.repos.d/mongodb-org-3.2.repo

Tiếp theo, bạn sẽ dùng lệnh dưới đây để cài đặt phiên bản mới nhất của MongoDB:

sudo yum install -y mongodb-org

Bây giờ bạn hãy khởi động MongoDB:

sudo systemctl restart mongod

Sau khi hoàn tất cài đặt MongoDB, tiếp theo bạn sẽ cài đặt Java.

Cài đặt Java

Do cả Elasticsearch và Logstash đều cần Java, nên bạn sẽ cần cài đặt ngay. Elasticsearch khuyến khích bạn nên cài đặt Oracle Java 8 ở phiên bản mới nhất. Tuy nhiên bạn cũng có thể cài đặt OpenJDK vì Java cũng tương thích với phiên bản này. Khi bạn thực hiện theo các bước trong bài hướng dẫn này, thì bạn đã chấp thuận Oracle Binary License Agreement cho JavaSE.

Đi đến thư mục home của bạn và tải RPM JDK Java 8 của Oracle (bản Update 73 là phiên bản mới nhất ở thời điểm của viết bài này) bằng lệnh này:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u73-b02/jdk-8u73-linux-x64.rpm"

Sau đó, sử dụng yum để cài đặt RPM (nếu bạn đã tải xuống một phiên bản khác, hãy thay thế bản đó vào tên tệp ở đây):

sudo yum -y localinstall jdk-8u73-linux-x64.rpm

Bây giờ, Java đã được cài đặt ở /usr/java/jdk1.8.0_73/jre/bin/java, và được liên kết từ /usr/bin/java.

Bạn có thể xóa file lưu trữ mà bạn đã cài đặt trước đó:

rm ~/jdk-8u*-linux-x64.rpm

Tiếp theo, bạn sẽ cài đặt Elasticsearch.

Cài đặt Elasticsearch

Graylog 1.x chỉ hoạt động với các phiên bản Elasticsearch 2.0 trở xuống, do đó chúng ta sẽ cài đặt Elasticsearch 1.7.x. Elasticsearch được cài đặt bằng trình quản lý gói bằng cách thêm danh sách source package của Elastic.

Bạn hãy thực thi lệnh sau để import public GPG key từ  Elasticsearch vào rpm:

sudo rpm --import http://packages.elastic.co/GPG-KEY-elasticsearch

Tạo một file yum repository mới cho Elasticsearch bằng cách:

echo '[elasticsearch-1.7]
name=Elasticsearch repository for 1.7.x packages
baseurl=http://packages.elastic.co/elasticsearch/1.7/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1' | sudo tee /etc/yum.repos.d/elasticsearch.repo

Sau đó, sử dụng lệnh dưới đây để cài đặt Elasticsearch:

sudo yum -y install elasticsearch

Hiện tại, Elasticsearch đã được cài đặt, tiếp theo hãy chỉnh sửa cấu hình như sau:

sudo vi /etc/elasticsearch/elasticsearch.yml

Tìm đến phần hiển thị cluster.name. Sau đó bạn hãy bỏ comment và thay thế bằng giá trị mặc định “graylog-development” như sau:

cluster.name: graylog-development

Nếu bạn muốn hạn chế truy cập từ bên ngoài vào Elasticsearch của mình (port 9200), để người khác không thể đọc dữ liệu của bạn hoặc tắt Elasticsearch cluster thông qua API HTTP. Hãy tìm dòng chứa network.host, bỏ comment và thay giá trị bằng “localhost” như sau:

network.host: localhost

Sau đó hãy lưu và thoát tệp elasticsearch.yml.

Bây giờ bạn hãy khởi động Elasticsearch:

sudo systemctl restart elasticsearch

Thực thi lệnh sau để Elasticsearch khởi động đồng thời với hệ thống:

sudo systemctl enable elasticsearch

Bạn có thể chạy lệnh sau để kiểm tra Elasticsearch có đang hoạt động hay không:

curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

Bây giờ Elaticsearch đã hoạt động, hãy cài đặt Graylog Server.

Cài đặt Graylog Server

Ở bước này, bạn sẽ thực hiện cài đặt server component của Graylog Server, graylog-server.

Đầu tiên, tải gói Graylog RPM bằng lệnh sau:

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-1.3-repository-el7_latest.rpm

Sau đó, thực thi lệnh dưới đây để cài đặt gói graylog-server:

sudo yum -y install graylog-server

Tiếp theo bạn hãy tải pwgen để tạo các password secret keys:

sudo yum -y install epel-release
sudo yum -y install pwgen

Bây giờ, bạn cần cài đặt mật khẩu admin và secret key. Password secret keys được cấu hình thông qua tham số password_secret trong file server.conf. Sau đó, bạn có thể tạo một key ngẫu nhiên và chèn nó vào cấu hình của Graylog bằng hai lệnh sau:

SECRET=$(pwgen -s 96 1)
sudo -E sed -i -e 's/password_secret =.*/password_secret = '$SECRET'/' /etc/graylog/server/server.conf

Mật khẩu admin được chỉ định bằng cách tạo một shasum từ mật khẩu mà bạn muốn đặt, sau đó gán cho root_password_sha2 trong file cấu hình Graylog. Bạn sẽ dùng lệnh dưới đây để tạo shasum, và hãy nhớ thay cụm “password” bằng mật khẩu của bạn. Lệnh sed sẽ chèn giá trị shasum vào file cấu hình Graylog:

PASSWORD=$(echo -n password | sha256sum | awk '{print $1}')
sudo -E sed -i -e 's/root_password_sha2 =.*/root_password_sha2 = '$PASSWORD'/' /etc/graylog/server/server.conf

Hiện tại, mật khẩu admin đã được thiết lập. Tiếp theo, bạn mở file cấu hình Graylog để thực hiện một số thay đổi:

sudo vi /etc/graylog/server/server.conf

Lúc này, hai giá trị của password_secret và root_password_sha2 sẽ là một chuỗi ngẫu nhiên do bạn đã thực thi các lệnh ở trên.

Sau đó, bạn sẽ cấu hình rest_transport_uri, để Graylog web interface (giao diện web Graylog) có thể giao tiếp với server. Tìm và uncomment dòng rest_transport_uri, và thay đổi giá trị thành 127.0.0.1 hoặc localhost vì các component đều cài đặt trên một server:

rest_transport_uri = http://127.0.0.1:12900/

Tiếp theo, đổi giá trị của elasticsearch_shards thành 1, vì bạn chỉ có một Elasticsearch shard đang chạy trên server:

elasticsearch_shards = 1

Kế đó, đổi giá trị của elasticsearch_cluster_name thành “graylog-development” ( giống với Elasticsearch cluster.name):

elasticsearch_cluster_name = graylog-development

Tiến hành uncomment hai dòng sau để tìm kiếm các trường hợp Elasticsearch bằng cách sử dụng unicast thay vì multicast:

elasticsearch_discovery_zen_ping_multicast_enabled = false
elasticsearch_discovery_zen_ping_unicast_hosts = 127.0.0.1:9300

Sau khi hoàn tất, hãy lưu và thoát tệp. graylog-server hiện đã được cấu hình đầy đủ và sẵn sàng để sử dụng.

Chạy dòng lệnh sau để khởi động Graylog server:

sudo systemctl start graylog-server

Sang bước tiếp theo, bạn sẽ cài đặt Graylog web interface.

Cài đặt Graylog Web

Sử dụng lệnh sau để cài đặt Graylog Web:

sudo yum -y install graylog-web

Tiếp theo, bạn sẽ cấu hình secret key của web interface (giao diện web), là tham số application.secret trong file web.conf. Bạn sẽ tạo một secret key khác, như những gì đã làm với cấu hình Graylog server, sau đó dùng sed để chèn vào, như sau:

SECRET=$(pwgen -s 96 1)
sudo -E sed -i -e 's/application\.secret=""/application\.secret="'$SECRET'"/' /etc/graylog/web/web.conf

Bạn hãy mở file cấu hình web interface bằng lệnh dưới đây:

sudo vi /etc/graylog/web/web.conf

Bây giờ, bạn cần cập nhật cấu hình web interface để chỉ định tham số graylog2-server.uris. Đây là danh sách chứa REST URI của server và được cách nhau bởi dấu phẩy. Vì bạn chỉ có một Graylog server node, do đó giá trị của tham số này phải khớp với giá trị của rest_listen_uri trong cấu hình Graylog server (ví dụ: “http://127.0.0.1:12900/”).

graylog2-server.uris="http://127.0.0.1:12900/"

Sau đó, bạn sẽ khởi động web interface của Graylog như sau:

sudo systemctl restart graylog-web

Đến đây, bạn đã hoàn tất việc cài đặt và cấu hình Graylog Web. Hãy cùng sang phần tiếp theo để tìm hiểu về cách sử dụng của Graylog Web Interface.

Cấu hình Graylog để nhận các syslog messages

Đăng nhập vào Graylog Web Interface

Bạn hãy truy cập vào port 9000 của địa chỉ public IP ở server bằng trình duyệt web của mình:

In a web browser:
http://graylog_public_IP:9000/

Màn hình đăng nhập sẽ được hiển thị. Nhập admin vào cả hai trường username và password để có thể đăng nhập vào trang web.

Sau khi đăng nhập thành công, bạn sẽ nhìn thấy giao diện như sau:

Giao diện Graylog
Giao diện Graylog

Chữ số màu trắng nền đỏ ở trên cùng là một thông báo. Nếu click vào số này, bạn sẽ được thông báo rằng bạn có một node mà không có bất kỳ running input (đầu vào đang hoạt động) nào. Vì vậy hãy thêm một input để nhận syslog messages thông qua UDP.

Tạo Syslog UDP Input

Bạn hãy click vào drop-down của System ở phía trên cùng ngay cạnh chữ số ban nãy để thêm input cho việc nhận các syslog messages .

Sau đó, từ bảng menu drop-down này, hãy chọn Inputs.

Tiếp tục chọn Syslog UDP từ menu drop-down kế tiếp và click chuột vào nút Launch new input.

Một màn hình giao diện “Launch a new input: Syslog UDP ” được hiển thị. Nhập vào các thông tin sau (ở mục bind address bạn sẽ điền địa chỉ private IP ở server của bạn):

  • Titlesyslog
  • Port8514
  • Bind addressgraylog_private_IP

Sau đó click vào Launch.

Lúc này bạn sẽ thấy một input có tên là “syslog” trong phần Local inputs (và kèm theo là chữ “running” được đặt trong nền xanh lá ngay bên cạnh), như sau:

Tạo Syslog UDP Input
Tạo Syslog UDP Input

Bây giờ, Graylog serve đã có thể nhận các syslog messages ở port 8514 từ servers của bạn. Sau đây, bạn sẽ cấu hình các server để gửi syslog messages đến Graylog.

Cấu hình Rsyslog để gửi Syslogs đến Graylog Server

Hãy thực hiện các bước sau đây trên tất cả các client servers mà bạn muốn gửi syslog messages đến Graylog.

Tạo file cấu hình rsyslog trong /etc/rsyslog.d. Bạn có thể đặt tên là 90-graylog.conf:

sudo vi /etc/rsyslog.d/90-graylog.conf

Tại file này, thêm các dòng lệnh sau để cấu hình rsylog gửi các syslog messages đến Graylog server(thay đổi graylog_private_IP thành địa chỉ private IP của Graylog server):

$template GRAYLOGRFC5424,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msg%\n"
*.* @graylog_private_IP:8514;GRAYLOGRFC5424

Sau đó lưu và thoát file. Từ bây giờ, file này sẽ được tải vào cấu hình rsyslog. Bạn cần khởi động lại rsyslog để áp dụng các thay đổi vừa rồi của mình.

sudo systemctl restart rsyslog

Sau khi bạn hoàn tất cấu hình rsylog trên tất cả server mà bạn muốn theo dõi, bạn hãy quay lại web interface của Graylog.

Xem các nguồn trong Graylog

Bạn hãy truy cập vào port 9000 của địa chỉ public IP ở server bằng trình duyệt web của mình:

In a web browser:
http://graylog_public_IP:9000/

Click vào mục Sources ở thanh trên cùng. Bạn sẽ thấy danh sách các server mà bạn đã cấu hình rsyslog.

Hostname của các sources (nguồn ) sẽ được hiển thị ở bên trái, còn ở bên phải sẽ là số lượng của messages được nhận bởi Graylog.

Tìm kiếm Graylog Data

Sau khi Graylog nhận các message, bạn có thể tìm kiếm thông qua các message. Ví dụ, khi tìm kiếm “sshd” để xem các hoạt động của SSH đang diễn ra trên server. Dưới đây là kết quả của ví dụ được đề cập như sau:

Tìm kiếm Graylog Data
Tìm kiếm Graylog Data

Từ kết quả trên, bạn có thể thấy các sshd log được hiển thị cho các server khác nhau và các lần đăng nhập root không thành công. Ở kết quả trên thiết bị của bạn có thể hiển thị khác, tuy nhiên việc này có thể giúp bạn trong rất nhiều tình huống, bao gồm cách mà người dùng không xác định cố gắng truy cập trái phép vào server của bạn.

Ngoài chức năng tìm kết trên tất cả các source, bạn cũng có thể tìm kiếm các log của một host cụ thể hoặc ở một khung giờ cụ thể

Việc tìm kiếm data trong Graylog rất hữu ích, chẳng hạn như sau khi sự cố nào đó xảy ra, bạn có thể xem log của một hoặc một số server để kiểm tra. Bạn cũng không cần phải đăng nhập vào nhiều server để xem tất cả các events đã diễn ra vì các thông tin từ log ở các server đều được gửi về một vị trí tập trung để dễ quản lý và phân tích.

Vietnix: Đối tác VPS uy tín cho mọi nhu cầu

Với hơn 12 năm kinh nghiệm trong lĩnh vực cung cấp dịch vụ máy chủ, Vietnix là đối tác tin cậy của hơn 90.000 khách hàng. Chúng tôi cam kết mang đến dịch vụ VPS tốc độ cao, ổn định và bảo mật vượt trội, đáp ứng mọi nhu cầu từ cá nhân đến doanh nghiệp.

  • Tốc độ vượt trội: Hệ thống hạ tầng hiện đại, sử dụng công nghệ tiên tiến giúp tối ưu tốc độ truy xuất dữ liệu, đảm bảo hiệu suất hoạt động tối đa cho ứng dụng và website.
  • Ổn định cao: Vietnix đảm bảo uptime lên đến 99.99%, giúp hệ thống của bạn luôn hoạt động liên tục, không bị gián đoạn.
  • Bảo mật tối ưu: Hệ thống bảo mật đa lớp, có thể thuê thêm dịch vụ Firewall Anti-DDoS độc quyền của Vietnix giúp ngăn chặn hiệu quả các cuộc tấn công DDoS, đảm bảo hệ thống luôn ổn định.
  • Hỗ trợ 24/7: Đội ngũ kỹ thuật viên giàu kinh nghiệm của Vietnix luôn sẵn sàng hỗ trợ bạn 24/7 qua nhiều kênh liên lạc khác nhau, giải đáp mọi thắc mắc và xử lý sự cố nhanh chóng.

Chọn Vietnix, chọn sự an tâm và hiệu quả cho hệ thống của bạn!

Thông tin liên hệ:

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Website: https://vietnix.vn/ 

Qua bài viết này, bạn đã được hướng dẫn cài đặt Graylog 1.x trên CentOS 7 để thu thập và quản lý log hệ thống một cách hiệu quả. Việc triển khai Graylog giúp bạn giám sát hệ thống tốt hơn, phát hiện sớm các sự cố và nâng cao hiệu suất hoạt động. Chúc bạn thành công!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

Thất vọng

Chưa hữu ích

Bình thường

Hữu ích

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Icon tab

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

Vector

PHẦN CỨNG MẠNH MẼ

Vector

HỖ TRỢ 24/7

Vector
ĐĂNG KÝ NGAYGroup icon
khuyến mãi 30 tháng 4
Khi mua Hosting/VPS
16/04/2025 - 16/05/2025
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

Thất vọng

Chưa hữu ích

Bình thường

Hữu ích

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG