Syslog - Quản lý log server tập trung với Graylog - Phần 1


Tôi đã quản lý Log server như thế nào ?  Tôi biết đến Elasticsearch từ khá lâu, từ cái thời một đám 4 thằng bạn mê code ngồi với nhau nói về vấn đề công nghệ. Tôi biết đến Elasticsearch từ đó trong sự mơ hồ mườn tượng.

Tôi đã nghe được sức mạnh Elasticsearch từ những người bạn và ấn định tâm trí mình rằng một khi nào đó mình sẽ dùng nó phục vụ vào cái gì mình cần. Và thời gian ấy trôi qua tôi không biết mình vận dụng nó để làm gì vào những dự án mình làm.

Có nhiều người advise tôi những ứng dụng quản lý log cho server, tôi nghiên cứu rất nhiều, lab cũng có nhưng suy nghĩ tôi đã ám ảnh bởi Elasticsearch nên khi tôi biết hai open source quản lý log là ELK TaskGrayLog dùng Elasticsearch thì tôi đã focus nhiều vào nó.

Tôi đã chọn GrayLog vào việc quản lý log của mình trước và hẹn ngày đầu tư thời gian lâu dài vào ELK Task.

Quản lý log server tập trung với Graylog

Chuẩn bị những gì để cài  cài Graylog :

Tôi chạy trên máy ảo với cấu hình sau :

OS: Centos 7
VM Version : 11
CPU: 8 vCPU
Memory : 16384 MB
Disk storage : 100GB


Quản lý log server tập trung với Graylog

Nói chung đồ nghề ở trên đã đủ sài, tôi chọn cấu hình trên cho gần 100 server và cảm nhận của tôi là trơn tru. (Cá nhân cảm nhận khi dùng)

Sau khi setup centos 7 xong tôi được như sau :

Hướng dẫn cài đặt Centos 7

Ok bắt đầu cài thôi :)

-Đăng nhập vào trang document Grylog để lấy thông tin (Bí kiếp võ công nằm ở đây):

http://docs.graylog.org/en/2.4/pages/installation/os/centos.html

"Phàm việc cấu hình phần mềm trong thiên hạ, document của họ chỉ sao cứ làm i chang sẽ chạy :) "

Tiên quyết đầu tiên để chạy Graylog cần cài Java đầu tiên

http://docs.graylog.org/en/2.4/pages/installation/os/centos.html

Hướng dẫn cài đặt Centos 7


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

Hướng dẫn cài đặt GrayLog để quản lý log


Nếu có yêu cầu Yes/No gì thì cứ chọn Y để Yes

Hướng dẫn cài đặt GrayLog để quản lý log


Như theo thứ tự của document hướng dẫn cài theo từng bước : MongoDB(Lưu log), Elasticsearch((Dùng để search log)thằng này hiếp dâm tinh thần bao lâu :) ) Graylog(Dùng để quản lý log)

MongoDB : Để cài được MogoDB thì cần phải thêm repository của nó vào để tải

vi /etc/yum.repos.d/mongodb-org-3.6.repo

Để thêm vào cần mở yum repos lên để thêm vào, mặc định Centos đã có sẵn Yum

Hướng dẫn cài đặt GrayLog để quản lý log

Note : Bên trong Yum cơ bản thì chỉ có repos liên quan tới OS Centos ta cần phải thêm .repos của MogoDB vào

Hướng dẫn cài đặt GrayLog để quản lý log


Ta tiến hành thêm những dòng sau vào file

[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

Hướng dẫn cài đặt GrayLog để quản lý log

Lưu lại các link Repository trên xong vào .repos và tiến hành cài đặt bằng lệnh sau :

sudo yum install -y mongodb-org

Hướng dẫn cài đặt GrayLog để quản lý log

Cuối cùng chạy các lệnh sau để khởi tạo và chạy MogoDB

$ sudo chkconfig --add mongod
$ sudo systemctl daemon-reload
$ sudo systemctl enable mongod.service
$ sudo systemctl start mongod.service

Thêm repo thư viện của Elasticsearch


Elasticsearch : 

Thêm repo thư viện của Elasticsearch trước khi cài đặt


vi /etc/yum.repos.d/elasticsearch.repo

Thêm repo thư viện của Elasticsearch

Sau khi thêm repo xong tiến hành cài đặt

sudo yum install elasticsearch

Quá trình cài có yêu cầu Yes/No thì chọn Y để cài đặt

Thêm repo thư viện của Elasticsearch

Tiếp theo sửa tên Cluster Name của GrayLog

vi /etc/elasticsearch/elasticsearch.yml

Hướng dẫn cấu hình graylog


Bỏ dấu # và sửa lại Cluster Name yêu cầu, thường mặc định cứ để GrayLog

Hướng dẫn cấu hình graylog

Cuối cùng là chạy các service của Elasticsearch


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

Hướng dẫn cài Elasticsearch

Graylog : Cuối cùng là cài Graylog và chạy từng bước 2 dòng lệnh sau để cài đặt

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

Hướng dẫn cài Elasticsearch

sudo yum install graylog-server

Quá trình cài nếu yêu cầu Yes/No thì cứ chọn Y để cài

Hướng dẫn cài Elasticsearch


Quá trình cài này hơi lâu, nên chờ đợi để hệ thống cài đặt

Hướng dẫn cài Elasticsearch

Trước khi cấu hình Graylog cần chuẩn bị trước 2 thứ quan trọng
-root_password_sha2 : Password đăng nhập

echo -n yourpassword | sha256sum : copy lại password này, yourpassword là pass đăng nhập sau này 

Hướng dẫn cài Elasticsearch

-password_secret : Password bí mật

pwgen -N 1 -s 96

Hướng dẫn cài Elasticsearch


Chú ý :  Trên Centos cần phải cài pwgen trước khi tạo mã

sudo yum install epel-release -y

Graylog là gì

sudo yum install pwgen -y

Graylog là gì

Sau khi cài đặt hoàn tất, bắt đầu tiến hành config cho Graylog

vi /etc/graylog/server/server.conf

Hướng dẫn quản lý log tập trung bằng GrayLog


Ta sẽ config một số nơi quan trọng file server.conf là xong

Thêm password_secret :

Hướng dẫn quản lý log tập trung bằng GrayLog

Thêm Password đăng nhập default : 

Hướng dẫn quản lý log tập trung bằng GrayLog

Nhập Time Zone cho phù hợp

Hướng dẫn quản lý log tập trung bằng GrayLog

Phần API này khá quan trọng , có thể để API chạy 1 port riêng, có thể cho chạy chung port 9000, ở đây sẽ để chạy chung port với GrayLog là 9000 : http://ip:9000/api/


Hướng dẫn cấu hình API GayLog

Tương tự bỏ dấu # và thêm vào IP connect web của graylog : http://ip:9000

Hướng dẫn cấu hình API GayLog

Còn nhiều cái config, đây là config cơ bản nhất đã hoàn thành, mọi thứ tương đối ok rồi, nhưng muốn chạy lên web là một vấn đề khác, phần tiếp theo sẽ nói rõ về vấn đề này




Nhãn: