ELK(Elasticsearch + Logstash + Kibana + redis)快速搭建(一)

寫在前面

首先,最好的學(xué)習(xí)方式是:看官網(wǎng)!版本更新后,有些接口會跟著改變,因此官網(wǎng)是最好的指導(dǎo)書!

其次,出現(xiàn)問題時,1.看log!  2. 看官網(wǎng)!


我的系統(tǒng)架構(gòu)

先介紹一下我的系統(tǒng)架構(gòu),以便參考。

需求:收集線上服務(wù)器的各種log,然后分析并可視化,對某些級別的log進(jìn)行告警。

痛點:1)線上服務(wù)器較多,較分散

  ?。玻﹍og比較龐大

根據(jù)我的需求,采用了以下架構(gòu)。

1) files ---> logstash --> redis

2) redis--> logstash --> elasticsearch --> kibana

首先,要收集的logfile分布在不同的服務(wù)器上,通過logstash將不同服務(wù)器的logfile收集到redis.

然后,再使用logstash從redis中讀取log,到es cluster,從而通過kibana可視化輸出。

這樣做,可以使得收集log和處理log解耦,以免一邊出錯帶來的影響。

注:我的系統(tǒng)為ubuntu16.04


前提條件

?ELK基于jdk,因此需要先安裝jdk.本文使用源碼安裝。?

?1. 下載jdk?

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

?2. 解壓?

? tar xzvf jdk-8u144-linux-x64.tar.gz?

?3. 配置環(huán)境變量?

? sudo vi /etc/profile?

? 在最后加入:?

? export JAVA_HOME=/home/radmin/Software/jdk1.8.0_144?

?export PATH=$JAVA_HOME/bin:$PATH?

?4. 加載環(huán)境變量使之生效?

? source /etc/profile?

?5. 檢查java安裝是否OK?

? java --version


ELK安裝及配置

本文僅介紹源碼安裝

1. 下載源碼elasticsearch, logstash, kibana

https://www.elastic.co/downloads

elasticsearch-6.3.1.tar.gz

kibana-6.3.1-linux-x86_64.tar.gz?

logstash-6.3.2.tar.gz

2. 解壓包

?tar xzvf?elasticsearch-6.3.1.tar.gz

?tar xzvf?kibana-6.3.1-linux-x86_64.tar.gz?

?tar xzvf?logstash-6.3.2.tar.gz

3. 下載redis并安裝配置

sudo apt-get install redis-server

安裝完,通過以下命令查看安裝是否成功

ps -ef | grep redis

? ? ? ? redis ? ? 18628? ? 1? 0 18:42 ?? ? ? ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379

修改配置文件,設(shè)置密碼,并修改IP

sudo vim /etc/redis/redis.conf

? ? ? ? bind <your_IP>

? ? ? ? requirepass <your_password>

重啟redis

sudo service redis restart

查看進(jìn)程:

ps -ef|grep redis

? ? ? ? redis ? ?18628? ? 1? 0 18:42 ?? ? ? ? 00:00:00 /usr/bin/redis-server <your_ip>:6379

4. 配置ELK

1) Elasticsearch

vi config/elasticsearch.yaml

? ? ? ?cluster.name: <your_cluster>

? ? ? ?node.name: <your_ip>

? ? ? ?path.data: /home/elastic/data

? ? ? ? path.logs: /home/elastic/logs

? ? ? ? network.host: 0.0.0.0

? ? ? ? http.port: 9200

? ? ? ? discovery.zen.ping.unicast.hosts: ["your_host"]

啟動elasticsearch

nohup ./elasticsearch -d

2) Kibana

vi config/kibana.yml

server.port: 5601

server.host: "<your_host>"

elasticsearch.url: "http://<your_host>:9200"

啟動kibana

nohup ./kibana &

3) Logstash

添加配置文件(關(guān)于logstash的配置文件,在后續(xù)章節(jié)中記錄)

nohup bin/logstash -f xxx.conf --config.reload.automatic &


問題:

1) 起elasticsearch時報錯:

ERROR: [1] bootstrap checks failed

[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

sudo vi /etc/sysctl.conf

vm.max_map_count=655300

sudo sysctl -p

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容