Như đã tìm hiểu về ELK Stack ở bài trước (xem lại) hôm nay TEL4VN sẽ hướng dẫn các bạn cách cài đặt ELK Stack trên CentOS 7.
Bài viết hướng dẫn cài đặt ELK Stack trên CentOS 7 với các thông số cài đặt như sau:
- CentOS 7
- JAVA version 1.8.0_222
- Elasticsearch version 7
Các bước cài đặt ELK Stack trên CentOS 7 như sau: #
Cập nhật server và cài một số gói cần thiết:
yum update -y && yum install -y vim wget curl
1. Disabled SELinux #
Kiểm tra trạng thái:
sestatus
Nếu SELinux đang enable thì tắt như sau:
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
Và sau đó reboot server.
2. Cài đặt Java #
yum -y install java-openjdk-devel java-openjdk
Sau khi cài đặt xong, kiểm tra version bằng lệnh:
java -version
[root@centos7 ~]# java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
3. Cài đặt và cấu hình Elasticsearch #
Cài đặt public key
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Thêm repo Elasticsearch version 7 để cài đặt
vim /etc/yum.repos.d/elasticsearch.repo
Thêm đoạn này vào:
[elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Cài đặt Elaticsearch bằng lệnh sau:
yum clean all && yum makecache && yum -y install elasticsearch
Sau khi cài đặt xong, kiểm tra version bằng lệnh:
rpm -qi elasticsearch
Thiết lập dung lượng RAM để chạy Elasticsearch
vim /etc/elasticsearch/jvm.options
Cấu hình lại 2 tham số sau:
-Xms256M -Xmx512M
Với máy ảo hiện tại có 1GB Ram nên set 2 thông số trên, nếu server có nhiều ram hơn thì có thể tăng lên để chạy mượt mà hơn. Với môi trường test thì như vậy là ổn rồi.
Bật khởi động khi start server
systemctl enable elasticsearch.service
Khởi động Elasticsearch
systemctl start elasticsearch
Kiểm tra trạng thái Elasticsearch
systemctl status elasticsearch
Kiểm tra Elasticsearch có phản hồi hay không bằng lệnh
curl -X GET "localhost:9200"
{
“name” : “centos7”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “0clFcT-PQ0qartjlE_Xblw”,
“version” : {
“number” : “7.3.1”,
“build_flavor” : “default”,
“build_type” : “rpm”,
“build_hash” : “4749ba6”,
“build_date” : “2019-08-19T20:19:25.651794Z”,
“build_snapshot” : false,
“lucene_version” : “8.1.0”,
“minimum_wire_compatibility_version” : “6.8.0”,
“minimum_index_compatibility_version” : “6.0.0-beta1”
},
“tagline” : “You Know, for Search”
}
4. Cài đặt và cấu hình giao diện quản trị Kibana #
Kibana là giao diện quản trị log, giám sát thông số của hệ thống
Cài đặt:
yum -y install kibana
Cấu hình Kibana để có thể truy cập:
vim /etc/kibana/kibana.yml
Một cách khác để có thể truy cấp thông qua Web là cài đặt Apache hoặc Nginx để kết nối từ port 80 đến port 5601 của Kibana
Mở file và chỉnh sửa các thông số sau:
server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"]
Lưu lại và thoát
Bật khởi động và start dịch vụ Kibana:
systemctl enable kibana systemctl start kibana
Chờ vài giây để logstash chạy. Kiểm tra port 5601 nếu có tức là Kibana đang chạy
netstat -plntu
Mở port 5601 trên firewalld để có thể vào giao diện web
firewall-cmd --zone=public --add-port=5601/tcp --permanent firewall-cmd –reload
Mở trình duyệt web và nhập địa chỉ: http:http://{ip_server}:5601 để mở giao diện Kibana.
5. Cài đặt và cấu hình Logtash #
Cài đặt Logtash:
yum -y install logstash
Cấu hình logstash
cp /etc/logstash/logstash-sample.conf /etc/logstash/conf.d/logstash.conf vim /etc/logstash/conf.d/logstash.conf
Mở file và cấu hình như sau:
input { beats { port => 5044 } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" #user => "elastic" #password => "changeme" } }
Sau đó lưu lại và start logstash
systemctl start logstash systemctl status logstash
Chờ vài giây dể logstash chạy và kiểm tra port 5044 là port nhận log
netstat -nutlp|grep 5044
Cài đặt filebeat để bắt log và gửi log lên Logtash
yum install -y filebeat
Cấu hình gửi log lên Logstash
vim /etc/filebeat/filebeat.yml
Cấu hình như bên dưới
filebeat.inputs: - type: log enabled: true paths: - /var/log/message - /var/log/cron output.logstash: # IP của server Logstash, ở đây là localhost nếu gửi log đến server khác thì đặt đổi localhost thành IP server đó hosts: ["localhost:5044"]
Lưu lại và thoát
Khởi động filebeat để gửi log đến Logstash
systemctl start filebeat systemctl status filebeat
Mở web Kibana để kiểm tra log, chọn Logs.
Log được hiển thị với các thông tin cụ thể. Để thêm cột hostname cho dễ phân biệt ta chọn phần chỉnh sửa.
Chọn Add column để thêm cột hostname.
Như vậy là đã cài đặt ELK Stack trên CentOS 7 rồi đấy! Chúc các bạn thành công!!
Video hướng dẫn: