ELK安裝筆記

1. Elasticsearch安裝

下載elasticsearch7.6.0的docker鏡像:
docker停止啟動(dòng)重啟的時(shí)候不用復(fù)制,只要輸入幾個(gè)字母就行了。

docker pull elasticsearch:7.6.0

修改虛擬內(nèi)存區(qū)域大小殿雪,否則會(huì)因?yàn)檫^(guò)小而無(wú)法啟動(dòng):

#切換到root用戶(hù)
#執(zhí)行命令:
sysctl -w vm.max_map_count=262144
# 使之立即生效
sysctl -p
#查看結(jié)果:
sysctl -a|grep vm.max_map_count

#顯示:
vm.max_map_count = 262144

#上述方法修改之后歌粥,如果重啟虛擬機(jī)將失效陨溅,所以:
#解決辦法:
#在   /etc/sysctl.conf文件最后添加一行针余,通過(guò)vim,輸入shift + g快速跳到最后一行
vm.max_map_count=262144
#即可永久修改

使用docker命令啟動(dòng):

  docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
  -e "discovery.type=single-node" \
  -e "cluster.name=elasticsearch" \
  -v /root/hospital-test-0703/yang/mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
  -v /root/hospital-test-0703/yang/mydata/elasticsearch/data:/usr/share/elasticsearch/data \
  -d elasticsearch:7.6.0

啟動(dòng)時(shí)會(huì)發(fā)現(xiàn)/usr/share/elasticsearch/data目錄沒(méi)有訪(fǎng)問(wèn)權(quán)限谬以,只需要修改/mydata/elasticsearch/data目錄的權(quán)限强饮,再重新啟動(dòng)。
(以及這里面有一個(gè)重坑为黎,如果把之前docker裝的elasticsearch刪掉了邮丰,然后重裝,一定要把掛載目錄里面的東西清理干凈铭乾,不然換一個(gè)版本適配不了剪廉。)

這里面有好幾點(diǎn)要注意的,首先是
mkdir -p xxxx/xxxx/xxxx來(lái)創(chuàng)建一系列目錄
然后是/開(kāi)頭就是絕對(duì)目錄炕檩,而docker -v必須要用絕對(duì)目錄

這里的chmod也有重坑斗蒋,必須要精確到data這一級(jí)目錄,在父目錄上面加權(quán)限不行
chmod 777 /mydata/elasticsearch/data/
chmod 777 /mydata/elasticsearch/plugins

ll可以看權(quán)限等級(jí))

  • 安裝中文分詞器IKAnalyzer,并重新啟動(dòng):
    planA:
#進(jìn)入容器
docker exec -it elasticsearch /bin/bash
#此命令需要在容器中運(yùn)行
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.0/elasticsearch-analysis-ik-7.6.0.zip
docker restart elasticsearch

plabB:
由于在容器里面運(yùn)行install實(shí)在太慢了泉沾,沒(méi)法跑啊骤星,于是自己去github上面下載了zip,解壓之后拖到了plugin文件夾里面爆哑。

  • elasticsearch沒(méi)提供界面管理,所以要自己安裝一個(gè)舆吮。
    planA:
    最好的planA+是直接chrome商店下載一個(gè)揭朝。
    https://github.com/mobz/elasticsearch-head下載這個(gè)網(wǎng)頁(yè)里面項(xiàng)目,然后解壓完了之后找到elasticsearch-head-master\elasticsearch-head-master\crx也就是找到crx這個(gè)文件夾色冀,里面有個(gè)es-head.crx潭袱,這個(gè)就是擴(kuò)展程序,不過(guò)不能直接這樣拖進(jìn)去锋恬,要把這個(gè)文件的后綴改成rar屯换,解壓出來(lái)。

然后解壓出來(lái)的這個(gè)文件夾就能變成插件安裝上去与学。

planB:
(這么裝出來(lái)彤悔,有數(shù)據(jù)不顯示的問(wèn)題)

#拉取鏡像
docker pull mobz/elasticsearch-head:5
#運(yùn)行容器
docker run -d --name es-head -p 9100:9100 mobz/elasticsearch-head:5

瀏覽器打開(kāi): http://39.100.144.125:9100

嘗試連接elaseticsearch會(huì)發(fā)現(xiàn)無(wú)法連接上,由于是前后端分離開(kāi)發(fā)索守,所以會(huì)存在跨域問(wèn)題晕窑,需要在服務(wù)端做CORS的配置,如下

修改docker中elasticsearch的elasticsearch.yml文件

docker exec -it elasticsearch /bin/bash
vim config/elasticsearch.yml

在最下面添加2行

#kua yu
http.cors.enabled: true 
http.cors.allow-origin: "*"

退出并重啟服務(wù)

exit
docker restart elasticsearch

2. kibana安裝

  • 下載kibana6.4.0的docker鏡像:
docker pull kibana:7.6.0
  • 使用docker命令啟動(dòng):
  docker run --name kibana -p 5601:5601 \
  --link elasticsearch:es \
  -e "elasticsearch.hosts=http://es:9200" \
  -d kibana:7.6.0

Kibana設(shè)置中文:

#進(jìn)入kibana容器
docker exec -it kibana  /bin/bash
#打開(kāi)yml
vi /usr/share/kibana/config/kibana.yml

在末尾加上一行
i18n.locale: zh-CN

然后exit退出docker容器

容器重啟使配置生效
docker restart kibana

時(shí)間相差八個(gè)小時(shí)的問(wèn)題卵佛,可以直接在Kibana的設(shè)置里面把時(shí)區(qū)設(shè)置成Asia的時(shí)區(qū)杨赤,直接就解決了,filebeat和logstash什么也不用設(shè)置


3. FileBeat安裝

#拉鏡像
docker pull docker.elastic.co/beats/filebeat:7.6.0

然后在運(yùn)行docker容器之前截汪,先整一個(gè)yml疾牲。先創(chuàng)建好目錄,然后vim yml編輯一個(gè)yml衙解。

#創(chuàng)建一個(gè)目錄阳柔,這次用的是/root/hospital-test-0703/yang/mydata/filebeat/filebeat.yml
vim /root/hospital-test-0703/yang/mydata/filebeat/filebeat.yml

(這個(gè)yml是個(gè)大坑!r韭汀盔沫!enable是一個(gè)坑,multi是一個(gè)坑)

filebeat.inputs:
- type: log
  enabled: true
  paths:
    # 上面也就這一個(gè)值得改的枫匾,就改這個(gè)位置架诞,上面的enable可以在寫(xiě)了多組設(shè)置之后快速更改哪個(gè)生效
    - /var/log/gateway.log
 tags: ["hospital"]

  #帶井號(hào)的在粘貼的時(shí)候有問(wèn)題,就是會(huì)把縮進(jìn)搞亂干茉,這個(gè)粘貼的時(shí)候不能帶井號(hào)一起粘

  #multiline這個(gè)是為了把一行日志打不下來(lái)的日志合并起來(lái)谴忧,不然filebeat收集到的就已經(jīng)是文件流了,每一行算一條。
  # 這是個(gè)正則表達(dá)式沾谓,^是以這個(gè)開(kāi)頭委造,也就是匹配以 "[" 開(kāi)頭的行
  multiline.pattern: '^\['
  # 否定模式,這個(gè)默認(rèn)是false均驶,跟上面設(shè)置的反向
  multiline.negate: true
  # 這個(gè)after結(jié)合上面的否定模式以及匹配字符昏兆,發(fā)揮出來(lái)的作用就是,把首行之后不是以 "[" 開(kāi)頭的行接到上一行上湊成多行模式
  multiline.match: "after"


#-------------------------- Elasticsearch output ------------------------------
#output.elasticsearch:
#  hosts: ["39.100.144.125:9200"]

#-------------------------- Logstash ------------------------------------------
output.logstash:
  hosts: ["39.100.144.125:5044"]

# 刪除各個(gè)沒(méi)用的標(biāo)簽
processors:
- drop_fields:
    fields: ["input_type", "log.offset", "host.name", "input.type", "agent.hostname", "agent.type", "ecs.version", "agent.ephemeral_id", "agent.id", "agent.version", "fields.ics", "log.flags" ]

yml編輯完了之后妇穴,在下面注意幾個(gè)位置爬虱,都映射過(guò)去,這里似乎這幾個(gè)文件夾都不要什么權(quán)限的腾它。

