Logstash 基礎知識整理

2021-08-21 03:14:21 字數 3623 閱讀 3862

pipeline

logstash event

logstash架構圖:

batcher負責批量的從queue中取資料

queue分類:效能分析:

持久佇列的基本配置:

queue.type:persisted    #預設是memory

queue.max_bytes:

4gb #佇列儲存最大資料量

執行緒:

相關配置:

pipeline.worksers | -w

# pipeline執行緒數,即filter_output的處理執行緒數,預設是cpu核數

pipeline.batch

.size | -b

#batcher一次批量獲取的待處理文件數,預設是125,可以根據輸出進行調整,越大會占用越多的heap空間,可以通過jvm.options調整

pipeline.batch

.delay | -u

#batcher等待的時長,單位為ms

logstash配置檔案:logstash設定相關的配置檔案(在conf資料夾中,setting files)

pipeline配置檔案:定義資料處理流程的檔案,以.conf結尾

logstash.yml配置項:

node.name: 節點名稱,便於識別

path.data: 持久化儲存資料的資料夾,預設是logstash home目錄下的data

path.config: 設定pipeline配置檔案的目錄(如果指定資料夾,會預設把資料夾下的所有.conf檔案按照字母順序拼接為乙個檔案)

path.log: 設定pipeline日誌檔案的目錄

pipeline.workers: 設定pipeline的執行緒數(filter+output),優化的常用項

pipeline.batch.size/delay: 設定批量處理資料的資料和延遲

queue.type: 設定佇列型別,預設是memory

queue.max_bytes: 佇列總容量,預設是1g

logstash命令列配置項:

--node.name

-f --path.config #pipeline路徑,可以是檔案或者資料夾

--path.settings #logstash配置資料夾路徑,其中要包含logstash.yml

-e --config.string #指明pipeline內容,多用於測試使用

-w --pipeline.workers

-b --pipeline.batch.size

--path.data

--debug

-t --config.test_and_exit

建議:線上環境推薦採用配置檔案的方式來設定logstash的相關配置,這樣可以減少犯錯的機會,而且檔案便於進行版本化管理;命令列形式多用來進行快速的配置測試、驗證、檢查等

logstash多例項執行方式:

bin/logstash --path.settings instance1

bin/logstash --path.settings instance2

不同instance中修改logstash.yml,自定義path.data,確保其不相同即可

pipeline配置簡介:pipeline用於配置input、filteroutput外掛程式,框架如下所示:

input 

filter

output

pipeline配置語法:主要有如下的數值型別:

布林型別boolean

idfailed => true
數值型別number

port => 33
字元創型別string

name => "hello world"
陣列array/list

users => [,]

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

雜湊型別hash

match =>
在配置中可以引用logstash event的屬性(字段),主要有如下兩種方式:

使用%{}來實現

req => "request is %"

us => "ua is %"

支援條件判斷語法,從而擴充套件了配置的多樣性,主要格式如下:

if expressionelse

if expressionelse

表示式主要包含如下操作符:

-操作符

比較==、!=、、<=、>=

正則是否匹配

=~、!~

包含(字串或者陣列)

in、not in

布林操作符

and、or、nand、xor、!

分組操作符

logstash監控運維:

api:logstash提供了豐富的api來檢視logstash的當前狀態

/_node

/_node/stats

/_node/hot_threads

# curl /_node/stats?pretty

基礎知識整理

1.在輸出字元變數的值時,可以選擇以十進位制整數形式輸出,或以字元形式輸出。2.在乙個整數的末尾加大寫字母l或小寫字母l,表示它是長整型。3.代表除法運算子,兩個實數相除的結果是雙精度實數。兩個整數相除的結果是整數,捨去小數部分。但是,如果除數或被除數中有乙個是負值,則捨入的方向是不固定的。多數c編...

LDAP基礎知識整理

一 概述 ldap lightweight directory access protocol 輕量級目錄訪問協議 ldap 協議基於 x.500 標準,與x.500 不同,ldap 支援tcp ip,是跨平台的和標準的協議 二 基本概念在 ldap 中資訊以樹狀方式組織,在樹狀資訊中的基本資料單元...

java基礎知識整理

一。構造方法,構造 塊,靜態 塊,靜態方法的區別 public class hellob extends helloa public hellob static 構造 塊 是給所有的物件進行初始化,也就是說,所有的物件都會呼叫乙個 塊。只要物件一建立。就會呼叫這 個 塊。建構函式 是給與之對應的物件...