ELK 是三個開源軟件的縮寫,分別爲:Elasticsearch、Logstash 以及 Kibana,它們都是開源軟件。不過如今還新增了一個 Beats,它是一個輕量級的日誌收集處理工具(Agent),Beats 佔用資源少,適合於在各個服務器上搜集日誌後傳輸給 Logstash,官方也推薦此工具,目前因爲本來的 ELK Stack 成員中加入了 Beats 工具因此已更名爲 Elastic Stack。html
根據 Google Trend 的信息顯示,Elastic Stack 已經成爲目前最流行的集中式日誌解決方案。java
Elastic Stack 包含:node
ELK Stack (5.0版本以後)--> Elastic Stack == (ELK Stack + Beats)。linux
目前 Beats 包含六種工具:git
ELK 簡單架構圖:github
ElasticSearch:(存儲數據信息,搜索組件)web
因爲elasticsearch是用Java語言編寫的須要跑在Java虛擬機上,因此在安裝elasticsearch以前須要安裝Java的JDK包。版本至少要在1.80版本上的包。npm
#yum install java-1.8.0-openjdk-devel
官方軟件下載:https://www.elastic.co/products vim
若是須要下載之前的版本點擊下面。windows
配置文件:
/etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/jvm.options /etc/elasticsearch/log4j2.properties Unit File:elasticsearch.service
程序文件:
/usr/share/elasticsearch/bin/elasticsearch /usr/share/elasticsearch/bin/elasticsearch-keystore: /usr/share/elasticsearch/bin/elasticsearch-plugin:管理插件程序
#wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.rpm #下載rpm的包 #yum install java-1.8.0-openjdk-devel #安裝JDK的包 #rpm -ivh elasticsearch-5.6.10.rpm #將下載下來的包安裝,因爲此包沒有依賴因此使用rpm安裝就能夠 #systemctl start elasticsearch #啓動服務 #/etc/elasticsearch/elasticsearch.ym #修改配置文件 測試使用,主要設置網絡: network.host: 192.168.130.7 #本機Ip http.port: 9200 #監聽端口
#vim /etc/elasticsearch/jvm.options
-Xms1g #虛擬機內存
-Xmx1g # curl http://192.168.130.7:9200/ 測試
使用git安裝elasticsearch-head # yum install -y npm # git clone git://github.com/mobz/elasticsearch-head.git # cd elasticsearch-head # npm install # npm run start 檢查端口是否起來 netstat -antp |grep 9100
瀏覽器訪問測試是否正常 http://IP:9100/
nod01:(192.168.130.7)
#vim /etc/hostname #修改主機名 node1 #vim /etc/hosts #解析DNS 192.168.130.7 node1 #yum install java-1.8.0-openjdk-devel #安裝JDK的包 #rpm -ivh elasticsearch-5.6.10.rpm #將下載下來的包安裝,因爲此包沒有依賴因此使用rpm安裝就能夠 systemctl daemon-reload #包裝好後執行此命令 vim /etc/elasticsearch/jvm.options #修改配置文件;jdk的配置文件 -Xms1g -Xmx1g #佔用內存設置選項,兩個的值必須設爲相同 vim /etc/elasticsearch/elasticsearch.yml #修改主配置文件 cluster.name: myelssss #設定是否在同一個集羣的標識;可自定義名稱 node.name:node1 #當前節點的IP地址,此處作了dns解析能夠用作節點的名稱 #node.attr.rack: r1 (節點處於哪一個機架上的設置,系統會識別機架,不將數據的主切片和從切片放到同一個機架上,本實驗中不須要設置) path.data: /data/myels #數據存放的路徑;能夠自定義,或者將目錄掛載到存儲設備上 path.logs: /data/logs #日誌存放的路徑 network.host: 192.168.130.7 #當前主機的IP地址 http.port: 9200 #啓用端口號 discovery.zen.ping.unicast.hosts: [「192.168.130.7″,http.port: 9200″192.168.130.8」] #定義集羣的成員 discovery.zen.minimum_master_nodes: 2 #mkdir /data/myels #mkdir /data/logs #建立存放數據和日誌的文件夾 #chown elasticsearch: /data/* #將剛建立的文件夾的屬主和數組都改成elasticsearch全部 #systemctl start elasticsearch #啓動服務
nod02:(192.168.130.8)
#vim /etc/hostname #修改主機名 node2 #vim /etc/hosts #解析DNS 192.168.130.8 node2 #yum install java-1.8.0-openjdk-devel #安裝JDK的包 #rpm -ivh elasticsearch-5.6.10.rpm #將下載下來的包安裝,因爲此包沒有依賴因此使用rpm安裝就能夠 systemctl daemon-reload #包裝好後執行此命令 vim /etc/elasticsearch/jvm.options #修改配置文件;jdk的配置文件 -Xms1g -Xmx1g #佔用內存設置選項,兩個的值必須設爲相同 vim /etc/elasticsearch/elasticsearch.yml #修改主配置文件 cluster.name: myelssss #設定是否在同一個集羣的標識;可自定義名稱 node.name:node1 #當前節點的IP地址,此處作了dns解析能夠用作節點的名稱 #node.attr.rack: r1 (節點處於哪一個機架上的設置,系統會識別機架,不將數據的主切片和從切片放到同一個機架上,本實驗中不須要設置) path.data: /data/myels #數據存放的路徑;能夠自定義,或者將目錄掛載到存儲設備上 path.logs: /data/logs #日誌存放的路徑 network.host: 192.168.130.8 #當前主機的IP地址 http.port: 9200 #啓用端口號 discovery.zen.ping.unicast.hosts: [「192.168.130.8″,http.port: 9200″192.168.130.7」] #定義集羣的成員 discovery.zen.minimum_master_nodes: 2 #mkdir /data/myels #mkdir /data/logs #建立存放數據和日誌的文件夾 #chown elasticsearch: /data/* #將剛建立的文件夾的屬主和數組都改成elasticsearch全部 #systemctl start elasticsearch #啓動服務
官網:https://www.elastic.co/products/logstash
集中,轉換,存儲
高度插件化程序
三類核心插件:輸入插件(指定數據源抽取數據),過濾器插件,輸出插件(處理後的結果保留到不一樣位置)
多個logstash從本地日誌文件中收集日誌-->可在此添加消息隊列-->發送到logstash server(過濾器插件過濾)-->elasticsearch
三類插件
# yum install java-1.8.0-openjdk-devel #下載JDK # wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.8.rpm #下載相關包 # rpm -ivh logstash-5.6.8.rpm #安裝logstash /usr/share/logstash默認路徑 #vim /etc/profile.d/logstash.sh #路徑加載到系統環境搜索變量中 export PATH=/usr/share/logstash/bin :$PATH #exec bash #重行啓動bash #logstash --help #啓動很慢 #cd /etc/logstash #vim /conf.d/test1.conf #編輯測試配置文件,輸入什麼輸出什麼 input { stdin{} } output { stdout{ } } #logstash -f test.conf -t #指定配置文件並檢查 #logstash -f test.conf #啓動
自我獨立的web服務器
默認監聽端口:5600
工做與http協議
搜索,數據聚合
圖形界面展現
# wget ftp://172.20.0.1/pub/Sources/7.x86_64/elasticstack/kibana-5.6.8-x86_64.rpm #下載相關包 # rpm -ivh kibana-5.6.8-x86_64.rpm #安裝kibana # cd /etc/kibana/ /etc/kibana]# ls kibana.yml /etc/kibana]# vim kibana.yml #修改配置文件 server.port: 5601 #監聽於5601 server.host: "0.0.0.0" #監聽本機全部地址 elasticsearch.url: "http://172.20.81.7:9200" #elasticsearch所在主機
http://172.20.81.81:5601進入圖形界面配置
頁面使用:Discover
可視化:Visualize
面板:Dashboard
filebeat
rides在中間作消息隊列