實(shí)戰(zhàn)ElasticStack-ELK部署與配置-創(chuàng)新互聯(lián)

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

  • 系統(tǒng)環(huán)境:CentOS Linux release 7.5.1804 (Core)
  • 服務(wù)器數(shù)量:8 臺(tái)
    實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

相關(guān)軟件及版本

創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元沙河做網(wǎng)站,已為上家服務(wù),為沙河各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

jdk-8u181-linux-x64.tar.gz
elasticsearch-6.3.2.tar.gz
zookeeper-3.4.12.tar.gz
kafka_2.10-0.10.0.1.tgz
filebeat-6.3.2-linux-x86_64.tar.gz
kibana-6.3.2-linux-x86_64.tar.gz
logstash-6.3.2.tar.gz

約定

所有安裝包放置在 /elk/app
所有軟件安裝在 /usr/local 的主目錄下


JDK的安裝

版本:jdk1.8.0_181
涉及的服務(wù)器 (c172 to c178)
這里以c172安裝JDK為例

解壓

tar zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/

添加全局環(huán)境變量

vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

變量生效

source /etc/profile

驗(yàn)證JAVA版本

java -version

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

同樣的步驟完成c173到c178服務(wù)器JAVA的安裝


ElasticSearch 的安裝與配置

版本:elasticsearch-6.3.2
涉及的服務(wù)器 c176 到 c178 (三臺(tái))
這里以c176為例

解壓

tar zxvf elasticsearch-6.3.2.tar.gz -C /usr/local/

重命名

mv elasticsearch-6.3.2 elasticsearch

創(chuàng)建獨(dú)立的es用戶,名稱:elasticsearch, 并授權(quán)給 /usr/local/elasticsearch

useradd elasticsearch
chown -R elasticsearch:elasticsearch /usr/local/elasticsearch

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

針對(duì)elasticsearch的系統(tǒng)調(diào)優(yōu)

vim /etc/sysctl.conf

加入以下內(nèi)容

fs.file-max=655360
vm.max_map_count=262144

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

vim /etc/security/limits.conf

加入以下內(nèi)容

* soft nproc 204800
* hard nproc 204800
* soft nofile 655360
* hard nofile 655360
* soft memlock unlimited
* hard memlock unlimited

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

vim /etc/security/limits.d/20-nproc.conf

修改內(nèi)容為

* soft nproc 40960
root soft nproc unlimited

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

執(zhí)行下面命令來(lái)生效

sysctl -p

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

logout系統(tǒng),再重新login,并執(zhí)行 ulimit -a 查看調(diào)優(yōu)的結(jié)果

ulimit -a

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

JVM調(diào)優(yōu)

vim /usr/local/elasticsearch/config/jvm.options
Xms 和Xmx的值,推薦設(shè)置為物理內(nèi)存的一半。(這里都設(shè)置為1GB)

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

創(chuàng)建elasticsearch 的data存放目錄

mkdir -p /data1/elasticsearch
mkdir -p /data2/elasticsearch
chown -R elasticsearch:elasticsearch /data1/elasticsearch
chown -R elasticsearch:elasticsearch /data2/elasticsearch

配置elasticsearch

vim /usr/local/elasticsearch/config/elasticsearch.yml

添加以下內(nèi)容

cluster.name: es
node.name: c176
node.master: true
node.data: true
path.data: /data1/elasticsearch,/data2/elasticsearch
path.logs: /usr/local/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 192.168.199.176
http.port: 9200
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping_timeout: 3s
discovery.zen.ping.unicast.hosts: ["192.168.199.176:9300","192.168.199.177:9300","192.168.199.178:9300"]

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

啟動(dòng)elasticsearch集群, # 注意:確保 /usr/local/elasticsearch 和 /data1/elastisearch 和 /data2/elasticsearch 的授權(quán)用戶是elasticsearch 用戶;啟動(dòng) elasticsearch服務(wù)的時(shí)候,必須要切換到 elasticsearch 用戶

su - elasticsearch
/usr/local/elasticsearch/bin/elasticsearch -d

驗(yàn)證elasticsearch服務(wù)啟動(dòng)正常

jps

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

curl http://192.168.199.176:9200
有如下輸出,表明該服務(wù)正常

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

關(guān)于elasticsearch的日志文件

