wordpress圖片css鄭州seo地址
Logstash 是一個可以傳輸和處理你的日志、事務或其他數(shù)據(jù)的功能強大的工具,可與各種部署集成。 它提供了大量插件,可幫助你解析,豐富,轉(zhuǎn)換和緩沖來自各種來源的數(shù)據(jù)。?
工作原理
Logstash 事件處理有三個階段:inputs -> filters -> outputs。
Logstash 是一個接收,處理,轉(zhuǎn)發(fā)日志的工具。支持系統(tǒng)日志,webserver日志,錯誤日志,應用日志,總之包括所有可以拋出來的日志類型。
設置
logstash.yml 設置項說明參考:https://www.elastic.co/guide/en/logstash/7.17/logstash-settings-file.html
配置
logstash 啟動時需要指定配置文件,按照配置文件中的參數(shù)去覆蓋默認設置文件(logstash.yml)中的設置。示例配置文件:logstash-sample.conf
配置文件結(jié)構(gòu)
Logstash 主要有三個工作階段 input 、filter、output。而 logstash 配置文件文件結(jié)構(gòu)也與之相對應:
input {}filter {}output {}
每個部分都包含一個或多個插件的配置選項。如果指定了多個過濾器,則會按照它們在配置文件中的顯示順序應用它們。
值類型
一個插件可以要求設置的值是一個特定的類型,比如布爾值,列表或哈希值。以下值類型受支持。
Array
users => [ {id => 1, name => aaa}, {id => 2, name => bbb} ]
Lists
path => [ "/data/logs/demo", "/data/logs/*.log" ]
Boolean
ssl_enable => true
Bytes
my_bytes => "1113" ? # 1113 bytes
my_bytes => "10MiB" ?# 10485760 bytes
my_bytes => "100kib" # 102400 bytes
my_bytes => "180 mb" # 180000000 bytes
Codec
codec => "json"
Hash
match => {"field1" => "value1""field2" => "value2"...
}
Number
port => 33
插件配置
Input
必要元素,負責從數(shù)據(jù)源采集數(shù)據(jù)。
常用的輸入為:
- file:從文件系統(tǒng)的文件中讀取,類似于 tail -f 命令
- syslog:在514端口上監(jiān)聽系統(tǒng)日志消息,并根據(jù)RFC3164標準進行解析
- redis:從redis service中讀取
- beats:從filebeat中讀取
更多詳情請見:https://www.elastic.co/guide/en/logstash/current/input-plugins.html
Filters
可選元素,數(shù)據(jù)中間處理,對數(shù)據(jù)進行操作,將數(shù)據(jù)修改為指定的格式或內(nèi)容。
常用的過濾器為:
- grok:解析任意文本數(shù)據(jù),grok 是 logstash 最重要的插件。它的主要作用就是將文本格式的字符串,轉(zhuǎn)換成為具體的結(jié)構(gòu)化的數(shù)據(jù),配合正則表達式使用。
- mutate:對字段進行轉(zhuǎn)換。例如對字段進行刪除、替換、修改、重命名等。
- drop:丟棄一部分events不進行處理。
- clone:拷貝 event,這個過程中也可以添加或移除字段。
- geoip:添加地理信息(為前臺kibana圖形化展示使用)
更多詳情請見:https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
官方提供的grok表達式:https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns
grok在線調(diào)試:https://grokdebug.herokuapp.com/
Outputs
outputs 是 logstash 處理管道的最末端的必要元素組件,主要是將數(shù)據(jù)傳輸?shù)侥康牡亍?/p>
常見的 outputs 為:
- elasticsearch:可以高效的保存數(shù)據(jù),并且能夠方便和簡單的進行查詢。
- file:將event數(shù)據(jù)保存到文件中。
- graphite:將event數(shù)據(jù)發(fā)送到圖形化組件中,一個很流行的開源存儲圖形化展示的組件。
更多詳情請見:https://www.elastic.co/guide/en/logstash/current/output-plugins.html
codec
codecs 是基于數(shù)據(jù)流的過濾器,它可以作為 input,output 的一部分配置。Codecs可以幫助你輕松的分割發(fā)送過來已經(jīng)被序列化的數(shù)據(jù)。
常用 codec 插件:
- json:以JSON格式對數(shù)據(jù)進行編碼或解碼。
- multiline:將多行文本事件(如java異常和堆棧跟蹤消息)合并為單個事件。
更多詳情請見:https://www.elastic.co/guide/en/logstash/current/codec-plugins.html