Chào mọi người.
Hôm nay mình sẽ hướng dẫn mọi người cài đặt Graylog Server trên CentOS 7.
Contents
Giới Thiệu.
Graylog là một nền tảng mã nguồn mở được dùng để quản lý, thu nhập, lưu trữ, phân tích log từ nhiều nguồn khác nhau với các tính năng mạnh mẽ, hỗ trợ Web Interface.
Graylog Server về cơ bản là sử kết hợp sử dụng của MongoDB, Elasicsearch, Graylog.
Cài Đặt.
Chuẩn Bị.
Để cài đặt Graylog Server thì mọi người chuẩn bị giúp mình giúp mình :
- Một VPS/Server sử dụng CentOS 7.
- Tài khoản Root hoặc tài khoản có quyền Sudo.
Cài Đặt Các Gói Cần Thiết.
Đầu tiên ta để cài đặt các Service cần thiết cho Graylog ta cần cài đặt epel-repo, Java, pwgen và wget bằng 2 câu lệnh sau.
yum -y install epel-release
yum -y install wget java-1.8.0-openjdk-headless.x86_64
Cài Đặt Elasticsearch.
Elasticsearch là một phần quan trọng của Graylog, Elasticsearch sẽ tiến hành chứa data từ Gralog và hiển thị data trên giao diện web khi có yêu cầu của người dùng.
Để cài đặt Elasticsearch ta cần tạo file repo cho Elasticsearch bằng câu lệnh với nội dung sau:
vi /etc/yum.repos.d/elasticsearch.repo
Nội dung file elasticsearch.repo sẽ như sau.
[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
Sau khi đã tiến hành tạo file repo, bước tiếp theo là sử dụng “yum” để cài đặt Elasticsearch.
yum -y install elasticsearch
Đến đây Elasticsearch đã được cài đặt xong, sau đó cấu hình kết nối giữa Elasticsearch và Graylog.
vi /etc/elasticsearch/elasticsearch.yml
Chỉnh lại “cluster.name” thành ” graylog ” rồi tiến hành lưu.
Như vậy là Elasticsearch đã được cài đặt và cấu hình, ta tiến hành khởi động Elasticsearch.
systemctl daemon-reload
systemctl enable elasticsearch
systemctl restart elasticsearch
Elasticsearch sẽ cần một chút thời gian để hoàn tất việc khởi động, để kiểm tra Elasticsearch đã hoạt động và cấu hình chính xác chưa ta sẽ sử dụng 2 câu lệnh curl sau :
curl -XGET http://localhost:9200
curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
Cài Đặt MongoDB.
Đầu tiên, ta tạo file repo cho MongoDB:
vi /etc/yum.repos.d/mongodb-org.repo
Nội dung file mongodb-org.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
Tiếp theo ta cài đặt MongoDB với “yum”.
yum install -y mongodb-org
Sau đó tiến hành khởi động MongoDB.
systemctl start mongod
systemctl enable mongod
Như vậy là MongoDB đã được cài đặt trên VPS/Server.
Cài Đặt GrayLog.
Ở bài viết này mình sẽ tiến hành cài đặt Graylog 3.2, đây là phiên bản mới nhất tính tới hiện tại.
Download Repo và tiến hành cài đặt Greylog.
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.rpm
yum -y install graylog-server
Tiếp theo ta sẽ cần tạo mật khẩu bí mật bằng “pwgen” và mật khẩu tài khoản Root với “SHA256SUM”.
pwgen -N 1 -s 96
echo -n mat_khau_ban_chon | sha256sum
Sau đó ta sửa lại 2 dòng cấu hình “password_secret” và “root_password_sha2” tại file cấu hình của Graylog với 2 mật khẩu vừa tạo ở trên.
vi /etc/graylog/server/server.conf
Ngoài ra để có thể truy cập vào giao diện web của Graylog ta cũng cần cấu hình như sau để Graylog hoạt động trên Port 9000.
Cuối cùng tiến hành khởi động Graylog.
systemctl daemon-reload
systemctl enable graylog-server
systemctl restart graylog-server
Mọi người có thể sử dụng câu lệnh sau để kiểm tra xem Graylog có hoạt động hay không.
grep "ServerBootstrap" /var/log/graylog-server/server.log
Cài Đặt Nginx.
Ở trên ta đã cấu hình Graylog hoạt động trên Port 9000. Tuy nhiên để truy cập được trình duyệt thì ta sẽ cần cài đặt Nginx để làm Proxy.
Cài đặt Nginx.
yum -y install nginx
Tiếp theo sẽ tiến hành tạo VirtualHost cho Graylog, ở đây website của mình là “graylog.dtthanh.com”.
vi /etc/nginx/conf.d/graylog.dtthanh.com.conf
Nội dung của file config sẽ như sau:
server
{
listen 80;
server_name graylog.dtthanh.com;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;
}
}
Sau đó tiến hành khởi động Nginx và truy cập thử vào GrayLog.
systemctl restart nginx
Sử dụng mật khẩu đã tạo từ trước bằng SHA256SUM để truy cập vào Graylog.
Như vậy là mình đã chia sẻ xong cách cài đặt Graylog trên CentOS theo kinh nghiệm của mình, cảm ơn mọi người đã theo dõi hết bài viêt.
Tài Liệu Tham Khảo.
https://docs.graylog.org/en/3.2/pages/installation/os/centos.html
https://docs.graylog.org/en/3.2/pages/configuration/web_interface.html#configuring-webif
systemctl khởi động lại nginx