Windows服務(wù)器安裝Elasticsearch始锚、Logstash、Kibana

一:概念

ELK是Elasticsearch喳逛、Logstash瞧捌、Kibana三大開源框架首字母大寫簡稱,具體這三個工具的詳細(xì)介紹润文,百度都解釋的很詳細(xì)姐呐,今天我主要分享一下我實際中使用的問題和難點。

二:目的

簡單來說就是快速查看項目錯誤日志典蝌,快速鎖定問題曙砂。由于項目的使用用戶日益劇增,一臺服務(wù)器已經(jīng)扛不住上萬人的訪問系統(tǒng)骏掀,導(dǎo)致系統(tǒng)訪問慢鸠澈,超時等問題。所以團(tuán)隊開始提出負(fù)載均衡以及集群的一個搭建截驮,下個文章我會分享我在負(fù)載均衡以及配置nginx等詳細(xì)文章笑陈,這里就不多介紹了。集群搭建好了就出現(xiàn)一個問題--日志葵袭。由于我們?nèi)罩疚募际窃诿總€集群服務(wù)器涵妥,導(dǎo)致系統(tǒng)異常,我們無法快速追蹤到具體出錯日志在哪臺服務(wù)器坡锡,所以就開始在網(wǎng)上查找具體解決方案蓬网,這才看到ELK,了解了他們之間的原理后鹉勒,我就開始在測試環(huán)境部署帆锋,下面是我根據(jù)自己的理解畫的部署以及原理圖。

image

三:安裝環(huán)境

