Hướng dẫn cài đặt Logstash trên CentOS 7

Cài đặt Logstash trên CentOS 7Cuongquach.com | Nếu bạn đã đọc đến bài viết này thì chắc chắn bạn đang quan tâm tìm hiểu việc triển khai hệ thống quản lý log tập trung với ELK (Elasticsearch, Logstash và Kibana). Bài viết này nằm trong nội dung về Logstash, một dịch vụ xử lý log trước khi gửi về Elasticsearch để lưu trữ. Ở bài viết này bạn chỉ làm quen với việc làm thế nào để cài đặt Logstash trên CentOS 7 trước khi sử dụng thành thạo nó.

huong-dan-cai-dat-logstash-tren-centos-7

Có thể bạn quan tâm nội dung khác
Kiểm tra cấu hình khuôn mẫu Logstash Grok bằng công cụ Online
Vấn đề Split-Brain nghiêm trọng trong Elasticsearch Cluster
Master Node trong Elasticsearch Cluster
Tìm hiểu Elasticsearch Cluster

Logstash là gì ?

Trang chủhttps://www.elastic.co/products/logstash

kiến trúc logstash

Logstash là một chương trình mã nguồn mở, nằm trong hệ sinh thái của bộ sản phẩm ELK Stack, với nhiệm vụ rất quan trọng bao gồm ba giai đoạn trong chuỗi xử lý sự kiện log (pipeline) tương ứng ba module:

  • INPUT: tiếp nhận/thu thập dữ liệu sự kiện log ở dạng thô từ các nguồn khác nhau như file, redis, rabbitmq, beats, syslog,….
  • FILTER: Sau khi tiếp nhận dữ liệu sẽ tiến hành thao tác dữ liệu sự kiện log (như thêm, xoá, thay thế,.. nội dung log) theo cấu hình của quản trị viên để xây dựng lại cấu trúc dữ liệu log event theo mong muốn.
  • OUTPUT: Sau cùng sẽ thực hiện chuyển tiếp dữ liệu sự kiện log về các dịch vụ khác như Elasticsearch tiếp nhận lưu trữ log hoặc hiển thị log,..

Đọc tìm hiểu về Logstash thêm tại bài viết này: Tìm hiểu tổng quan dịch vụ Logstash 

1. Cài đặt Java 8 trên CentOS 7

Logstash yêu cầu phải cài đặt Java 8 (hiện chỉ hỗ trợ Java 8) để vận hành được Logstash.

# yum install java-1.8.0-openjdk

– Kiểm tra phiên bản Java 8 .

# java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

2. Cài đặt Logstash trên CentOS 7

Phiên bản Logstash trong bài viết là : 7.x .
Theo thời gian phiên bản sẽ có sự thay đổi, bạn có thể cập nhật trên trang chủ của Elasticsearch : https://www.elastic.co/products/logstash

Cài đặt thông tin Logstash Repository.

# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# vi /etc/yum.repos.d/logstash.repo
[logstash-7.x]
name=Elastic 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

Tiến hành cài đặt gói chương trình Logstash.

# yum install logstash -y

Kiểm tra phiên bản logstash nào.

# /usr/share/logstash/bin/logstash --version
logstash 7.0.1

Khởi động Logstash và cấu hình startup service cho Logstash.

# systemctl enable logstash.service
# systemctl start logstash.service
# systemctl status logstash.service
● logstash.service - logstash
   Loaded: loaded (/etc/systemd/system/logstash.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-05-17 10:59:01 +07; 3s ago
 Main PID: 6220 (java)
   CGroup: /system.slice/logstash.service
           └─6220 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -Dfile.encoding=UTF-8 -D...

Mặc định từ các phiên bản Logstash 6.3+ trở lên, thì gói X-Pack dành cho các tính năng thương mại nâng cao được cài đặt sẵn bạn không thể gỡ được. Chỉ có thể disable không sử dụng tính năng X-Pack thôi.

3. Kiểm tra cấu hình Logstash pipeline

Như bạn đã biết thì khi cấu hình pipeline Logstash thì sẽ có ba phần riêng biệt : input{}, filter{}output{} . Bạn có thể xem lại tại bài viết này: Tìm hiểu dịch vụ Logstash 

logstash pipeline
logstash pipeline

Bài viết này đơn giản chỉ giúp bạn cài đặt được Logstash trên hệ thống CentOS 7 và kiểm tra thử xem Logstash đã vận hành ok chưa. Còn khi bạn kết hợp Logstash để xử lý các nội dung message gửi đến trước khi đẩy về Elasticsearch thì chúng ta sẽ sớm tìm hiểu ở những bài viết khác.

Giờ chúng ta sẽ cấu hình Logstash pipeline cơ bản để test chức năng với nội dung ví dụ như sau :

  • Đọc file /var/log/demo.log trên local máy chủ từ block cấu hình input{} sử dụng module “file“.
  • Nếu có nội dung mới được thêm vào thì sẽ đẩy ra file output ở : /tmp/demo-logstash.log
# vi /etc/logstash/conf.d/demo-pipeline.conf
input {
    file {
        path => "/var/log/demo.log"
        start_position => "beginning"
    }
}

output {
    file {
        path => "/tmp/demo-logstash.log"
    }
}

Giờ tạo file test ‘/var/log/demo.log‘ và khởi động lại dịch vụ Logstash.

# touch /var/log/demo.log
# systemctl restart logstash

Giờ thì bạn thử thêm nội dung vào file : /var/log/demo.log .

# echo "demo logstash pipeline works is ok - cuongquach" >> /var/log/demo.log

Rồi kiểm tra xem ở file output đã thấy nội dung Logstash xử lý cơ bản đẩy ra lưu trữ hay chưa.

# tail -f /tmp/demo-logstash.log
{"path":"/var/log/demo.log","host":"tos-v2-es-ls-1","@timestamp":"2018-12-01T04:23:37.149Z","message":"demo logstash pipeline works is ok - cuongquach","@version":"1"}

Nếu nội dung file /tmp/demo-logstash.log có nội dung được thêm vào như trên thì chứng tỏ Logstash hoạt động bình thường.

Tổng kết

Bạn đã biết cách cài đặt Logstash trên CentOS 7 rồi phải không nào ?! Cực kì đơn giản, nhưng để vận hành và thông thạo Logstash để xử lý các chuỗi log event gửi đến như thế nào là cả một hành trình gian nan đấy. Bài viết này chưa đủ giúp bạn làm chủ Logstash nhưng vẫn còn những bài viết sau đấy.

Nguồn: https://cuongquach.com/

Previous articleEbook Docker Up & Running (PDF)
Next articleEbook Linux Shell Scripting Cookbook (PDF)
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !