【Docker系列】認識ELK,docker安裝ELK和IK分詞器

1.ELK簡介git

ELK是三個開源軟件的縮寫,分別表示:Elasticsearch , Logstash, Kibana , 它們都是開源軟件。新增了一個FileBeat,它是一個輕量級的日誌收集處理工具(Agent),Filebeat佔用資源少,適合於在各個服務器上搜集日誌後傳輸給Logstash,官方也推薦此工具。github

  • Elasticsearch是個開源分佈式搜索引擎,提供蒐集、分析、存儲數據三大功能。它的特色有:分佈式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。
  • Logstash 主要是用來日誌的蒐集、分析、過濾日誌的工具,支持大量的數據獲取方式。通常工做方式爲c/s架構,client端安裝在須要收集日誌的主機上,server端負責將收到的各節點日誌進行過濾、修改等操做在一併發往elasticsearch上去。
  • Kibana 也是一個開源和免費的工具,Kibana能夠爲 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 界面,能夠幫助彙總、分析和搜索重要數據日誌。
  • Filebeat隸屬於Beats。目前Beats包含四種工具: Packetbeat(蒐集網絡流量數據),Topbeat(蒐集系統、進程和文件系統級別的 CPU 和內存使用狀況等數據),Filebeat(蒐集文件數據),Winlogbeat(蒐集 Windows 事件日誌數據)

2.安裝logstashdocker

1.拉取鏡像json

docker pull logstash:5.6.11

2.建立目錄ruby

mkdir /docker/logstash
cd /docker/logstash

3.建立配置文件服務器

touch logstash.config
文件內容:
input
{
        udp
        {
            port => 8888
            codec => json
        }
}
output
{
       elasticsearch{
            hosts => "192.168.186.129:9200"
            index => "indextest"
        }
        stdout{
            codec => rubydebug
        }
}

4.建立,啓動logstash容器restful

docker run -p 8888:8888/udp -d -v /docker/logstash:/config-dir logstash:5.6.11 -f /config-dir/logstash.conf

3.安裝elasticsearch網絡

1.拉取鏡像架構

docker pull elasticsearch:5.6.11

 

2.建立數據目錄併發

mkdir /docker/es && mkdir /docker/es/data

 

3.建立ES容器並啓動

  docker run -d -p 9200:9200 -p 9300:9300 \
  -v  /docker/es/data:/usr/share/elasticsearch/data \
  elasticsearch:5.6.11

 

4.測試

 

 

 

 

 

 5.啓動問題排查

默認啓動ES分配2G內存,如提示內存不足,可進行修改

find /var/lib/docker/overlay/ -name jvm.options

查到以下結果:

/var/lib/docker/overlay2/1fb59070a037d02dccfc33e15d6e24cf9127882cc19521a1654192d3d3b1c7ec/diff/etc/logstash/jvm.options
/var/lib/docker/overlay2/d2b9e8e913dff7c015cbb27b34ca4b9921bdd43869a1bfb1413af468cb14465e/diff/etc/elasticsearch/jvm.options
/var/lib/docker/overlay2/dd2634a4b14f8ef455ae969466af25d147f508c0e9785bb3e7703eb933675ecf/merged/etc/logstash/jvm.options

 

修改elasticsearch/jvm.options

把
-Xms2g 改成 -Xms512m
-Xmx2g 改成 -Xmx512m

 

 6.安裝IK分詞器

a.docker exec -it 容器ID
b.elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.11/elasticsearch-analysis-ik-5.6.11.zip 
重啓容器加載IK分詞器時候會保存,IK分詞器下缺乏配置文件,沒搞明白爲何5.6.11安裝的IK插件缺乏了,宿主機下載瞭解壓後Copy到容器中
docker cp ik/config 容器ID:/usr/share/elasticsearch/plugins/analysis-ik
重啓容器

 

測試安裝的分詞器:

GET _analyze?pretty
{
  "analyzer": "ik_smart",
  "text": "中華人民共和國國歌"
}

 

4.安裝kibana

1.拉取kibana鏡像

docker pull kibana:5.6.11

 

2.建立kibana容器並啓動

docker run -p 5601:5601  -e ELASTICSEARCH_URL=http://192.168.186.129:9200 -d kibana:5.6.11

 

3.測試

 

相關文章
相關標籤/搜索