#跑鏡像
docker run -d --name=filebeat \
-v /root/hospital-test-0703/yang/mydata/logs:/var/log \
-v /root/hospital-test-0703/yang/mydata/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml \
-v /root/hospital-test-0703/yang/mydata/filebeat/registry/:/usr/share/filebeat/data/registry/ docker.elastic.co/beats/filebeat:7.6.0

4. logstash 安裝

#拉鏡像
docker.elastic.co/logstash/logstash:7.6.0

建立這樣的目錄
/root/hospital-test-0703/yang/mydata/logstash/conf.d/logstash.conf
/root/hospital-test-0703/yang/mydata/logstash/logstash.yml
第一個(gè)conf是重點(diǎn)跑筝,說(shuō)實(shí)話(huà)第二個(gè)yml有沒(méi)有用我還不確定。
第一個(gè)conf內(nèi)容

input {
  beats {
    port => 5044
    #codec => json
    client_inactivity_timeout => 360000
 }
}

output {
    elasticsearch {
        hosts=>["39.100.144.125:9200"]
        index => "logstash-%{+YYYY.MM.dd}" #對(duì)日志進(jìn)行索引歸檔
    }

    #stdout {codec => rubydebug}
}

filter {
  mutate {
    remove_field => ["tags", "@version"]
  }
}

第二個(gè)yml內(nèi)容

path.config: /usr/share/logstash/conf.d/*.conf
path.logs: /var/log/logstash

兩個(gè)文件都建好了之后瞒滴,跑鏡像

docker run -d -it -p 5044:5044 --name logstash  \
-v /root/hospital-test-0703/yang/mydata/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml   \
-v /root/hospital-test-0703/yang/mydata/logstash/conf.d/:/usr/share/logstash/conf.d/  \
docker.elastic.co/logstash/logstash:7.6.0

跑起來(lái)logstash之后曲梗,讓filebeat往這里面輸入日志,然后進(jìn)入docker鏡像去看日志輸出妓忍。

 docker logs -ft logstash

5. docker的安裝經(jīng)驗(yàn)

(1) ELK有一個(gè)大問(wèn)題虏两,就是這些東西要保持版本的高度一致。所以如果不清楚自己拉的是哪個(gè)版本就很麻煩世剖。

docker inspect elasticsearch

也試過(guò)使用這個(gè)命令來(lái)看一下版本碘举,結(jié)果標(biāo)簽上面寫(xiě)的就是latest,沒(méi)查到版本搁廓。

(2) 善用docker logs filebeat這種命令引颈,每一次都帶著監(jiān)控看
(3) 39服務(wù)器空間不夠

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市境蜕,隨后出現(xiàn)的幾起案子蝙场,更是在濱河造成了極大的恐慌,老刑警劉巖粱年,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件售滤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡台诗,警方通過(guò)查閱死者的電腦和手機(jī)完箩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拉队,“玉大人弊知,你說(shuō)我怎么就攤上這事×豢欤” “怎么了秩彤?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵叔扼,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我漫雷,道長(zhǎng)瓜富,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任降盹,我火速辦了婚禮与柑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蓄坏。我一直安慰自己价捧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布剑辫。 她就那樣靜靜地躺著,像睡著了一般渠欺。 火紅的嫁衣襯著肌膚如雪妹蔽。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天挠将,我揣著相機(jī)與錄音胳岂,去河邊找鬼。 笑死舔稀,一個(gè)胖子當(dāng)著我的面吹牛乳丰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播内贮,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼产园,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了夜郁?” 一聲冷哼從身側(cè)響起什燕,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎竞端,沒(méi)想到半個(gè)月后屎即,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡事富,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年技俐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片统台。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雕擂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贱勃,到底是詐尸還是另有隱情捂刺,我是刑警寧澤谣拣,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站族展,受9級(jí)特大地震影響森缠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜仪缸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一贵涵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恰画,春花似錦宾茂、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至片林,卻和暖如春端盆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背费封。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工焕妙, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弓摘。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓焚鹊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親韧献。 傳聞我的和親對(duì)象是個(gè)殘疾皇子末患,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容