logstash数据采集
logstash簡介
? Logstash是一個開源的服務(wù)器端數(shù)據(jù)處理管道。
? logstash擁有200多個插件,能夠同時從多個來源采集數(shù)據(jù),
轉(zhuǎn)換數(shù)據(jù),然后將數(shù)據(jù)發(fā)送到您最喜歡的 “存儲庫” 中。(大多
都是 Elasticsearch。)
? Logstash管道有兩個必需的元素,輸入和輸出,以及一個可選元素過濾器。
輸入:采集各種樣式、大小和來源的數(shù)據(jù)
? Logstash 支持各種輸入選擇 ,同時從眾多常用來源捕捉事件。
? 能夠以連續(xù)的流式傳輸方式,輕松地從您的日志、指標(biāo)、Web 應(yīng)用、
數(shù)據(jù)存儲以及各種 AWS 服務(wù)采集數(shù)據(jù)。
過濾器:實時解析和轉(zhuǎn)換數(shù)據(jù)
? 數(shù)據(jù)從源傳輸?shù)酱鎯斓倪^程中,Logstash 過濾器能夠解析各個事件,
識別已命名的字段以構(gòu)建結(jié)構(gòu),并將它們轉(zhuǎn)換成通用格式,以便更輕松、
更快速地分析和實現(xiàn)商業(yè)價值。
- 利用 Grok 從非結(jié)構(gòu)化數(shù)據(jù)中派生出結(jié)構(gòu)
- 從 IP 地址破譯出地理坐標(biāo)
- 將 PII 數(shù)據(jù)匿名化,完全排除敏感字段
- 簡化整體處理,不受數(shù)據(jù)源、格式或架構(gòu)的影響
輸出:選擇您的存儲庫,導(dǎo)出您的數(shù)據(jù)
? 盡管 Elasticsearch 是我們的首選輸出方向,能夠為我們的搜索
和分析帶來無限可能,但它并非唯一選擇。
? Logstash 提供眾多輸出選擇,您可以將數(shù)據(jù)發(fā)送到您要指定的地
方,并且能夠靈活地解鎖眾多下游用例。
Logstash安裝與配置
軟件下載
https://elasticsearch.cn/download/
logstash安裝
[root@server5 ~]# rpm -ivh jdk-8u181-linux-x64.rpm [root@server5 ~]# rpm -ivh logstash-7.6.1.rpm加到環(huán)境變量
[root@server5 ~]# vim .bash_profile [root@server5 ~]# source .bash_profile標(biāo)準(zhǔn)輸入到標(biāo)準(zhǔn)輸出
[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}"} # 定制數(shù)據(jù)格式}stdout { } } [root@server5 ~]# logstash -f /etc/logstash/conf.d/file.conf #指定配置文件運(yùn)行在標(biāo)準(zhǔn)輸入中鍵入"hello world"后可以查看
標(biāo)準(zhǔn)文件輸入日志文件
[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如何區(qū)分設(shè)備、文件名、文件的不同版本
logstash會把進(jìn)度保存到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/messagessincedb文件內(nèi)容解釋
[root@server5 file]# cat .sincedb_452905a167cf4509fd08acb964fdb20c 51010973 0 64768 58744 1615282030.717793 /var/log/messagessincedb文件一共6個字段
在運(yùn)行時,只顯示最新的日志,不顯示之前的。
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命令行輸出結(jié)果:
默認(rèn)會開啟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服務(wù)日志過濾實戰(zhàn)
[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
總結(jié)
以上是生活随笔為你收集整理的logstash数据采集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ELK日志分析平台(elasticsea
- 下一篇: kibana数据可视化