1. 程式人生 > >ELK介紹、安裝es、測試(檢視叢集狀態)、總結

ELK介紹、安裝es、測試(檢視叢集狀態)、總結

ELK介紹、安裝es、測試(檢視叢集狀態)、總結

 

 

 

 

 

 ELK介紹

 

 

 

 

 

需求背景

業務發展越來越龐大,伺服器越來越多

各種訪問日誌、應用日誌、錯誤日誌量越來越多

開發人員排查問題,需要到伺服器上查日誌,不方便

運營人員需要一些資料,需要我們運維到伺服器上分析日誌

ELK介紹

官網https://www.elastic.co/cn/

中文指南https://www.gitbook.com/book/chenryn/elk-stack-guide-cn/details

ELK Stack (5.0版本之後) Elastic Stack == (ELK Stack + Beats)

ELK Stack包含:ElasticSearch、Logstash、Kibana

ElasticSearch是一個搜尋引擎,用來搜尋、分析、儲存日誌。它是分散式的,也就是說可以橫向擴容,可以自動發現,索引自動分片,總之很強大。文件https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

Logstash用來採集日誌,把日誌解析為json格式交給ElasticSearch。

Kibana是一個數據視覺化元件,把處理後的結果通過web介面展示

Beats在這裡是一個輕量級日誌採集器,其實Beats家族有5個成員

早期的ELK架構中使用Logstash收集、解析日誌,但是Logstash對記憶體、cpu、io等資源消耗比較高。相比 Logstash,Beats所佔系統的CPU和記憶體幾乎可以忽略不計

x-pack對Elastic Stack提供了安全、警報、監控、報表、圖表於一身的擴充套件包,是收費的

ELK架構

 

 

 

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

27.2 ELK安裝準備工作

 

 

 

 

準備3臺機器128,130,133

角色劃分:

1.3臺全部安裝elasticsearch(後續簡稱es) ,1主節點128,2資料節點130,133

2.es主128上安裝kibana

3.1臺es資料節點130上安裝logstash (beats先不裝)

4.3臺機器全部安裝jdk8(openjdk即可)

yum install -y java-1.8.0-openjdk

 

 

 

例項:

[root@axinlinux-01 ~]# vim /etc/hosts #先寫一個hosts。三臺機器都寫

192.168.208.128 axinlinux-01

192.168.208.130 axinlinux-02

192.168.208.133 axinlinux-03

[root@axinlinux-02 ~]# vim /etc/hosts

[root@axinlinux-03 ~]# vim /etc/hosts

[root@axinlinux-02 ~]# yum install -y java-1.8.0-openjdk #三個機器分別安裝opebjdk。其他兩臺都手動安裝過啦,就不需要了

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

ELK安裝 – 安裝es

 

 

官方文件 https://www.elastic.co/guide/en/elastic-stack/current/installing-elastic-stack.html

以下操作3臺機器上都要執行

1.rpm - -import https://artifacts.elastic.co/GPG-KEY-elasticsearch

#就是搞一個yum源

簡單說就是要匯入金鑰。 涉及到一個安全驗證。

https://www.cnblogs.com/musang/p/5856259.html

2.vim /etc/yum.repos.d/elastic.repo //加入如下內容

[elasticsearch-6.x]

name=Elasticsearch repository for 6.x packages

baseurl=https://artifacts.elastic.co/packages/6.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

3.yum install -y elasticsearch //然後安裝

如果,yum速度太慢。也可以直接下載rpm檔案,然後安裝

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.rpm

rpm -ivh elasticsearch-6.0.0.rpm

 

 

例項:

