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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

logstash数据采集

發布時間:2024/9/3 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 logstash数据采集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

logstash簡介

? Logstash是一個開源的服務器端數據處理管道。
? logstash擁有200多個插件,能夠同時從多個來源采集數據,
轉換數據,然后將數據發送到您最喜歡的 “存儲庫” 中。(大多
都是 Elasticsearch。)
? Logstash管道有兩個必需的元素,輸入和輸出,以及一個可選元素過濾器。


輸入:采集各種樣式、大小和來源的數據
? Logstash 支持各種輸入選擇 ,同時從眾多常用來源捕捉事件。
? 能夠以連續的流式傳輸方式,輕松地從您的日志、指標、Web 應用、
數據存儲以及各種 AWS 服務采集數據。

過濾器:實時解析和轉換數據
? 數據從源傳輸到存儲庫的過程中,Logstash 過濾器能夠解析各個事件,
識別已命名的字段以構建結構,并將它們轉換成通用格式,以便更輕松、
更快速地分析和實現商業價值。

  • 利用 Grok 從非結構化數據中派生出結構
  • 從 IP 地址破譯出地理坐標
  • 將 PII 數據匿名化,完全排除敏感字段
  • 簡化整體處理,不受數據源、格式或架構的影響

輸出:選擇您的存儲庫,導出您的數據
? 盡管 Elasticsearch 是我們的首選輸出方向,能夠為我們的搜索
和分析帶來無限可能,但它并非唯一選擇。
? Logstash 提供眾多輸出選擇,您可以將數據發送到您要指定的地
方,并且能夠靈活地解鎖眾多下游用例。

Logstash安裝與配置

軟件下載

https://elasticsearch.cn/download/

logstash安裝

[root@server5 ~]# rpm -ivh jdk-8u181-linux-x64.rpm [root@server5 ~]# rpm -ivh logstash-7.6.1.rpm

加到環境變量

[root@server5 ~]# vim .bash_profile [root@server5 ~]# source .bash_profile

標準輸入到標準輸出

[root@server5 ~]# logstash -e 'input { stdin { } } output { stdout {} }'

file輸出插件

[root@server5 ~]# vim /etc/logstash/conf.d/file.conf input {stdin { } } output {file {path => "/tmp/logstash.txt" # 輸出的文件路徑codec => line { format => "custom format: %{message}"} # 定制數據格式}stdout { } } [root@server5 ~]# logstash -f /etc/logstash/conf.d/file.conf #指定配置文件運行

在標準輸入中鍵入"hello world"后可以查看

[root@server5 ~]# cat /tmp/logstash.txt custom format: hello world

標準文件輸入日志文件

[root@server5 ~]# vim /etc/logstash/conf.d/file.conf input {file {path => "/var/log/messages"start_position => "beginning"} } output {#file {# path => "/tmp/logstash.txt"# codec => line { format => "custom format: %{message}"} #}stdout { } } [root@server5 ~]# logstash -f /etc/logstash/conf.d/file.conf


logstash如何區分設備、文件名、文件的不同版本

logstash會把進度保存到sincedb文件中

# find / -name .sincedb* /usr/share/logstash/data/plugins/inputs/file/.sincedb_452905a167cf4509fd08acb964fdb20c # cd /usr/share/logstash/data/plugins/inputs/file/ [root@server5 file]# l. . .. .sincedb_452905a167cf4509fd08acb964fdb20 [root@server5 file]# cat .sincedb_452905a167cf4509fd08acb964fdb20c 51010973 0 64768 58744 1615282030.717793 /var/log/messages

sincedb文件內容解釋

[root@server5 file]# cat .sincedb_452905a167cf4509fd08acb964fdb20c 51010973 0 64768 58744 1615282030.717793 /var/log/messages

sincedb文件一共6個字段

  • inode編號
  • 文件系統的主要設備號
  • 文件系統的次要設備號
  • 文件中的當前字節偏移量
  • 最后一個活動時間戳(浮點數)
  • 與此記錄匹配的最后一個已知路徑
  • 在運行時,只顯示最新的日志,不顯示之前的。

    Syslog插件

    root@server5 ~]# cd /etc/logstash/conf.d/ [root@server5 conf.d]# vim file.conf input {file {path => "/var/log/messages"start_position => "beginning"} } output {#file {# path => "/tmp/logstash.txt"# codec => line { format => "custom format: %{message}"} #}elasticsearch {hosts => ["172.25.3.1:9200"]index => "syslog-%{+yyyy.MM.dd}"}stdout { } } [root@server5 conf.d]# logstash -f file.conf

    命令行輸出結果:


    [root@server5 conf.d]# cat file.conf input {#file {#path => "/var/log/messages"#start_position => "beginning"syslog {} #} } output {#file {# path => "/tmp/logstash.txt"# codec => line { format => "custom format: %{message}"} #}elasticsearch {hosts => ["172.25.3.1:9200"]index => "message-%{+yyyy.MM.dd}"}stdout { } } [root@server5 conf.d]# logstash -f file.conf [root@server4 ~]# vim /etc/rsyslog.conf *.* @@172.25.3.5:514 [root@server4 ~]# systemctl restart rsyslog.service

    默認會開啟514端口

    多行過濾插件

    多行過濾可以把多行日志記錄合并為一行事件

    [root@server5 conf.d]# cat demo.conf input {stdin {codec => multiline {pattern => "^EOF"negate => "true" what => "previous"}} } output {stdout {} } [root@server5 conf.d]# logstash -f demo.conf

    [root@server4 ~]# cd /var/log/elasticsearch/ [root@server4 elasticsearch]# scp my-es.log server5:/var/log/ [root@server5 conf.d]# vim file.conf input {file {path => "/var/log/my-es.log"start_position => "beginning"codec => multiline {pattern => "^\["negate => "true"what => "previous"}}#syslog {} } output {#file {# path => "/tmp/logstash.txt"# codec => line { format => "custom format: %{message}"} #}elasticsearch {hosts => ["172.25.3.1:9200"]index => "my-es-%{+yyyy.MM.dd}"}stdout { } } [root@server5 conf.d]# logstash -f file.conf


    grok過濾插件

    apache服務日志過濾實戰

    [root@server5 conf.d]# cat apache.conf input {file {path => "/var/log/httpd/access_log"start_position => "beginning"}#syslog {} }filter{grok {match => {"message" => "%{HTTPD_COMBINEDLOG}"} } } output {#file {# path => "/tmp/logstash.txt"# codec => line { format => "custom format: %{message}"} #}elasticsearch {hosts => ["172.25.3.1:9200"]index => "apachelog-%{+yyyy.MM.dd}"}stdout { } } [root@server5 conf.d]# logstash -f apache.conf




    總結

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

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