Logstash 7.9.1 學習


個人學習筆記,謝絕轉載!!!

原文:https://www.cnblogs.com/wshenjin/p/13666614.html


安裝和配置

安裝

[root@ ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-7.9.1.rpm
[root@ ~]# rpm -ivh logstash-5.1.1.rpm

配置

# 調整jvm使用內存
[root@ ~]# vim /etc/logstash/jvm.options 
-Xms128m
-Xmx256m
# 修改logstash基本配置
[root@ ~]# vim /etc/logstash/logstash.yml 
log.level: warn
pipeline:
  workers: 4
  batch:
    size: 125
    delay: 5
path.config: /etc/logstash/conf.d
path.data: /data/elk/logstash
path.logs: /var/log/logstash
http.port: 9600
http.host: "0.0.0.0"

hello world

做個簡單的測試

[root@ ~]# logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
hello world 
{
      "@version" => "1",
       "message" => "hello world ",
    "@timestamp" => 2020-09-12T07:23:44.025Z,
          "host" => "localhost"
}

以上的例子從標准輸入中獲取數據,再從標准輸出中輸出。

在輸出的結果中:

  • "@timestamp"標記事件發生的時間點,

  • "host"標記事件發生的主機

  • "type"標記事件的唯一類型。

Es 統一采用UTC時間存成長整型數據,會比北京時間晚八個小時。

命令行參數:

  • -e:直接執行后接的配置字符串,可以為空。空字符串''就默認是'input{stdin{}}output{stdout{codec=>rubydebug}}'。
  • -f:后接配置文件,可以將復雜的配置寫到配置文件中。
  • -t:測試,用來測試后接的配置文件語法是否正確。寫法:logstash -t -f conf_file_path
  • -l:后接日志文件,默認日志為配置文件logstash.yml中指定的日志文件。

Logstash 數據類型

array

數組可以是單個或者多個字符串值。

path => [ "/var/log/messages", "/var/log/*.log" ]
path => "/data/mysql/mysql.log"

如果指定了多次,追加數組。此實例path數組包含三個字符串元素。

boolean

布爾值必須是TRUE或者false。true和false不能有引號。

ssl_enable => true

bytes

指定字節單位。支持的單位有SI (k M G T P E Z Y) 和 Binary (Ki Mi Gi Ti Pi Ei Zi Yi)。Binary單位基於1024,SI單位基於1000。不區分大小寫和忽略值與單位之間的空格。如果沒有指定單位,默認是byte。

my_bytes => "1113" # 1113 bytes
my_bytes => "10MiB" # 10485760 bytes
my_bytes => "100kib" # 102400 bytes
my_bytes => "180 mb" # 180000000 bytes

Codec

logstash編碼名稱用來表示數據編碼。用於input和output段。便於數據的處理。如果input和output使用合適的編碼,就無需單獨的filter對數據進行處理。

codec => "json"

hash

鍵值對,注意多個鍵值對用空格分隔,而不是逗號。

match => {
"field1" => "value1"
"field2" => "value2"
... }

number

必須是有效的數值,浮點數或者整數。

port => 33

password

一個單獨的字符串。

my_password => "password"

path

一個代表有效的操作系統路徑。

my_path => "/tmp/logstash"

string

name => "Hello world"
name => 'It\'s a beautiful day'

條件判斷

  • 相等: ==, !=, <, >, <=, >=
  • 正則: =~(匹配正則), !~(不匹配正則)
  • 包含: in(包含), not in(不包含)
  • 布爾操作: and(與), or(或), nand(非與), xor(非或)
  • 一元運算符:!(取反) ,()(復合表達式), !()(對復合表達式結果取反)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM