Tin tức, hướng dẫn và chia sẻ về công nghệ

Hướng dẫn cài đặt graylog2.5 trên CentOS7

Logo của Graylog

Graylog là một ứng dụng thu thập log tập trung, nó hỗ trợ rất nhiều giao thức để thu thập log. Đặc biệt là nó hỗ trợ thư viện để các lập trình viên có thể tích hợp vào mã nguồn nhằm phục vụ cho việc thu thập log.

Trong bài viết này, tôi sẽ hướng dẫn bạn triển khai graylog để thu thập log của các file log cơ bản như log về SSH, httpd … trên hệ điều hành CentOS7.

Môi trường

  • CentOS7
  • Graylog 2.5

Mô hình

Mô hình triển khai Graylog Server để thu thập log của các máy Linux

Cài đặt

Cài đặt các gói bổ trợ

Login vào máy Graylog Server và cài đặt các gói sau

yum install -y epel-release
yum update -y
yum install -y git wget curl byobu
yum install -y pwgen

Thiết lập IP

Thiết lập IP cho máy chủ Graylog

echo "Setup IP  eth0"
nmcli con modify eth0 ipv4.addresses 192.168.70.112/24
nmcli con modify eth0 ipv4.gateway 192.168.70.1
nmcli con modify eth0 ipv4.dns 8.8.8.8
nmcli con modify eth0 ipv4.method manual
nmcli con modify eth0 connection.autoconnect yes

sudo systemctl disable firewalld
sudo systemctl stop firewalld
sudo systemctl disable NetworkManager
sudo systemctl stop NetworkManager
sudo systemctl enable network
sudo systemctl start network

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

hostnamectl set-hostname nhgraylog01

echo "192.168.70.112    nhgraylog01" >> /etc/hosts

init 6

Sau khi máy khởi động lại bạn cần đăng nhập với tài khoản root để thực hiện các bước cài đặt tiếp theo.

Cài đặt NTP

Cài đặt NTP cho máy Graylog Server, đây là bước khá quan trọng vì nó sẽ quyết định hiển thị thời gian của log nhận được.

Cài đặt Java

Cài đặt java 1.8.0

sudo yum install -y java-1.8.0-openjdk-headless.x86_64

Cài đặt MongoDB

Khai báo repo để cài MongoDB

cat <<EOF> /etc/yum.repos.d/mongodb-org-3.6.repo
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
EOF

Update sau khi khai báo repo

yum update -y

Cài đặt MongoDB

sudo yum install -y mongodb-org

Khởi động MongoDB

sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl start mongod.service

Kiểm tra lại mongodb

sudo systemctl status mongod.service

Cài đặt elasticsearch

Khai báo repo cho elasticsearch

 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
cat <<EOF> /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

Cài đặt elasticsearch

yum install -y elasticsearch

Sửa file cấu hình của eleasticseach

cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak

sed -i 's/#cluster.name: my-application/cluster.name: graylog/'g /etc/elasticsearch/elasticsearch.yml

Khởi động elasticseach

chkconfig --add elasticsearch
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl restart elasticsearch.service

Kiểm tra trạng thái của elasticsearch

systemctl status elasticsearch.service

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

Khai báo repo cho graylog, trong hướng dẫn này sử dụng bản graylog 2.5

rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.5-repository_latest.rpm

yum install -y graylog-server

Sao lưu file cấu hình của graylog  trước khi tiến hành cấu hình.

cp /etc/graylog/server/server.conf /etc/graylog/server/server.conf.bak

Tạo chuỗi hash cho mật khẩu mà bạn muốn sử dụng

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

Nhập vào mật khẩu và nhận về kết quả mã hash của mật khẩu đó

 Enter Password: congty2019@bac9e3617b6d006286ff26e7ec567a64f4443491b648142d6939343f2549688b

Lưu ý:

Đây là mật khẩu để truy cập vào graylog sau khi cài đặt xong. Ghi lại để bước đăng nhập sẽ sử dụng tới. 

Dùng chuỗi được sinh ra ở bước trên để cấu hình tham số root_password_sha2 trong file cấu hình của graylog

sed -i 's|root_password_sha2 =|root_password_sha2 = bac9e3617b6d006286ff26e7ec567a64f4443491b648142d6939343f2549688b|g' /etc/graylog/server/server.conf

Dùng lệnh dưới để sửa dòng password_secret. Lưu ý dùng chuỗi sinh ra trong bước hash mật khẩu ở trên

pass_secret=$(pwgen -s 96)
sed -i -e 's|password_secret =|password_secret = '$pass_secret'|' /etc/graylog/server/server.conf

Sửa dòng  rest_listen_uri = http://127.0.0.1:9000/api/ thành giá trị mới là rest_listen_uri = http://192.168.70.112:9000/api/ . Trong đó IP 192.168.70.112 là địa chỉ của máy chủ cài đặt graylog

sed -i -e 's|rest_listen_uri = http://127.0.0.1:9000/api/|rest_listen_uri = http://192.168.70.112:9000/api/|' /etc/graylog/server/server.conf

Sửa dòng #web_listen_uri = http://127.0.0.1:9000/ thành dòng web_listen_uri = http://192.168.70.112:9000/ 

sed -i -e 's|#web_listen_uri = http://127.0.0.1:9000/|web_listen_uri = http://192.168.70.112:9000/|' /etc/graylog/server/server.conf 

Sửa dòng #root_timezone = UTC thành dòng root_timezone = Asia/Ho_Chi_Minh

sed -i 's|#root_timezone = UTC|root_timezone = Asia/Ho_Chi_Minh|' /etc/graylog/server/server.conf

Kích hoạt graylog khởi động cùng hệ điều hành

chkconfig --add graylog-server
systemctl daemon-reload
systemctl enable graylog-server.service
systemctl start graylog-server.service

Kiểm tra trạng thái của graylog sau khi khởi động

systemctl status graylog-server.service

Sau khi cài đặt xong, truy cập web với URL http://192.168.70.112:9000 và nhập tài khoản admin, mật khẩu ở bước phía trên 

Cài đặt graylog sidecar

Thực hiện cài đặt graylog sidecar trên máy client có hệ điều hành là CentOS 7.5, backend thu thập log là BEAT (Filebeat)

Tài gói cài đặt graylog sidecar

yum install wget -y

wget https://github.com/Graylog2/collector-sidecar/releases/download/0.1.8/collector-sidecar-0.1.8-1.x86_64.rpm

Cài đặt gói rpm vừa tải về ở trên

rpm -i collector-sidecar-0.1.8-1.x86_64.rpm

Sửa file /etc/graylog/collector-sidecar/collector_sidecar.yml

sed -i 's|http://127.0.0.1:9000/api/|http://192.168.70.112:9000/api/|g' /etc/graylog/collector-sidecar/collector_sidecar.yml

Thêm dòng node_id giống như trong:  http://paste.openstack.org/show/749083/

Kích hoạt graylog sidecar vừa cài ở trên

graylog-collector-sidecar -service install

systemctl start collector-sidecar

Kiểm tra trạng thái của graylog sidecar sau khi cài xong

systemctl status collector-sidecar

2 Comments

  1. Thao Nguyen Van

    Bài viết rất hay và chi tiết. Cảm ơn tác giả!

    • Công

      Ok bạn, ủng hộ blog nhé.

Leave a Reply

Your email address will not be published. Required fields are marked *