Syslog - Quản lý log server tập trung với Graylog - Phần 1
Thứ Sáu, 10 tháng 8, 2018
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 Task và GrayLog 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.

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

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 :

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

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

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

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

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

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

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

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

Elasticsearch :
Thêm repo thư viện của Elasticsearch trước khi cài đặt
vi /etc/yum.repos.d/elasticsearch.repo

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

Tiếp theo sửa tên Cluster Name của GrayLog
vi /etc/elasticsearch/elasticsearch.yml

Bỏ dấu # và sửa lại Cluster Name yêu cầu, thường mặc định cứ để 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

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

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

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

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

-password_secret : Password bí mật
pwgen -N 1 -s 96

Chú ý : Trên Centos cần phải cài pwgen trước khi tạo mã
sudo yum install epel-release -y

sudo yum install pwgen -y

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

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

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

Nhập Time Zone cho phù hợp

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/

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

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: Syslog Server Monitoring