/usr/local/elasticsearch/logs/XXX.log (## XXX 代表 cluster.name 的名稱)

如果服務(wù)不能正常啟動(dòng),根據(jù)日志報(bào)錯(cuò)情況來(lái)分析,判斷和解決。

對(duì)c177 和 c178 服務(wù)器做同樣的 關(guān)于 elasticsearch 的安裝,配置步驟


ZooKeeper的安裝與配置

版本:zookeeper-3.4.12
涉及的服務(wù)器 (c172 to c174)
這里以c172安裝配置 ZooKeeper 為例

解壓, 重命名主目錄

tar zxvf zookeeper-3.4.12.tar.gz -C /usr/local/
mv zookeeper-3.4.12 zookeeper

復(fù)制zoo_sample.cfg,并重名為zoo.cfg

cd /usr/local/zookeeper/conf
cp zoo_sample.cfg zoo.cfg

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

創(chuàng)建 ZooKeeper 的 data 目錄

mkdir -p /data/zookeeper

創(chuàng)建 myid 文件,其內(nèi)容為1

echo "1" > /data/zookeeper/myid (## 注意對(duì)應(yīng)的c173的值為 2, c174的值為 3;)

配置 zookeeper

vim /usr/local/zookeeper/conf/zoo.cfg

添加以下內(nèi)容

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper
clientPort=2181
server.1=192.168.199.172:2888:3888
server.2=192.168.199.173:2888:3888
server.3=192.168.199.174:2888:3888

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

啟動(dòng)ZooKeeper服務(wù), 并通過(guò) jps 或者 ps -ef 來(lái)驗(yàn)證服務(wù)正常啟動(dòng)

zkServer.sh start
jps
ps -ef | grep zookeeper

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

注意:

ZooKeeper 的日志存放位置與zookeeper啟動(dòng)的時(shí)候在同一目錄下,名稱為 zookeeper.out;
完成同樣的 zookeeper 安裝配置在 c173, c174 服務(wù)器上。


Kafka的安裝與配置

版本:kafka_2.10-0.10.0.1
涉及的服務(wù)器 (c172 to c174)
這里以c172安裝配置 ZooKeeper 為例
注意:Filebeat使用的版本(filebeat-6.3.2)所支持的Kafka版本要對(duì)應(yīng)支持
https://www.elastic.co/guide/en/beats/filebeat/6.3/kafka-output.html

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

獲取kafka安裝包

wget https://archive.apache.org/dist/kafka/0.10.0.1/kafka_2.10-0.10.0.1.tgz

解壓,重命名

tar zxvf kafka_2.10-0.10.0.1.tgz -C /usr/local/
mv kafka_2.10-0.10.0.1 kafka

創(chuàng)建kafka日志目錄

mkdir -p /kafka-logs

配置kafka配置文件

vim /usr/local/kafka/config/server.properties

關(guān)鍵配置項(xiàng)目?jī)?nèi)容 (c172為例)

broker.id=1
listeners=PLAINTEXT://192.168.199.172:9092
log.dirs=/kafka-logs
num.partitions=6
log.retention.hours=60
log.segment.bytes=1073741824
zookeeper.connect=192.168.199.172:2181,192.168.199.173:2181,192.168.199.174:2181
auto.create.topics.enable=true
delete.topic.enable=true

啟動(dòng)kafka ( nohup ...... & : 放置于后臺(tái)運(yùn)行)

nohup kafka-server-start.sh /usr/local/kafka/config/server.properties &

檢測(cè)kafka服務(wù)

jps

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

生成的kafka 的日志文件 nohup.out ( 與執(zhí)行kafka 啟動(dòng)時(shí)在同一目錄下產(chǎn)生)

同樣的步驟對(duì) c173, c174服務(wù)器完成kafka 的安裝和配置


kafka 基本命令操作

顯示topic列表

kafka-topics.sh --zookeeper c172:2181,c173:2181,c174:2181 --list

創(chuàng)建一個(gè)topic,并指定topic屬性(副本數(shù)、分區(qū)數(shù)等)

kafka-topics.sh --create --zookeeper c172:2181,c173:2181,c174:2181 --replication-factor 1 --partitions 3 --topic xyz

查看某個(gè)topic的狀態(tài)

kafka-topics.sh --describe --zookeeper c172:2181,c173:2181,c174:2181 --topic xyz

生產(chǎn)消息

kafka-console-producer.sh --broker-list c172:9092,c173:9092,c174:9092 --topic xyz

消費(fèi)消息

kafka-console-consumer.sh --zookeeper c172:2181,c173:2181,c174:2181 --topic xyz
kafka-console-consumer.sh --zookeeper c172:2181,c173:2181,c174:2181 --topic xyz --from beginning

刪除topic

kafka-topics.sh --zookeeper c172:2181,c173:2181,c174:2181 --delete --topic xyz


Filebeat 的安裝與配置

版本:filebeat-6.3.2
涉及的服務(wù)器 c171

解壓安裝,重命名

tar zxvf filebeat-6.3.2-linux-x86_64.tar.gz -C /usr/local/
mv filebeat-6.3.2-linux-x86_64 filebeat

配置filebeat有兩種方法:

傳統(tǒng)方法:修改filebeat.yml 的配置文件
模塊配置:在modules.d 目錄下包含了各種模塊

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

在modules.d 下支持的模塊列表

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

這里以修改 filebeat.yml 配置為例

