Logstash - Đầu vào được hỗ trợ

Logstash hỗ trợ một loạt các bản ghi từ các nguồn khác nhau. Nó đang làm việc với các nguồn nổi tiếng như được giải thích bên dưới.

Thu thập nhật ký từ các chỉ số

Các sự kiện hệ thống và các hoạt động thời gian khác được ghi lại trong các thước đo. Logstash có thể truy cập nhật ký từ các chỉ số hệ thống và xử lý chúng bằng bộ lọc. Điều này giúp hiển thị cho người dùng nguồn cấp dữ liệu trực tiếp của các sự kiện theo cách tùy chỉnh. Các chỉ số được xóa theoflush_interval settingbộ lọc số liệu và theo mặc định; nó được đặt thành 5 giây.

Chúng tôi đang theo dõi các chỉ số thử nghiệm do Logstash tạo ra, bằng cách thu thập và phân tích các sự kiện chạy qua Logstash và hiển thị nguồn cấp dữ liệu trực tiếp trên dấu nhắc lệnh.

logstash.conf

Cấu hình này chứa một plugin trình tạo, được Logstash cung cấp cho các chỉ số thử nghiệm và đặt cài đặt loại thành “được tạo” để phân tích cú pháp. Trong giai đoạn lọc, chúng tôi chỉ xử lý các dòng có kiểu được tạo bằng cách sử dụng câu lệnh 'if'. Sau đó, plugin số liệu đếm trường được chỉ định trong cài đặt đồng hồ. Plugin số liệu xóa số lượng sau mỗi 5 giây được chỉ định trongflush_interval.

Cuối cùng, xuất các sự kiện bộ lọc ra đầu ra tiêu chuẩn như dấu nhắc lệnh bằng cách sử dụng codec pluginđể định dạng. Plugin Codec đang sử dụng giá trị [ event ] [ rate_1m ] để xuất các sự kiện mỗi giây trong cửa sổ trượt 1 phút.

input {
   generator {
     	type => "generated"
   }
}
filter {
   if [type] == "generated" {
      metrics {
         meter => "events"
         add_tag => "metric"
      }
   }
}
output {
   # only emit events with the 'metric' tag
   if "metric" in [tags] {
      stdout {
         codec => line { format => "rate: %{[events][rate_1m]}"
      }
   }
}

Chạy Logstash

Chúng ta có thể chạy Logstash bằng cách sử dụng lệnh sau.

>logsaths –f logstash.conf

stdout (dấu nhắc lệnh)

rate: 1308.4
rate: 1308.4
rate: 1368.654529135342
rate: 1416.4796003951449
rate: 1464.974293984808
rate: 1523.3119444107458
rate: 1564.1602979542715
rate: 1610.6496496890895
rate: 1645.2184750334154
rate: 1688.7768007612485
rate: 1714.652283095914
rate: 1752.5150680019278
rate: 1785.9432934744932
rate: 1806.912181962126
rate: 1836.0070454626025
rate: 1849.5669494173826
rate: 1871.3814756851832
rate: 1883.3443123790712
rate: 1906.4879113216743
rate: 1925.9420717997118
rate: 1934.166137658981
rate: 1954.3176526556897
rate: 1957.0107444542625

Thu thập nhật ký từ máy chủ web

Máy chủ web tạo ra một số lượng lớn nhật ký liên quan đến quyền truy cập của người dùng và lỗi. Logstash giúp trích xuất các bản ghi từ các máy chủ khác nhau bằng cách sử dụng các plugin đầu vào và lưu trữ chúng ở một vị trí tập trung.

Chúng tôi đang trích xuất dữ liệu từ stderr logs của Máy chủ Apache Tomcat cục bộ và lưu trữ nó trong output.log.

logstash.conf

Tệp cấu hình Logstash này hướng Logstash đọc nhật ký lỗi apache và thêm một thẻ có tên “apache-error”. Chúng tôi chỉ cần gửi nó đến output.log bằng cách sử dụng plugin đầu ra tệp.

input {
   file {
      path => "C:/Program Files/Apache Software Foundation/Tomcat 7.0 /logs/*stderr*"
      type => "apache-error"  
   }
} 
output {
   file {
      path => "C:/tpwork/logstash/bin/log/output.log"
   }
}

Chạy Logstash

Chúng ta có thể chạy Logstash bằng cách sử dụng lệnh sau.

>Logstash –f Logstash.conf

Mẫu nhật ký đầu vào

Đây là mẫu stderr log, tạo ra khi các sự kiện máy chủ xảy ra trong Apache Tomcat.

C: \ Program Files \ Apache Software Foundation \ Tomcat 7.0 \ logs \ tomcat7-stderr.2016-12-25.log

Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-9999"]
Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Dec 25, 2016 7:05:14 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 823 ms

output.log

{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start\r",
   "type":"apache-error","tags":[]
}
{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"INFO: Starting ProtocolHandler [
      \"ajp-bio-8009\"]\r","type":"apache-error","tags":[]
}
{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"Dec 25, 2016 7:05:14 PM org.apache.catalina.startup.Catalina start\r",
   "type":"apache-error","tags":[]
}
{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"INFO: Server startup in 823 ms\r","type":"apache-error","tags":[]
}

Thu thập nhật ký từ nguồn dữ liệu

Để bắt đầu, hãy để chúng tôi hiểu cách Định cấu hình MySQL để ghi nhật ký. Thêm các dòng sau vàomy.ini file của máy chủ cơ sở dữ liệu MySQL trong [mysqld].

Trong windows, nó hiện diện bên trong thư mục cài đặt của MySQL, nằm trong:

C:\wamp\bin\mysql\mysql5.7.11

Trong UNIX, bạn có thể tìm thấy nó trong - /etc/mysql/my.cnf

general_log_file   = "C:/wamp/logs/queries.log"
general_log = 1

logstash.conf

Trong tệp cấu hình này, plugin tệp được sử dụng để đọc nhật ký MySQL và ghi nó vào ouput.log.

input {
   file {
      path => "C:/wamp/logs/queries.log"
   }
}
output {
   file {
      path => "C:/tpwork/logstash/bin/log/output.log"
   }
}

queries.log

Đây là nhật ký được tạo bởi các truy vấn được thực thi trong cơ sở dữ liệu MySQL.

2016-12-25T13:05:36.854619Z   2 Query		select * from test1_users
2016-12-25T13:05:51.822475Z    2 Query	select count(*) from users
2016-12-25T13:05:59.998942Z    2 Query         select count(*) from test1_users

output.log

{
   "path":"C:/wamp/logs/queries.log","@timestamp":"2016-12-25T13:05:37.905Z",
   "@version":"1","host":"Dell-PC",
   "message":"2016-12-25T13:05:36.854619Z    2 Query\tselect * from test1_users",
   "tags":[]
}
{
   "path":"C:/wamp/logs/queries.log","@timestamp":"2016-12-25T13:05:51.938Z",
   "@version":"1","host":"Dell-PC",
   "message":"2016-12-25T13:05:51.822475Z    2 Query\tselect count(*) from users",
   "tags":[]
}
{
   "path":"C:/wamp/logs/queries.log","@timestamp":"2016-12-25T13:06:00.950Z",
   "@version":"1","host":"Dell-PC",
   "message":"2016-12-25T13:05:59.998942Z    2 Query\tselect count(*) from test1_users",
   "tags":[]
}