Mục Lục
Cài đặt và cấu hình Elasticsearch (Elk stack)
Bước 1:
import elasticsearch public key GPG bằng command sau:
sudo rpm --import http://packages.elastic.co/GPG-KEY-elasticsearch
Bước 2:
mở file /etc/yum.repos.d/elasticsearch.repo để thêm repo elastic bằng command sau:
vi /etc/yum.repos.d/elasticsearch.repo
và thêm vào file đoạn 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
Bước 3:
cài đặt elasticsearch bằng command sau:
yum install elasticsearch -y
Bước 4:
sửa file cấu hình elasticsearch như sau:
vi /etc/elasticsearch/elasticsearch.yml
Bước 5:
Sau khi hoàn thiện chỉnh sửa cấu hình elasticsearch, tiến hành tải lại systemd và start elasticsearch:
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
chờ khoảng vài giây để elasticsearch khởi động, dùng lệnh netstat -plntu
để kiểm tra xem cổng 9200 đã lên hay chưa
Bước 6:
kiểm tra xem elasticsearch đã thực sự chạy hay chưa bằng command:
curl -XGET 'localhost:9200/?pretty'
cài đặt elasticsearch thành công, tiếp theo chúng ta cài đặt logstash
Cài đặt và cấu hình Kibana ( Elk stack )
Bước 1:
mở file /etc/yum.repos.d/kibana.repo để thêm repo kibana bằng command sau:
vi /etc/yum.repos.d/kibana.repo
và thêm đoạn sau vào file:
[kibana-6.x]
name=Kibana 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
Bước 2:
cài đặt kibana bằng command sau:
yum install kibana -y
Bước 3:
sau khi cài đặt thành công, mở file config của kibana để thay đổi cấu hình mặc định:
vi /etc/kibana/kibana.yml
sửa cấu hình kibana dựa theo cấu hình elasticsearch mà bạn đã cài đặt trước đó
+ server.port: 5601 mặc định kibana chạy ở cổng này
+ server.host: địa chỉ ip của host
+ elasticsearch.host: địa chỉ chạy của elasticsearch đã cài đặt trước đó
Bước 4:
tiến hành chạy kibana qua hai command:
sudo systemctl enable kibana
sudo systemctl start kibana
Kiểm tra cổng 5601 đã lắng nghe hay chưa bằng command netstat -plntu
như ở phần trên
truy cập vào địa chỉ đã cấu hình ip_address:5601 để vào giao diện của kibana
phiên bản kibana mình cài là 6.x nên giao diện sẽ trông hơi khác so với bản 7.x, không quá quan trọng lắm. Tiếp theo chúng ta đi cài đặt Logstash
Cài đặt và cấu hình Logstash ( Elk stack )
Bước 1:
mở file /etc/yum.repos.d/logstash.repo để thêm repo logstash bằng command sau:
vi /etc/yum.repos.d/logstash.repo
Thêm vào file đoạn sau:
[logstash-6.x]
name=Elastic 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
Bước 2: tiến hành cài đặt logstash
yum install logstash -y
sau khi cài đặt thành công, tiến hành cấu hình logstash để nhận dữ liệu và đẩy dữ liệu vào elasticsearch
Các file ấu hình của logstash nằm ở thư mục /etc/logstash/conf.d, vậy nên ta sẽ thêm các file cấu hình ở đây
- tạo một file cấu hình tên
02-beats-input.conf
chứa cấu hình đầu vào của các nguồn log đẩy vào (filebeat) có nội dung như sau:
- tạo một file cấu hình có tên
30-elasticsearch-output.conf
, cấu hình này biểu thị elasticsearch lưu trữ dữ liệu mà filebeat đẩy tới logstash, hiểu nôm na là filebeat ship log tới logstash, logstash xử lý dữ liệu rồi đẩy tới elasticsearch lưu trữ, và cái cấu hình này là cấu hình đầu ra của logstash.
file cấu hình đầu ra có nội dung như sau:
phần host: host elasticsearch đang chạy
cấu trúc của 1 pipeline gồm ba phần: input, filter, output. Ở đây chúng ta cần tạo thêm một file cấu hình để filter log (thực ra có thể bỏ qua, thì log sẽ đẩy thẳng đến elasticsearch, nhưng làm như thế sẽ sai bản chất của logstash, nên mình sẽ tạo thêm file cấu hình filter log)
- tạo một file cấu hình có tên
10-java-filter.conf
chứa nội dung sau:
chỗ này nhìn qua thì các bạn sẽ hiểu nôm na thế này, ví dụ ở phía filebeat mình khai báo ứng dụng đẩy log đến logstash có field “app_services” là READNEWS_LOG, thì ở phía logstash sẽ kiểm tra theo field “app_services”, nếu dữ liệu đẩy đến logstash thỏa mãn điều kiện thì áp dụng lọc theo một pattern được khai báo ở đường dẫn /usr/share/logstash/patterns/java
pattern phía trên có dạng như sau, mình sử dụng format TOMCATLOG:
Bước 3:
sau khi cài đặt và cấu hình xong thì tiến hành start logstash lên
systemctl daemon-reload
systemctl start logstash
systemctl enable logstash
kiểm tra logstash đã được khởi động lên hay chưa bằng command:
service logstash status
Cài đặt và cấu hình Filebeat
mục tiêu của bước này để cài đặt, và cấu hình để có thể dùng filebeat đẩy các file log tới được logstash, filebeat đóng vai trò như shipper, vận chuyển hàng là các log file tới khách hàng là logstash.
Bước 1:
mở file /etc/yum.repos.d/elastic.repo để thêm repo bằng command sau:
vi /etc/yum.repos.d/elastic.repo
Thêm vào file đoạn 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
Bước 2:
tiến hành cài đặt filebeat
yum install filebeat-6.2.4 -y
Bước 3:
cấu hình filebeat, mở file filebeat.yml và thêm nội dung sau:
ở đây mình cấu hình filebeat đọc log từ thư mục /home/readnews/....
và giá trị của fields “app_services” là READNEWS_LOG để mapping với bên logstash.
Note: chỗ đoạn đường dẫn log thì các bạn tự xây dựng, ở đây mình không đề cập.
Bước 3:
sau khi cấu hình, tiến hành bật filebeat
systemctl start filebeat
systemctl enable filebeat
kiểm tra xem filebeat
đã được bật lên hay chưa
service filebeat status
Vậy là chúng ta đã hoàn thành xong việc cài đặt, cấu hình Elasticsearch-Kibana-Logstash-Filebeat, cùng nhau đi khám phá tí nào :))
trên đây là toàn bộ log mà chúng ta thu thập và phân tích được từ thư mục đã cấu hình ở filebeat, bạn có thể gửi bất kỳ loại log hoặc dữ liệu nào đến Logstash bằng Beasts, nhưng tùy vào nhu cầu và mục đích thì các bạn có thể phân tích cú pháp bằng bộ lọc Logstash để những dữ liệu thu thập được trở nên có ý nghĩa hơn.
Một số bài viết liên quan:
- 13 Plugin không thể thiếu khi làm việc với IntellIJ IDEA
- Crack Intellij IDEA new versions 2021
- Crack IntellIJ để code như một senior
- Shortcut Intellij hữu ích để làm việc được hiệu quả hơn
- Build hệ thống Pub Sub dùng Hazelcast và Spring boot
- Build hệ thống Pub-Sub bằng Kafka+Spring boot (phần 3)
- Biết sử dụng git cherry-pick để làm việc hiệu quả hơn
- Git stash giúp bạn trở nên chuyên nghiệp như thế nào?
- Git revert với git reset hoạt động như thế nào
- Series tìm hiểu lập trình java
- Active Jrebel để code trong IntellIJ IDEA
- Tìm hiểu cơ chế hoạt động của Apache Kafka (phần 1)
- Tìm hiểu cơ chế hoạt động của Apache Kafka (phần 2)
- Elasticsearch là gì mà bá đạo đến vậy? [Phần 1]
- Cùng nhau tìm hiểu Docker
- Cài đặt Hazelcast trên server Centos 7
- Elasticsearch và Kibana dựng bằng Docker
- Câu chuyện phỏng vấn online mùa Covid
- Nói sao để được chào đón, làm thế nào để được ghi nhận
- Lập trình viên lúc rảnh rỗi thì nên làm gì?