最近寫了乙個springcloud的開發腳手架,看日誌即使用了鏈路追蹤,在多個服務看日誌檔案還是有點繁瑣,特別是上線了你要跟蹤乙個已執行的介面,即使上家公司就是這樣過來的。雖然聽過elk的大名,但沒從沒搭建過,就來玩一玩。如果要解決日誌檢視分析及儲存問題,可以去了解一下阿里雲的日誌服務,在電商公司的時候用過。
1.搭建elasticsearch
1.1 直接執行
rpm --import
1.2 在/etc/yum.repos.d目錄下新增檔案 elasticsearch.repo,新增內容
[elasticsearch-6.x]
name=elasticsearch repository for 6.x packages
baseurl=
gpgcheck=1
gpgkey=
enabled=1
autorefresh=1
type=rpm-md
最新的是7.9,我選擇6.x版本,因為我不喜歡吃螃蟹。
官網說的聽清楚的。
1.3 開始安裝
yum install elasticsearch
1.4 配置一下讓外網訪問,是否全開放還是指定ip看個人,配置檔案在/etc/elasticsearch目錄下。修改elasticsearch.yml檔案
network.host: 0.0.0.0 //全開放
至於資料儲存位置和日誌位址,我就預設的,反正能找到就行。
1.5 啟動elasticsearch
systemctl start elasticsearch.service //關閉 systemctl stop elasticsearch.service
1.6 測試一下是否成功
curl -x get "localhost:9200/?pretty"
輸出類似則成功:
, "tagline" : "you know, for search"
}1.7 安裝elasticsearch視覺化工具,elasticsearch-head。elastichd是個頁面優美,功能強大的外掛程式,一下標記
至此。安裝完成。
2. 搭建kibana
wget
2.2 解壓壓縮包:
tar -xzf kibana-6.8.11-linux-x86_64.tar.gz
2.3 進入安裝目錄(壓縮包的形式安裝,配置都在這個目錄下)
cd kibana-6.8.11-linux-x86_64/
2.4 在啟動之前我們先給它設定一下基本配置
server.port: 9090 //程式啟動埠
server.host: "0.0.0.0" //暴露給全外網
elasticsearch.hosts: ["http://localhost:9088"] //es的連線位址,多個在陣列,隔開
kibana.index: ".kibana" //kibana使用es的索引
logging.dest: /root/kibana-6.8.11-linux-x86_64/log/kibana.log //設定kibana的輸出日
志,我沒找到它預設的日誌位置在哪
2.5 啟動kibana,bin目錄下的kibana命令
./bin/kibana //前台啟動,ctrl+c就關閉了
nohup ./bin/kibana & //後台啟動
2.6 至此,kibana啟動成功, http://ip:port 就可以直接訪問
kibana一啟動es就關閉了?乙個小插曲,也就浪費了我3個小時。es裝完請檢視你的記憶體是否足夠支援啟動kibana。修改es的啟動記憶體,vim /etc/elasticsearch/jvm.yml 。哎,剛花費我1000多買的一台2核4g的阿里雲伺服器,還以為暴富了,還不夠我研究兩個東西。
3. 搭建logstash
3.1 使用.tar.gz安裝包形式安裝,因為文件中很多是用./bin/logstash方式來演示的
wget
3.2 解壓安裝包
tar -xvzf logstash-6.8.11.tar.gz //全部解壓到乙個資料夾下好管理
3.3 設定啟動大小,我的記憶體不夠
cd logstash-6.8.11
vim config/jvm.options
3.4 啟動logstash並且測試是否安裝成功,具體可參考官網
執行命令: ./bin/logstash -e 'input } output stdout }'
檢視是否成功,如果成功,直接輸入 *** ,預設它會存在乙個logstash-*的索引下,可以去es檢視。
3.5 至此,logstash安裝成功。
4.開始想辦法把springboot日誌傳到logstash中,springboot 整合logstash。
4.1 專案中加入依賴包
net.logstash.logback
logstash-logback-encoder
5.3
4.2 logback-spring.xml日誌檔案中加入:
//注意上面這個class類,開始我選擇其他類,發現logstash
一直收不到日誌資訊,耗了我3個小時檢查各種配置。
utc
springboot專案整合完畢。
5. 啟動logstash來收集springboot日誌
5.1 在config目錄下新建乙個 ***.conf 檔案
vim ***.conf
輸入以下內容:
input
}output " //建立索引,資料將儲存在這個索引下
}stdout //這個主要在測試的時候可以方便看到輸入資料是否是想要的
}5.2 啟動logstash
./bin/logstash -f ./config/***.conf
6. 至此,整個流程已經打通了,springboot日誌通過tcp傳送到logstash,logstash又輸出到es,kibana又連線上了es,所以整個流程已經通了。下面開始測試。
自己執行乙個springboot的乙個介面,讓它輸出日誌,然後它會自動儲存到es下的springboot-當日日期索引下,這個索引可以在5.1步驟自行設定。檢視es是否儲存成功了,儲存成功那麼我們就可以去kibana檢視了。
進入kibana頁面,然後進入左下角管理介面,再進入索引模式,然後建立索引模式,選擇剛才的springboot-當日日期索引,可以寫成springboot-*形式進行通配,這裡其實就是把這個es索引下的資料引入到kibana。
進入左上角discover介面,選擇剛剛建立的索引模式,然後就可以看到美妙的畫面了。
eclipse搭建簡單的springboot專案
首先eclipse不像idea直接建立,需要加入一些外掛程式 開啟eclipse help eclipse marketplace 選擇popular 選擇sts installed,勾選web,然後就可以finish了,專案就建立成功了!接下來編寫乙個controller 當spring出現專案已...
ELK平台搭建
簡介 1 核心組成 elk 由 elasticsearch logstash 和 kibana 三部分元件組成 elasticsearch 是個開源分布式搜尋引擎,它的特點有 分布式,零配置,自動發現,索引自動分片,索引副本機制,restful 風格介面,多資料來源,自動搜尋負載等。logstash...
ELK環境搭建
安裝elasticsearch 1.拷貝elasticsearch 5.4.0.tar.gz到你需要安裝的目錄 2.執行 sudo tar zxvf elasticsearch 5.4.0.tar.gz 3.切換非root賬戶 su suername 4.cd到解壓後的目錄 執行 bin elast...