Logstash筆記(一)
(一)含義:
logstash是一種分布式日誌收集框架,開發語言是JRuby,當然是為了與Java平臺對接,不過與Ruby語法兼容良好,非常簡潔強大,經常與ElasticSearch,Kibana配置,組成著名的ELK技術棧,非常適合用來做日誌數據的分析。
當然它可以單獨出現,作為日誌收集軟件,你可以收集日誌到多種存儲系統或臨時中轉系統,如MySQL,redis,kakfa,HDFS, lucene,solr等並不一定是ElasticSearch
(二)安裝
1,下載和安裝。通過官網進行下載目前最新的版本 https://www.elastic.co/cn/downloads/logstash
[[email protected] local]# wget https://artifacts.elastic.co/downloads/logstash/lo gstash-5.4.0.tar.gz --2017-05-22 17:05:29-- https://artifacts.elastic.co/downloads/logstash/logstash-5.4.0.tar.gz Resolving artifacts.elastic.co... 174.129.40.40, 184.72.234.88, 184.73.227.9, ... Connecting to artifacts.elastic.co|174.129.40.40|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 92546670 (88M) [application/x-gzip] Saving to: “logstash-5.4.0.tar.gz” 100%[======================================>] 92,546,670 9.10M/s in 14s 2017-05-22 17:05:44 (6.52 MB/s) - “logstash-5.4.0.tar.gz” saved [92546670/92546670] [[email protected]
2,常用的命令
[[email protected] local]# logstash/bin/logstash -V logstash 2.2.2
常用的選項有:
選項:
-f , 指定加載一個後綴為.conf文件的logstash配置模塊
-e , 命令行指定參數 , 通常用來調試
-w, 指定logstash的工作線程數
-l, 指定logstash的默認日誌寫入到一個文件中,如果不指定,默認是標準輸出
--quiet 靜默模式,僅僅只有error級別信息輸出
--debug debug 級別的log輸出.
-V, --version 查看logstash的版本
-p, --pluginpath PATH 加載自定義的logstash插件
-t, --configtest 檢查logstash配置是否有效
-h, --help 打印幫助
(三)常用的模型
(1)input => output
(2)input => filter => output
具體的解釋如下:
a . input常用的輸入源有:file ,syslog,redis,log4j,tomcat_log,nging.log,以及各種業務log
b.filter常用的選項有:
grok:支持正則提取任何非結構化數據或結構化數據,其中logstash內置120多種正則,比如常見的時間,ip,用戶名,等等也支持自定義正則解析
mutate:修改字段名,刪除,更新等操作,轉換字段類型等
drop: 刪除某些時間,如debug
clone:拷貝一份事件副本,用來添加或刪除字段
geoip : 通過ip獲取地理位置信息,在做kibana區域統計圖非常酷炫
ruby: 支持原生的ruby代碼,操作事件,實現強大的其他功能
c.output常用的輸出選項有:
elasticsearch 比較常用
file:寫入文件
redis:寫入隊列
hdfs:寫入HDFS,需插件支持
zabbix: zabbix監控
mongodb:寫入mongodb庫
codecs:編碼插件,常用來處理json數據或者多行數據源
(四)常見的操作
(1),-e使用命令行調試。結束已ctrl+d直接結束:
[[email protected] logstash]# /usr/local/logstash/bin/logstash -e "input{stdin{}} output{stdout{}}" Settings: Default pipeline workers: 1 Logstash startup completed hello world 2017-05-22T09:28:04.364Z localhost.localdomain hello world test 2017-05-22T09:28:52.170Z localhost.localdomain test
(2),-f調試。如果配置比較多的話,可以寫成以.conf結尾的配置文件裏,然後使用-f 命令進行加載。
[[email protected] etc]# vim hello.conf input{stdin{}} output{stdout{}} [[email protected] etc]# /usr/local/logstash/bin/logstash -f hello.conf --configte st Configuration OK [[email protected] etc]# /usr/local/logstash/bin/logstash -f hello.conf Settings: Default pipeline workers: 1 Logstash startup completed hello world 2017-05-22T09:40:23.044Z localhost.localdomain hello world
本文出自 “清風明月” 博客,請務必保留此出處http://liqingbiao.blog.51cto.com/3044896/1928343
Logstash筆記(一)