[root@axinlinux-01 ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch #三臺機器都要執行

[root@axinlinux-01 ~]# vim /etc/yum.repos.d/elastic.repo #三臺機器都要執行。檔名寫什麼都可以,關鍵是字尾名要為.repo

[elasticsearch-6.x]


name=Elasticsearch repository for 6.x packages

baseurl=https://artifacts.elastic.co/packages/6.x/yum

gpgcheck=1


gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1


autorefresh=1


type=rpm-md

[root@axinlinux-01 ~]# yum list |grep elastic

apm-server.i686                             6.8.0-1                    elasticsearch-6.x
apm-server.x86_64                           6.8.0-1                    elasticsearch-6.x
auditbeat.i686                              6.8.0-1                    elasticsearch-6.x
auditbeat.x86_64                            6.8.0-1                    elasticsearch-6.x
elasticsearch.noarch                        6.8.0-1                    elasticsearch-6.x
filebeat.i686                               6.8.0-1                    elasticsearch-6.x
filebeat.x86_64                             6.8.0-1                    elasticsearch-6.x
heartbeat-elastic.i686                      6.8.0-1                    elasticsearch-6.x
heartbeat-elastic.x86_64                    6.8.0-1                    elasticsearch-6.x
journalbeat.i686                            6.8.0-1                    elasticsearch-6.x
journalbeat.x86_64                          6.8.0-1                    elasticsearch-6.x
kibana.x86_64                               6.8.0-1                    elasticsearch-6.x
kibana-oss.x86_64                           6.3.0-1                    elasticsearch-6.x
logstash.noarch                             1:6.8.0-1                  elasticsearch-6.x
metricbeat.i686                             6.8.0-1                    elasticsearch-6.x
metricbeat.x86_64                           6.8.0-1                    elasticsearch-6.x
packetbeat.i686                             6.8.0-1                    elasticsearch-6.x
packetbeat.x86_64                           6.8.0-1                    elasticsearch-6.x
pcp-pmda-elasticsearch.x86_64               4.1.0-5.el7_6              updates  
rsyslog-elasticsearch.x86_64                8.24.0-34.el7              base 

elasticsearch.noarch 6.5.4-1 elasticsearch-6.x #就是這個直接yum。但是速度太慢了,可以去官網下載的rpm包,然後再rpm -ivh的

 yum install -y elasticsearch //也可以直接下載rpm檔案,然後安裝
 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.rpm
 rpm -ivh elasticsearch-6.0.0.rpm

yum install -y elasticsearch.noarch 6.5.4-1 elasticsearch-6.x

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

配置es

 

 

 

elasticsearch配置檔案/etc/elasticsearch和/etc/sysconfig/elasticsearch

參考https://www.elastic.co/guide/en/elasticsearch/reference/6.0/rpm.html

1.在128上(主節點)編輯配置檔案vi /etc/elasticsearch/elasticsearch.yml//增加或更改

cluster.name: aminglinux #叢集的名字

node.master: true//意思是該節點為主節點

node.data: false 意思是不是data節點。以上這兩行是要加進去的

network.host: 192.168.208.128 #在哪個ip上監聽埠。只監聽一個內網ip就行了

discovery.zen.ping.unicast.hosts: ["192.168.133.130", "192.168.133.132", "192.168.133.133"] #定義有哪些機器。可以寫ip。也可以寫主機名(需定義hosts)

2.在132和133上同樣編輯配置檔案vi /etc/elasticsearch/elasticsearch.yml//增加或更改

cluster.name: aminglinux

node.master: false

node.data: true

network.host: 192.168.208.130(所在機器的ip)

discovery.zen.ping.unicast.hosts: ["192.168.133.130", "192.168.133.132", "192.168.133.133"]

 

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

ELK安裝 – 安裝x-pack(可省略、收費!)

 

 

 

3臺機器上都要執行

cd /usr/share/elasticsearch/bin/ (可省略)

./elasticsearch-plugin install x-pack //如果速度慢,就下載x-pack壓縮包(可省略)

cd /tmp/; wget https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-6.0.0.zip (可省略)

./elasticsearch-plugin install file:///tmp/x-pack-6.0.0.zip (可省略)

啟動elasticsearch服務

systemctl enable elasticsearch.service

 

systemctl start elasticsearch.service

以下操作只需要在130上執行

安裝x-pack後就可以為內建使用者設定密碼了,如下

/usr/share/elasticsearch/bin/x-pack/setup-passwords interactive (可省略)

curl localhost:9200 -u elastic //輸入密碼,可以檢視到輸出資訊(可省略)

 

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

ELK安裝 – curl檢視es(檢視叢集是否成功)

 

 

128(主節點)上執行

curl 'localhost:9200/_cluster/health?pretty' 健康檢查(狀態)

#我們繫結的ip是內網(192.168.208.128),所以這裡localhost要寫成192.168.208.128.如果繫結的是0.0.0.0,就可以寫localhost

 

curl 'localhost:9200/_cluster/state?pretty'    叢集詳細資訊

參考 http://zhaoyanblog.com/archives/732.html

 

 

 

9200埠是cluster自己本身要通訊的

9300埠是他們資料傳輸的時候用到的

 

總結:

首先要安裝rpm包(可以yum,但比較慢),然後rpm -ivh安裝

主節點機器上配置配置檔案vim /etc/elasticsearch/elasticsearch.yml

啟動不了,可以檢視日誌: 1. /var/log/masssges

2. /var/log/elasticsearch/aminglinux.log