logstash簡介及基本操作
logstash常用於日誌系統中做日誌採集裝置,最常用於ELK中作為日誌收集器使用
logstash的基本流程架構:input | filter | output 如需對資料進行額外處理,filter可省略。
用於在將event透過output發出之前對其實現某些處理功能。grok。
grok:用於分析結構化文字資料。目前 是logstash中將非結構化資料日誌資料轉化為結構化的可查詢資料的不二之選
3.3 Output(輸出):將我們過濾出的資料儲存到那些資料庫和相關儲存中, 。
inpust:必須,負責產生事件(Inputs generate events),常用:File、syslog、redis、beats(如:Filebeats)
filters:可選,負責資料處理與轉換(filters modify them),常用:grok、mutate、drop、clone、geoip
outpus:必須,負責資料輸出(outputs ship them elsewhere),常用:elasticsearch、file、graphite、statsd
input { 從哪個地方讀取,輸入資料。
}
filter { 依據grok模式對資料進行分析結構化
}
output { 將分析好的資料輸出儲存到哪些地方
}
2.1我們自定義gork模式對日誌進行過濾。
語法格式:
%{SYNTAX:SEMANTIC}
SYNTAX:預定義模式名稱;
SEMANTIC:匹配到的文字的自定義識別符號;
[root@node1 conf.d]# vim groksimple.conf
input {
stdin {}
}
filter {
grok {
match => { "message" => "%{IP:clientip} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
}
}
output {
stdout {
codec => rubydebug
}
}
[root@node1 conf.d]# logstash -f /etc/logstash/conf.d/groksimple.conf
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults
Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using default config which logs errors to the console
[INFO ] 2020-10-13 14:29:41.936 [main] runner - Starting Logstash {"logstash.version"=>"7.9.1", "jruby.version"=>"jruby 9.2.13.0 (2.5.7) 2020-08-03 9a89c94bcc OpenJDK 64-Bit Server VM 25.262-b10 on 1.8.0_262-b10 +indy +jit [linux-x86_64]"}
[WARN ] 2020-10-13 14:29:42.412 [LogStash::Runner] multilocal - Ignoring the 'pipelines.yml' file because modules or command line options are specified
[INFO ] 2020-10-13 14:29:44.025 [Converge PipelineAction::Create<main>] Reflections - Reflections took 42 ms to scan 1 urls, producing 22 keys and 45 values
[INFO ] 2020-10-13 14:29:44.995 [[main]-pipeline-manager] javapipeline - Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>2, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50, "pipeline.max_inflight"=>250, "pipeline.sources"=>["/etc/logstash/conf.d/groksimple.conf"], :thread=>"#<Thread:0x4ca2f74b run>"}
[INFO ] 2020-10-13 14:29:45.749 [[main]-pipeline-manager] javapipeline - Pipeline Java execution initialization time {"seconds"=>0.74}
[INFO ] 2020-10-13 14:29:45.820 [[main]-pipeline-manager] javapipeline - Pipeline started {"pipeline.id"=>"main"}
The stdin plugin is now waiting for input:
[INFO ] 2020-10-13 14:29:45.902 [Agent thread] agent - Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[INFO ] 2020-10-13 14:29:46.098 [Api Webserver] agent - Successfully started Logstash API endpoint {:port=>9600}
1.1.1.1 get /index.html 30 0.23 我們標準輸入一些日誌資訊。
{
"@timestamp" => 2020-10-13T06:30:11.973Z,
"host" => "node1",
"@version" => "1",
"request" => "/index.html",
"message" => "1.1.1.1 get /index.html 30 0.23",
"duration" => "0.23",
"clientip" => "1.1.1.1",
"method" => "get",
"bytes" => "30"
}
推薦閱讀:
https://blog.csdn.net/yurun_house/article/details/109025588
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949806/viewspace-2903536/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- iOS CocoaPods簡介及基本使用iOS
- Git使用總結(一):簡介與基本操作Git
- Java IO流字元流簡介及基本使用Java字元
- ElasticSearch基本簡介Elasticsearch
- Flutter Stream 簡介及部分操作符使用Flutter
- Scala簡介及該注意的基本小知識點
- ElasticSearch基本簡介(一)Elasticsearch
- FreeRTOS——基本簡介
- Everycircuit操作簡介UI
- MySQL基本簡單操作01MySql
- mysql的簡單基本操作MySql
- JEECMS原始碼基本結構及相關技術簡介原始碼
- logstash5.x安裝及簡單運用H5
- Docker基本介紹及使用Docker
- git rebase簡介(基本篇)Git
- Hbase簡介和基本用法
- IDA Pro基本簡介
- 機器學習基本概念簡介機器學習
- 堆的基本操作及堆排序排序
- Oracle 重置密碼及基本操作Oracle密碼
- 棧的實現及基本操作
- Spark 簡單例項(基本操作)Spark單例
- RHEL7 執行級別簡介及切換操作
- jQuery-簡介與基本使用jQuery
- logstash常用外掛介紹
- iOS 檔案操作簡介iOS
- Flyway簡介及使用
- openvas簡介及使用
- IText簡介及示例
- openfiler簡介及概述
- vnc簡介及配置VNC
- SCO UNIX--基本配置及操作(轉)
- 【機器學習】李宏毅——機器學習基本概念簡介機器學習
- 喇叭的基本發音原理簡介
- webstorm簡單介紹,webstrom基本使用WebORM
- 深度學習基本概念簡介深度學習
- MySQL檢視簡介與操作MySql
- Vi 簡介 linux操作 (轉)Linux