ELK初探

需求背景: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頁面,能夠看到新生成的日誌

相關文章
相關標籤/搜索