日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

logstash的使用教程

發布時間:2023/12/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 logstash的使用教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、簡單使用

cd logstash_HOME
bin/logstash -e 'input { stdin { } } output { stdout {} }'

啟動 Logstash 后,再鍵入 Hello hiekay,結果如下:


image.png

在生產環境中,Logstash 的管道要復雜很多,可能需要配置多個輸入、過濾器和輸出插件。

因此,需要一個配置文件管理輸入、過濾器和輸出相關的配置。配置文件內容格式如下:

# 輸入 input {... }# 過濾器 filter {... }# 輸出 output {... }

二、配置使用 插件用法

在使用插件之前,我們先了解一個概念:事件。

Logstash 每讀取一次數據的行為叫做事件。

在 Logstach_HOME 目錄中創建一個配置文件,名為 logstash.conf(名字任意)。

  • 1、 輸入插件
    輸入插件允許一個特定的事件源可以讀取到 Logstash 管道中,配置在 input {} 中,且可以設置多個。

修改配置文件:

input {# 從文件讀取日志信息file {path => "/var/log/syslog"type => "system"start_position => "beginning"} }# filter { # # }output {# 標準輸出stdout { codec => rubydebug } }

其中,syslog 為系統日志。保存文件。
運行

bin/logstash -f logstash.conf

在控制臺結果如下:


image.png
  • 2、 輸出插件
    輸出插件將事件數據發送到特定的目的地,配置在 output {} 中,且可以設置多個。

修改配置文件:

input {# 從文件讀取日志信息file {path => "/var/log/syslog"type => "error"start_position => "beginning"}}# filter { # # }output {# 輸出到 elasticsearchelasticsearch {hosts => ["127.0.0.1:9201"]index => "syslog-%{+YYYY.MM.dd}"} }

配置文件中使用 elasticsearch 輸出插件。輸出的日志信息將被保存到 Elasticsearch 中,索引名稱為 index 參數設置的格式。保存文件。
運行

bin/logstash -f logstash.conf

  • 打開瀏覽器訪問 http://127.0.0.1:9100 使用 head 插件查看 Elasticsearch 數據,結果如下圖:
    image.png
  • 3、 編碼解碼插件
    編碼解碼插件本質是一種流過濾器,配合輸入插件或輸出插件使用。
    從上圖中,我們發現一個問題:Java 異常日志被拆分成單行事件記錄到 Elasticsearch 中,這不符合開發者或運維人員的查看習慣。因此,我們需要對日志信息進行編碼將多行事件轉成單行事件記錄起來。
    我們需要配置 Multiline codec 插件,這個插件可以將多行日志信息合并成一行,作為一個事件處理。
    Logstash 默認沒有安裝該插件,需要開發者自行安裝。

bin/logstash-plugin install logstash-codec-multiline

修改配置文件:

input {# 從文件讀取日志信息file {path => "/var/log/syslog"type => "error"start_position => "beginning"# 使用 multiline 插件codec => multiline {# 通過正則表達式匹配,具體配置根據自身實際情況而定pattern => "^\d"negate => truewhat => "previous"}}}# filter { # # }output {# 輸出到 elasticsearchelasticsearch {hosts => ["127.0.0.1:9201"]index => "syslog-%{+YYYY.MM.dd}"} }

保存文件。

  • 運行

bin/logstash -f logstash.conf

使用 head 插件查看 Elasticsearch 數據,結果如下圖:


image.png
  • 4 過濾器插件
    過濾器插件位于 Logstash 管道的中間位置,對事件執行過濾處理,配置在 filter {},且可以配置多個。
    本次測試使用 grok 插件演示,grok 插件用于過濾雜亂的內容,將其結構化,增加可讀性。
    安裝:

bin/logstash-plugin install logstash-filter-grok

修改配置文件:

input {stdin {} }filter {grok {match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER :duration}" }} }output {stdout {codec => "rubydebug"} }

保存文件。

  • 運行

bin/logstash -f logstash.conf

啟動成功后,我們輸入:

127.0.0.1 GET /index.html 16688 0.066

控制臺返回:


image.png

輸入的內容被匹配到相應的名字中。

總結

以上是生活随笔為你收集整理的logstash的使用教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。