docker pull logstash:7.5.1
docker run --name logstash -d -p 5044:5044 --net esnet 8b94897b4254
命令中的--net設置的網絡要和ES、kibana保持一致docker
// 0.0.0.0:容許任何IP訪問 http.host: "0.0.0.0" // 配置elasticsearch集羣地址 xpack.monitoring.elasticsearch.hosts: [ "http://192.168.172.131:9200","http://192.168.172.129:9200","http://192.168.172.128:9200" ] // 容許監控 xpack.monitoring.enabled: true // 啓動時讀取配置文件指定 path.config: /usr/share/logstash/config/logstash.conf // 指定的該文件能夠配置Logstash讀取一些文件導入ES
# Sample Logstash configuration for creating a simple # Beats -> Logstash -> Elasticsearch pipeline. input { //這塊端口能夠不配,由於默認就是5044端口 beats { port => 5044 } } output { elasticsearch { // 配置成ES節點,集羣則能夠配置全部節點 hosts => ["http://localhost:9200"] // 能夠自定義 index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" #user => "elastic" #password => "changeme" } }
若是在logstash啓動的時候要導入文檔網絡
配置以下:elasticsearch
input { file { path => "/usr/share/logstash/bin/file.csv" start_position => "beginning" sincedb_path => "/dev/null" } } ````` output { elasticsearch { hosts => "http://localhost:9200" index => "file" document_id => "%{id}" } stdout {} }
固然,7.X版本默認只有一個主分片和一個副分片,若是咱們想要指定多個分片,那麼須要在啓動logstash的時候預先建立好索引,並設置好分片分配ide
PUT /file { "settings": { "number_of_shards": 3, "number_of_replicas": 1 } }
具體Elasticsearch集羣搭建請移步到:http://www.javashuo.com/article/p-trpfayux-gt.htmlcode