服務(wù)器系統(tǒng):Windows server 2012 r2
Elasticsearch版本:elasticsearch-7.7.0-windows-x86_64
Logstash版本:logstash-7.7.0
Kibana版本:kibana-7.7.0-windows-x86_64
(為了產(chǎn)生不必要的麻煩贸弥,最好這三個版本一致窟坐。官網(wǎng)下載比較慢,可以去華為開源鏡像站:https://mirrors.huaweicloud.com/ 下載)

四:安裝步驟

將Elasticsearch哲鸳、Logstash和Kibana下載后臣疑,解壓。目錄不要帶中文徙菠。安裝順序:先安裝Elasticsearch讯沈,再安裝Logstash,最后安裝Kibana

1婿奔、Elasticsearch的安裝與配置

找到根目錄的config文件夾缺狠,elasticsearch.yml進(jìn)行編輯,直接添加以下內(nèi)容萍摊,或者你可以找到對應(yīng)的字段挤茄,將注釋放開。默認(rèn)是本機(jī)可以訪問冰木,因為我要其他兩臺也能給**Elasticsearch傳輸數(shù)據(jù)穷劈,所以network.host我設(shè)置為 0.0.0.0。

    node.name: nodes
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    network.host: 0.0.0.0
    http.port: 9200
    cluster.initial_master_nodes: ["nodes"]

到這里Elasticsearch的配置就已經(jīng)完工了踊沸,然后就是啟動歇终,根目錄下bin文件下的elasticsearch.bat,以管理員身份運行就可以啟動elasticsearch逼龟,啟動成功后瀏覽器訪問http://127.0.0.1:9200/评凝,看到如下界面代表啟動成功

image

2、Logstash的安裝與配置

首先說明腺律,它主要負(fù)責(zé)讀取日志文件奕短,然后傳輸給Elasticsearch,所以我們就要配置Logstash的輸入(input)和輸出(output)疾渣,整個配置文件分為三部分:input篡诽,filter,output榴捡。下來我們就開始以這三個參數(shù)在實際應(yīng)用是如何配置的杈女。在配置的前提,我們需要創(chuàng)建一個logstash.conf文件吊圾,創(chuàng)建地址為根目錄的confIg下面(或者復(fù)制logstash-sample.conf达椰,進(jìn)行名稱修改)

a、input參數(shù)配置

        input {
            file {
                type => "d_52"
                start_position => "beginning"
                path => "D:/_projectLog/projectWeb/debug.log"
                codec => plain{charset=>"GBK"}
                }
            }
        input {
            file {
                type => "e_52"
                start_position => "beginning"
                path => "D:/_projectLog/projectWeb/error.log"
                codec => plain{charset=>"GBK"}
            }
        }

input的解釋說明:我寫了兩個input项乒,因為我要把兩個日志文件分別輸出啰劲,所以這塊的配置是讀取多個文件。type:是我定義這個文件的類型檀何,具體用途就是對應(yīng)指定的tag蝇裤。start_position 檢查時間戳廷支。path 監(jiān)聽文件路徑。codec 主要是防止亂碼栓辜,當(dāng)然input中有很多屬性恋拍,根據(jù)具體情況指定吧。
filter的解釋說明:作用是過濾匹配藕甩。我是為了過濾tag施敢,在output中輸出到哪個索引中。

filter {
    grok {
        match => {
            "message" => '%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{DATA:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response:int} (?:-|%{NUMBER:bytes:int}) %{QS:referrer} %{QS:agent}'
        }
    }
    if[type] == "d_52" {
        mutate {
            add_tag => ["d_52"]
        }
    }
    if [type] == "e_52" {
        mutate {
            add_tag => ["e_52"]
        }
    }
}

output的解釋說明:根據(jù)tag推送到具體elasticsearch 的索引庫中狭莱。

output { 
    if "d_52" in [tags] {
        elasticsearch {
            hosts => "http://elasticsearch的ip:9200"
            index => "project_debug_log-%{+YYYY.MM.dd}"
            codec => plain{charset=>"GBK"}
          }
    }
    if "e_52" in [tags] {
        elasticsearch {
            hosts => "http://**elasticsearch的ip**:9200"
            index => "project_error_log-%{+YYYY.MM.dd}"
            codec => plain{charset=>"GBK"}
          }
    }
    stdout {
        codec => json_lines
    }
}

到這里僵娃,配置文件就完成了,然后我們啟動腋妙,具體啟動命令為logstash.bat -f ../config/logstash.conf(根目錄的bin下執(zhí)行)默怨,或者創(chuàng)建bat文件,把文件名改為bat骤素,放在bin下先壕,雙擊執(zhí)行,就可以看到控制臺讀取的數(shù)據(jù)內(nèi)容了谆甜。其他兩臺服務(wù)器,就只需要裝Logstash集绰,配置文件改一下path路徑规辱,type和tag也都改一下,標(biāo)記清除是哪個臺服務(wù)器的就行栽燕,為了在Kibana可以看到日志來源罕袋。

3、Kibana的安裝與配置

Kibana主要是讀取elasticsearch 的數(shù)據(jù)碍岔,那我們就在配置文件中配置elasticsearch 的地址就可以了浴讯,具體操作如下:
Kibana的根目錄config下的kibana.yml文件,添加下列配置

server.port: 5601  #Kibana的訪問端口
server.host: X.X.X.X   #Kibana的訪問ip(內(nèi)網(wǎng)ip)蔼啦,最好不要寫127.0.0.1或者localhost榆纽,其他服務(wù)器就不能訪問了
elasticsearch.hosts: http://elasticsearch的ip:9200
i18n.locale: "zh-CN"   #設(shè)置為中文

Kibana也就配置完了,bin目錄啟動kibana.bat捏肢,啟動好了奈籽,瀏覽器訪問http://配置的ip:5601,就可以了鸵赫。

image
image

按照指引創(chuàng)建成功后衣屏,看日志

image

整體沒有問題了,下來我們需要把Kibana和nginx結(jié)合起來辩棒,通過互聯(lián)網(wǎng)ip訪問狼忱。由于Kibana沒有登錄界面膨疏,我們就得借助nginx實現(xiàn)它的登錄,配置截圖如下

image
location / {
            auth_basic "kibana login auth";
            auth_basic_user_file D:/nginx/conf/passwd;# 存放密碼文件路徑
            proxy_pass http://192.168.1.1:5601;# 轉(zhuǎn)發(fā)到 kibana
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }

ok钻弄,外網(wǎng)訪問也沒有問題了佃却。結(jié)束了兩天的探索,也是第一次接觸ELK斧蜕,從了解到實踐双霍,有點意思。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末批销,一起剝皮案震驚了整個濱河市洒闸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌均芽,老刑警劉巖丘逸,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異掀宋,居然都是意外死亡深纲,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門劲妙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來湃鹊,“玉大人,你說我怎么就攤上這事镣奋”液牵” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵侨颈,是天一觀的道長余赢。 經(jīng)常有香客問我,道長哈垢,這世上最難降的妖魔是什么妻柒? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮耘分,結(jié)果婚禮上举塔,老公的妹妹穿的比我還像新娘。我一直安慰自己陶贼,他們只是感情好啤贩,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拜秧,像睡著了一般痹屹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上枉氮,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天志衍,我揣著相機(jī)與錄音暖庄,去河邊找鬼。 笑死楼肪,一個胖子當(dāng)著我的面吹牛培廓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播春叫,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼肩钠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了暂殖?” 一聲冷哼從身側(cè)響起价匠,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呛每,沒想到半個月后踩窖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡晨横,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年洋腮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片手形。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡啥供,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出库糠,到底是詐尸還是另有隱情滤灯,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布曼玩,位于F島的核電站,受9級特大地震影響窒百,放射性物質(zhì)發(fā)生泄漏黍判。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一篙梢、第九天 我趴在偏房一處隱蔽的房頂上張望顷帖。 院中可真熱鬧,春花似錦渤滞、人聲如沸贬墩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽陶舞。三九已至,卻和暖如春绪励,著一層夾襖步出監(jiān)牢的瞬間肿孵,已是汗流浹背唠粥。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留停做,地道東北人晤愧。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像蛉腌,于是被迫代替她去往敵國和親官份。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348