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