需求背景:java
業務發展愈來愈大,服務器愈來愈多,各類訪問日誌,應用日誌,錯誤日誌也愈來愈多,開發人員排查問題,須要上服務器查,不方便,運營人員須要一些數據,也須要運維人員上服務器分子日誌。node
Elasticsearch 是個開源分佈式搜索引擎,它的特色有:分佈式,零配置,自動發現,索引自動分片,索引副本機制, restful 風格接口,多數據源,自動搜索負載等。web
Logstash 是一個徹底開源的工具,他能夠對你的日誌進行收集、分析,並將其存儲供之後使用(如,搜索)。vim
kibana 也是一個開源和免費的工具,他 Kibana 能夠爲 Logstash 和 Elastic Search 提供的日誌分析友好的 Web 界面,能夠幫助您彙總、分析和搜索重要數據日誌。centos
1、準備工做瀏覽器
三臺服務器環境:ruby
192.168.153.13 (主節點)cnetos7服務器
192.168.153.14 (數據節點)centos7restful
192.168.153.15 (數據節點)centos7運維
角色劃分:
3臺所有安裝elasticsearch
主節點上安裝kibana
其中一個(192.168.153.15 )數據節點上安裝logstash
2、部署工做:
1、三臺機器上都安裝jdk
yum install -y java-1.8.0-openjdk
2、安裝elasticsearch
下載6.3版本的
在一臺機器上執行
wget artifacts.elastic.co/downloads/e…
用scp同步到另外兩臺機器上
而後分別在三臺機器上執行:
rpm -ivh elasticsearch-6.3.0.rpm
3、配置es
在主節點上配置以下信息:
vim /etc/elasticsearch/elasticsearch.yml
cluster.name: test
node.name: test-01
node.master: true
node.data: false
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 192.168.153.13
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.153.13","192.168.153.14", "192.168.153.15"]
配置完保存,分別拷貝到其餘兩個節點上
在一個從節點:
vim /etc/elasticsearch/elasticsearch.yml #修改如下4行數據
node.name: test-14
node.master: false
node.data: true
network.host: 192.168.153.14
在另外一個從節點也是一樣的修改(注意ip和node.name不同)
4、啓動es
順序:主,從,從
systemctl start elasticsearch
#curl '192.168.153.13:9200/_cluster/health?pretty'
查看集羣節點有沒有問題
5、安裝kibana(主機器上)
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.0-x86_64.rpm
rpm -ivh kibana-6.3.0-x86_64.rpm
vim /etc/kibana/kibana.yml #配置kibana
server.port: 5601
server.host: 192.168.153.13
elasticsearch.url: "http://192.168.153.13:9200"
啓動:
systemctl start kibana
查看進程,端口,檢查服務是否啓動起來
瀏覽器訪問:192.168.153.13:5601,能夠訪問到說明成功了
6、安裝logstash
在192.168.153.15機器上安裝
wget artifacts.elastic.co/downloads/l…
rpm -ivh logstash-6.3.0.rpm
配置logstash
vim /etc/logstash/conf.d/syslog.conf #以收集系統日誌爲例
input{
syslog{
type => "syslog-syslog"
port => 10514
}
}
output{
stdout{
codec => rubydebug
}
}
檢查配置文件是否有錯:
cd /usr/share/logstash/bin
./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.te
st_and_exit
顯示Configuration OK,說明能夠啓動了
注:啓動以前要作一件事,檢查10514端口是否打開,沒有打開,那麼配置一下
vim /etc/rsyslog.conf
在#### RULES #### 下面添加一行
*.*@@192.168.153.15:10514
啓動:
./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf
注:此處一個小實驗
執行了./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf ,終端頁面不會退出,在新打開一個終端頁面,執行systemctl restart rsyslog,而後反過去看以前的終端頁面,會出現日誌信息(圖略)
3、配置logstash收集信息展現在kibana上
1、配置並啓動logstash
vim /etc/logstash/conf.d/syslog.conf
input{
syslog{
type => "syslog-syslog"
port => 10514
}
}
output{
elasticsearch{
hosts => ["192.168.153.13:9200"]
index => "system-syslog-%{+YYYY.MM}"
}
}
檢查配置:
/usr/share/logstash/bin/logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.te
st_and_exit
爲對logstash的日誌和數據目錄受權:
chown -R logstash /var/lib/logstash/
chown -R logstash /log/lib/logstash/
啓動:
systemctl restart logstash
稍等查看端口9600是否啓動起來
2、kibana上看日誌
配置logstash監聽192.168.153.15這個ip
vim /etc/logstash/logstash.yml
http.host: "192.168.153.15"
systemctl restart logstash
web頁面打開kibana並配置索引;
索引能夠執行:curl '192.168.153.13:9200/_cat/indices?v' 來獲取
而後下一步,create;
回到首頁discover,能夠看到
3、實驗:
終端窗口關閉192.168.153.15這個頁面,再從新鏈接,會看到/var/log/messages下會生成新的日誌;
刷新kibana頁面,能夠看到新生成的日誌