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