環(huán)境:
10.95.196.143
CentOS Linux release 7.4.1708 (Core)
準(zhǔn)備?
elasticsearch-6.3.2.tar.gz
kibana-6.3.2-linux-x86_64.tar.gz
logstash-6.3.2.tar.gz

設(shè)置內(nèi)核參數(shù)?
vi /etc/sysctl.conf?
# 增加以下參數(shù)?
vm.max_map_count=655360?
執(zhí)行以下命令,確保生效配置生效:?
sysctl -p?
Tips:max_map_count
設(shè)置資源參數(shù)?
vi /etc/security/limits.conf?
# 修改?
* soft nofile 65536?
* hard nofile 131072?
* soft nproc 65536?
* hard nproc 131072?
Tips:limits.conf 配置
設(shè)置用戶資源參數(shù)?
vi /etc/security/limits.d/20-nproc.conf?
# 設(shè)置elk用戶參數(shù)?
elk soft nproc 65536
從官網(wǎng)下載安裝文件?
ftp到內(nèi)網(wǎng)服務(wù)器上
創(chuàng)建 elk用戶用戶組:
useradd elk
創(chuàng)建數(shù)據(jù)文件以及日志文件:
mkdir -pv /home/elk/{data,logs}
把安裝文件mv 到/home/elk/
mv?elasticsearch-6.3.2.tar.gz /home/elk/?
mv?kibana-6.3.2-linux-x86_64.tar.gz /home/elk/
mv?logstash-6.3.2.tar.gz /home/elk/
chown -R elk:elk /home/elk/ #?
su - elk
cd /home/elk
解壓安裝文件
tar -zxvf?elasticsearch-6.3.2.tar.gz
tar -zxvf??kibana-6.3.2-linux-x86_64.tar.gz
tar -zxvf?logstash-6.3.2.tar.gz
tar -zxvf?filebeat-6.3.2-linux-x86_64.tar.gz
安裝elasticsearch
cd elasticsearch-6.3.2
# 這里指定的是集群名稱,需要修改為對(duì)應(yīng)的,開啟了自發(fā)現(xiàn)功能后,ES會(huì)按照此集群名稱進(jìn)行集群發(fā)現(xiàn)
cluster.name: elk
node.name: node-1
# 數(shù)據(jù)目錄
path.data: /home/elk/data
# log 目錄
path.logs: /home/elk/logs
# 修改一下ES的監(jiān)聽地址,這樣別的機(jī)器也可以訪問
vnetwork.host: 0.0.0.0
# 默認(rèn)的端口號(hào)
http.port: 9200
# 填寫你要監(jiān)視的端口,可以是多個(gè)
discovery.zen.ping.unicast.hosts: ["10.95.196.143","10.95.196.144"]
# discovery.zen.minimum_master_nodes: 3
# enable cors,保證_site類的插件可以訪問es
http.cors.enabled: true
http.cors.allow-origin: “*”
# Centos6不支持SecComp,而ES5.2.0默認(rèn)bootstrap.system_call_filter為true進(jìn)行檢測,所以導(dǎo)致檢測失敗,失敗后直接導(dǎo)致ES不能啟動(dòng)。
bootstrap.memory_lock: false
bootstrap.system_call_filter: fals
bin/elasticsearch -d #-d 為保持后臺(tái)運(yùn)行?
使用curl 10.95.196.143:9200?來檢查ES是否啟動(dòng)成功,成功顯示如下:
{
? "name" : "node-1",
? "cluster_name" : "elk",
? "cluster_uuid" : "EMr-sYRATCKPHyaDeRSHJQ",
? "version" : {
? ? "number" : "6.3.2",
? ? "build_flavor" : "default",
? ? "build_type" : "tar",
? ? "build_hash" : "053779d",
? ? "build_date" : "2018-07-20T05:20:23.451332Z",
? ? "build_snapshot" : false,
? ? "lucene_version" : "7.3.1",
? ? "minimum_wire_compatibility_version" : "5.6.0",
? ? "minimum_index_compatibility_version" : "5.0.0"
? },
? "tagline" : "You Know, for Search"
}
如果失敗則執(zhí)行bin/elasticsearch 查看打印的信息找到失敗的原因
logstash的安裝?
logstash的安裝就非常簡單了,把下載的文件解壓到相應(yīng)的目錄下,然后根據(jù)你的需求寫一個(gè)配置文件,再啟動(dòng)就ok了,這里面我貼出來一個(gè)簡單的配置文件:
cd?/home/elk/logstash-6.3.2
vi config/test.conf# 沒有這個(gè)文件則創(chuàng)建,創(chuàng)建什么文件名無所謂,后面會(huì)根據(jù)這個(gè)文件來啟動(dòng)logstash
input {
? ? ? ? file {
? ? ? ? ? ? ? ? path => ["/tmp/test_data"]
? ? ? ? ? ? ? ? codec => json {
? ? ? ? ? ? ? ? ? ? ? ? charset => "UTF-8"
? ? ? ? ? ? ? ? }
? ? ? ? }
}
output {
? ? ? ? elasticsearch {
? ? ? ? ? ? ? ? hosts => ["10.95.196.143:9200"]
? ? ? ? ? ? ? ? index => "lalala-%{+YYYY.MM.dd}"
? ? ? ? ? ? ? ? document_type => "test"
? ? ? ? ? ? ? ? #user => "elastic"
? ? ? ? ? ? ? ? #password => "changeme"
? ? ? ? }
}
保存并退出,指定這個(gè)文件來啟動(dòng)logstash
nohup bin/logstash -f config/test.conf & >run.log& // 后臺(tái)運(yùn)行l(wèi)ogstash
啟動(dòng)完成之后因?yàn)闆]有安裝kibana,展示不出來logstash收集的數(shù)據(jù),所有接著安裝kibana
三、kibana的安裝?
kibana的安裝更簡單了,解壓縮之后直接啟動(dòng)程序即可。這個(gè)前提條件是elasticsearch和kibana是在一臺(tái)服務(wù)器里安裝的,如果elasticsearch在其他服務(wù)器里面安裝則需要修改相應(yīng)的配置,我想沒有多少人會(huì)分開安裝吧?下面是啟動(dòng)命令:
cd /home/elk/kibana-6.3.2-linux-x86_64
nohup ./bin/kibana -H 0.0.0.0 & >run.log &
ok,稍等一會(huì)則完成啟動(dòng),可以看出kibana的頁面是越做越好看
通過內(nèi)網(wǎng)的瀏覽器訪問?http://10.95.196.143:5601 可以訪問kibana圖形頁面
之前在logstash的test.conf文件中定義了日志的目錄,現(xiàn)在添加一些數(shù)據(jù)以便查看
vim /tmp/test_data
{"user":"test","age":"11"}
{"user":"test1","age":"12"}
{"user":"test2","age":"13"}
{"user":"test3","age":"14"}
{"user":"test4","age":"15"}
{"user":"test5","age":"16"}
{"user":"test6","age":"17"}
{"user":"test7","age":"18"}
{"user":"test8","age":"19"}
{"user":"test9","age":"20"}
日志文件中已經(jīng)填入內(nèi)容,這時(shí)訪問kibana,來創(chuàng)建索引?


這時(shí)會(huì)顯示在test.conf中定義的index,添加索引是支持正則的,所以在Index pattern中可以填入“l(fā)alala-*”,像如下圖片一樣,然后點(diǎn)擊Next step

然后選擇@timestamp,選擇這個(gè)是為每個(gè)字段標(biāo)記時(shí)間,可以讓收集到的數(shù)據(jù)在時(shí)間軸上展示,到此添加一個(gè)index完成?

點(diǎn)擊Discover,選擇咱們的index,這時(shí)右側(cè)就展示了收集到的所有數(shù)據(jù)

參考? https://blog.csdn.net/leo15561050003/article/details/80896509
https://blog.csdn.net/ViewYw/article/details/78873066
http://www.cnblogs.com/xishuai/p/elk-logstash-filebeat.html