############INPUT################
filebeat.inputs:

  • type: log
    enabled: true
    paths:
    • /var/log/messages
    • /var/log/secure
      fields:
      log_topic: osmessages
      name: "192.168.199.171"

############OUTPUT################
output.kafka:

enabled: true
hosts: ["192.168.199.172:9092", "192.168.199.173:9092", "192.168.199.174:9092"]
version: "0.10"
topic: '%{[fields.log_topic]}'
partition.round_robin:
reachable_only: true
worker: 2
required_acks: 1
compression: gzip
max_message_bytes: 10000000
logging.level: debug

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

啟動(dòng)filebeat

nohup ./filebeat -e -c filebeat.yml &

查看輸出

tail -f nohup.out

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

數(shù)據(jù)過(guò)濾的例子, 然后通過(guò) nohup.out可查看結(jié)果

processors:
- drop_fields:
fields: ["beat","host","input","source","offset","prospector" ]

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

驗(yàn)證 從filebeat的日志傳給了kafka
在kafka的服務(wù)器上執(zhí)行:(有一個(gè)osmessages的topic)

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

消費(fèi)osmessages;
執(zhí)行以下命令

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

測(cè)試:在任意一臺(tái)服務(wù)器上ssh到c171 (filebeat),隨后在上述的屏幕如果有以下輸出,表明kafka服務(wù)器從filebeat的服務(wù)器中獲取了數(shù)據(jù),并消費(fèi)了

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置


Logstash的安裝,配置

版本:logstash-6.3.2
涉及的服務(wù)器 c175

解壓安裝包,并重命名

tar zxvf logstash-6.3.2.tar.gz -C /usr/local/
mv logstash-6.3.2 logstash

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

logstatsh只做三件事情
接收數(shù)據(jù)(input),分析過(guò)濾(filter),輸出數(shù)據(jù)(output)
通過(guò)插件機(jī)制的方式去實(shí)現(xiàn),filter不是必須的,input,output是必須的
;
插件:https://github.com/logstash-plugins

input插件:接收數(shù)據(jù)
filter插件:過(guò)濾數(shù)據(jù)
output插件:輸出數(shù)據(jù)

Logstash 配置文件

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

jvm.options: JVM內(nèi)存資源配置文件
logstash.yml:logstash 全局配置文件
logstash 事件配置文件:手工創(chuàng)建

./logstash -e 'input{stdin{}} output{stdout{codec=>rubydebug}}'

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

或者讓logstash通過(guò)調(diào)用配置文件的方式來(lái)實(shí)現(xiàn),

vim testfile.conf

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

bin/logstash -f testfile.conf

或者放后臺(tái)運(yùn)行, 查看nohup.out 的日志

nohup bin/logstash -f testfile.conf &

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

本例的logstatsh 從kafka接收數(shù)據(jù),然后輸出給elasticsearch。 創(chuàng)建一個(gè)logstash的配置文件

vim kafka_io_es.conf

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

調(diào)用并執(zhí)行

nohup ./bin/logstash -f ./config/kafka_io_es.conf &
tail -f nohup.out

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置


Kibana的安裝與配置

版本:kibana-6.3.2
涉及的服務(wù)器 c178

解壓安裝包,并重命名

zxvf kibana-6.3.2-linux-x86_64.tar.gz -C /usr/local
mv kibana-6.3.2-linux-x86_64 kibana

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

配置文件

vim /usr/local/kibana/config/kibana.yml

輸入以下內(nèi)容

server.port: 5601
server.host: "192.168.199.178"
elasticsearch.url: "http://192.168.199.176:9200"
kibana.index: ".kibana"

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

啟動(dòng)kibana服務(wù)

nohup /usr/local/kibana/bin/kibana &

查看日志

tail -f nohup.out

查看服務(wù)進(jìn)程

ps -ef | grep node

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置

在客戶端打開(kāi)瀏覽器輸入

http://192.168.199.178:5601

實(shí)戰(zhàn) Elastic Stack - ELK 部署與配置


總結(jié)各服務(wù)的開(kāi)啟方式例子

nohup ./filebeat -e -c filebeat.yml &
zkServer.sh start
nohup kafka-server-start.sh /usr/local/kafka/config/server.properties &
nohup ./bin/logstash -f ./config/kafka_io_es.conf
elasticsearch -d
nohup /usr/local/kibana/bin/kibana &

++++++++++++++++++++++++++++++++++++++++++
要深刻理解數(shù)據(jù)流向,各項(xiàng)服務(wù)提供的功能
重點(diǎn)和難點(diǎn):logstash的插件配置(input, filter,output)
++++++++++++++++++++++++++++++++++++++++++

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)標(biāo)題:實(shí)戰(zhàn)ElasticStack-ELK部署與配置-創(chuàng)新互聯(lián)
鏈接分享:http://bm7419.com/article16/cdecgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、App開(kāi)發(fā)、關(guān)鍵詞優(yōu)化、服務(wù)器托管、做網(wǎng)站、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)