對於其餘版本,請參閱版本化插件文檔。html
有關插件的問題,請在討論論壇中打開一個主題,對於錯誤或特性請求,請在Github中打開一個問題,關於Elastic支持的插件列表,請考慮Elastic支持矩陣。git
兼容性說明
從Elasticsearch 5.3開始,有一個名爲
http.content_type.required
的HTTP設置,若是此選項設置爲true
,而且你使用的是Logstash 2.4到5.2,則須要將Elasticsearch輸入插件更新到4.0.2或更高版本。github
從Elasticsearch集羣中讀取搜索查詢的結果,這對於重放測試日誌、重建索引等很是有用。你可使用cron語法按期調度攝取(請參閱調度設置)或運行查詢一次以將數據加載到Logstash中。json
示例:數組
input { # 讀取Elasticsearch中與給定查詢匹配的全部文檔 elasticsearch { hosts => "localhost" query => '{ "query": { "match": { "statuscode": 200 } }, "sort": [ "_doc" ] }' } }
這將使用如下格式建立Elasticsearch查詢:服務器
curl 'http://localhost:9200/logstash-*/_search?&scroll=1m&size=1000' -d '{ "query": { "match": { "statuscode": 200 } }, "sort": [ "_doc" ] }'
能夠調度此插件的輸入根據特定調度按期運行,此調度語法由rufus-scheduler提供支持,語法相似cron,有一些特定於Rufus的擴展(例如時區支持)。curl
示例:elasticsearch
* 5 * 1-3 * |
將從1月到3月的天天凌晨5點每分鐘執行一次 |
0 * * * * |
將在天天每小時的第0分鐘執行 |
0 6 * * * America/Chicago |
將在天天上午6:00(UTC/GMT-5)執行 |
能夠在此處找到描述此語法的更多文檔。ide
此插件支持如下配置選項以及稍後描述的通用選項。性能
設置 | 輸入類型 | 必須 |
---|---|---|
ca_file |
一個有效的文件系統路徑 | No |
docinfo |
boolean |
No |
docinfo_fields |
數組 | No |
docinfo_target |
string |
No |
hosts |
數組 | No |
index |
string |
No |
password |
string |
No |
query |
string |
No |
schedule |
string |
No |
scroll |
string |
No |
size |
number |
No |
slices |
number |
No |
ssl |
boolean |
No |
user |
string |
No |
另請參閱通用選項以獲取全部輸入插件支持的選項列表。
ca_file
docinfo
boolean
false
若是設置,事件中包含Elasticsearch文檔信息,例如索引、類型和ID。關於元數據,可能須要注意的是,若是你正在提取文檔,意圖從新索引它們(或只是更新它們),那麼elasticsearch輸出中的action
選項想要知道如何處理這些事情,可使用添加到元數據的字段動態分配它。
示例:
input { elasticsearch { hosts => "es.production.mysite.org" index => "mydata-2018.09.*" query => '{ "query": { "query_string": { "query": "*" } } }' size => 500 scroll => "5m" docinfo => true } } output { elasticsearch { index => "copy-of-production.%{[@metadata][_index]}" document_type => "%{[@metadata][_type]}" document_id => "%{[@metadata][_id]}" } }
從Logstash 6.0開始,因爲刪除了Logstash 6.0中的類型,所以不推薦使用
document_type
選項,它將在Logstash的下一個主要版本中刪除。
docinfo_fields
["_index", "_type", "_id"]
docinfo
選項請求文檔元數據存儲,則此選項會列出要在當前事件中保存的元數據字段,有關詳細信息,請參閱Elasticsearch文檔中的文檔元數據。docinfo_target
string
"@metadata"
hosts
ca_file
index
string
"logstash-*"
password
user
選項中的用戶名一塊兒使用的密碼,若是設置爲空字符串,則將禁用身份驗證。query
string
'{ "sort": [ "_doc" ] }'
schedule
string
"* * * * *"
(每分鐘執行一次查詢),默認狀況下沒有調度,若是沒有給出調度,那麼該語句只運行一次。scroll
string
"1m"
size
number
1000
slices
number
在某些狀況下,能夠經過使用Sliced Scroll API同時消費查詢的多個不一樣切片來提升整體吞吐量,特別是若是管道花費大量時間等待Elasticsearch提供結果。若是設置,則slices
參數告訴插件將工做分紅多少個切片,並將並行地從切片生成事件,直到全部切片完成滾動。
Elasticsearch手冊指出,當滾動查詢使用的切片多於索引中的碎片時,對查詢和Elasticsearch集羣可能會產生負面的性能影響。
slices
參數,則插件不會將切片指令注入查詢。ssl
boolean
false
user
string
password
選項中的密碼一塊兒使用的用戶名,若是設置爲空字符串,則將禁用身份驗證。全部輸入插件都支持如下配置選項:
設置 | 輸入類型 | 必需 |
---|---|---|
add_field | hash | No |
codec | codec | No |
enable_metric | boolean | No |
id | 字符串 | No |
tags | 數組 | No |
type | 字符串 | No |
add_field
hash
{}
codec
codec
"json"
enable_metric
boolean
true
id
string
爲插件配置添加惟一ID
,若是未指定ID,Logstash將生成一個ID,強烈建議在配置中設置此ID,當你有兩個或更多相同類型的插件時,這尤爲有用,例如,若是你有2個elasticsearch輸入。在這種狀況下添加命名ID將有助於在使用監控API時監控Logstash。
input { elasticsearch { id => "my_plugin_id" } }
tags
type
string
type
字段添加到此輸入處理的全部事件,類型主要用於過濾器激活,類型存儲爲事件自己的一部分,所以你也可使用該類型在Kibana中搜索它。若是你嘗試在已有類型的事件上設置類型(例如,當你將事件從shipper發送到索引器時),則新輸入將不會覆蓋現有類型,shipper設置的類型即便在發送到另外一個Logstash服務器時仍會保留該事件。