国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

dede 更新網(wǎng)站地圖中國(guó)十大知名網(wǎng)站

dede 更新網(wǎng)站地圖,中國(guó)十大知名網(wǎng)站,沒學(xué)過計(jì)算機(jī)開始學(xué)做網(wǎng)站,東莞外貿(mào)網(wǎng)絡(luò)營(yíng)銷文章目錄 日志分析的概述日志分析的作用主要收集工具集中式日志系統(tǒng)主要特點(diǎn)采集日志分類ELK概述ELK收集日志的兩種形式 搭建ELK平臺(tái)安裝部署docker添加鏡像加速器安裝部署Elasticsearch安裝ElasticSearch-head(可選)運(yùn)行容器頁(yè)面無(wú)數(shù)據(jù)問題測(cè)試 安裝Kib…

文章目錄

  • 日志分析的概述
  • 日志分析的作用
  • 主要收集工具
  • 集中式日志系統(tǒng)主要特點(diǎn)
  • 采集日志分類
  • ELK概述
    • ELK收集日志的兩種形式
  • 搭建ELK平臺(tái)
    • 安裝部署docker
    • 添加鏡像加速器
    • 安裝部署Elasticsearch
    • 安裝ElasticSearch-head(可選)
      • 運(yùn)行容器
      • 頁(yè)面無(wú)數(shù)據(jù)問題
      • 測(cè)試
    • 安裝Kibana
      • 測(cè)試
    • Docker 安裝 LogStash
      • 啟動(dòng)容器并掛載
  • 創(chuàng)建springboot應(yīng)用
    • 搭建Springboot項(xiàng)目
    • 查看 es-head
    • 查看Kibana

日志分析的概述

  • 日志分析是運(yùn)維工程師解決系統(tǒng)故障,發(fā)現(xiàn)問題的主要手段
  • 日志主要包括系統(tǒng)日志、應(yīng)用程序日志和安全日志
  • 系統(tǒng)運(yùn)維和開發(fā)人員可以通過日志了解服務(wù)器軟硬件信息、檢查配置過程中的錯(cuò)誤及錯(cuò)誤發(fā)生的原因
  • 經(jīng)常分析日志可以了解服務(wù)器的負(fù)荷,性能安全性,從而及時(shí)采取措施糾正錯(cuò)誤

日志分析的作用

  • 分析日志時(shí)刻監(jiān)控系統(tǒng)運(yùn)行的狀態(tài)
  • 分析日志來定位程序的bug
  • 分析日志監(jiān)控網(wǎng)站的訪問流量
  • 分析日志可以知道哪些sql語(yǔ)句需要優(yōu)化

主要收集工具

  • 日志易:國(guó)內(nèi)一款監(jiān)控、審計(jì)、權(quán)限管理,收費(fèi)軟件

  • splunk:按流量收費(fèi),國(guó)外軟件,主要三個(gè)部件組成(Indexer、Search Head、Forwarder)

    • Indexder提供數(shù)據(jù)的存儲(chǔ),索引,類似于elasticsearch的作用
    • Search Head負(fù)責(zé)搜索,客戶接入,從功能上看,一部分是kibana的UI是運(yùn)行,在Search Head上的,提供所有的客戶端可視化功能,還有一部分,是提供分布式的搜索功能,具有Elasticsearch部分功能
    • Forwarder負(fù)責(zé)數(shù)據(jù)接入,類似Logstash或者filebeat
  • ELK:海量日志分析平臺(tái)(Elasticsearch、logstash、kibana),開源且在國(guó)內(nèi)被廣泛應(yīng)用

集中式日志系統(tǒng)主要特點(diǎn)

動(dòng)作功能
收集能夠采集多種來源的日志數(shù)據(jù)
傳輸能夠穩(wěn)定的把日志傳數(shù)據(jù)傳輸?shù)街醒胂到y(tǒng)
存儲(chǔ)安全的存儲(chǔ)日志數(shù)據(jù)
分析可以支持UI分析
警告能夠提供錯(cuò)誤報(bào)告

采集日志分類

維度舉例
代理層Nginx、HAproxy…
web層Nginx、httpd、tomcat、Java…
數(shù)據(jù)庫(kù)層MySQL、Redis、Elasticsearch、openGauss…
系統(tǒng)層message、secure

ELK概述

  • ELK是一個(gè)開源的數(shù)據(jù)分析平臺(tái),由三個(gè)開源項(xiàng)目Elasticsearch、Logstash和Kibana組成,因此被稱為ELK

  • ELK主要用于處理和分析大量的日志數(shù)據(jù),支持實(shí)時(shí)搜索、數(shù)據(jù)可視化和分析

    • Elasticsearch是一個(gè)分布式搜索引擎和分析引擎,能夠?qū)崿F(xiàn)實(shí)時(shí)搜索和分析大規(guī)模的數(shù)據(jù)集
    • Logstash是一個(gè)數(shù)據(jù)收集、處理和轉(zhuǎn)換工具,能夠從不同來源收集、處理和傳輸數(shù)據(jù)
    • Kibana是一個(gè)數(shù)據(jù)可視化工具,能夠通過儀表盤、圖形和地圖等方式展示數(shù)據(jù)
    • ELK 三個(gè)組件相互配合,能夠構(gòu)建一個(gè)強(qiáng)大的、可擴(kuò)展的日志分析平臺(tái),支持?jǐn)?shù)據(jù)的快速檢索、可視化和分析。
  • 初級(jí)版ELK

在這里插入圖片描述

  • 終極版ELK

在這里插入圖片描述

  • 高級(jí)版ELK

在這里插入圖片描述

ELK收集日志的兩種形式

  • 不修改源日志的格式:而是通過logstash的grok方式進(jìn)行過濾清洗,將原始無(wú)規(guī)則的日志轉(zhuǎn)換為規(guī)則的日志
    • 優(yōu)點(diǎn):不用修改原始日志輸出格式,直接通過logstash的grok方式進(jìn)行過濾分析,好處是對(duì)線上業(yè)務(wù)系統(tǒng)無(wú)任何影響
    • 缺點(diǎn):logstash的grok方式在高壓力情況下會(huì)成為性能瓶頸如果要分析的日志量超大時(shí),日志過濾分析可能阻塞正常的日志輸出;因此,在使用logstash時(shí),能不用grok盡量不使用grok過濾功能。
  • 修改源日志輸出格式:按照需要的日志格式輸出規(guī)則日志,logstash只負(fù)責(zé)日志的收集和傳輸,不對(duì)日志做任何的過濾清洗。
    • 優(yōu)點(diǎn):因?yàn)橐呀?jīng)定義好了需要的日志輸出格式, logstash只負(fù)責(zé)日志的收集和傳輸,這樣就大大減輕了logstash的負(fù)擔(dān),可以更高效的收集和傳輸日志。
    • 缺點(diǎn):需要事先定義好日志的輸出格式,這可能有一定工作量,但目前常見的web服務(wù)器例如httpd、Nginx等都支持自定義日志輸出格式。

搭建ELK平臺(tái)

  • Elasticsearch 官網(wǎng):https://www.elastic.co/cn/elasticsearch

    • Elasticsearch是一個(gè)基于Lucene庫(kù)的分布式搜索引擎和數(shù)據(jù)分析引擎,能夠?qū)崿F(xiàn)實(shí)時(shí)搜索和分析大規(guī)模的數(shù)據(jù)集,支持文本、數(shù)字、地理位置等多種類型的數(shù)據(jù)檢索和分析。Elasticsearch是一個(gè)開源的、高度可擴(kuò)展的平臺(tái),能夠處理海量的數(shù)據(jù),并支持分布式的數(shù)據(jù)存儲(chǔ)和處理。Elasticsearch的主要特點(diǎn)包括:

    • 分布式搜索引擎:Elasticsearch能夠?qū)A康臄?shù)據(jù)進(jìn)行快速的搜索和查詢,并支持實(shí)時(shí)搜索。

    • 分布式數(shù)據(jù)存儲(chǔ):Elasticsearch能夠?qū)?shù)據(jù)分散存儲(chǔ)在多個(gè)節(jié)點(diǎn)上,以提高數(shù)據(jù)的可用性和可靠性。

    • 多數(shù)據(jù)類型支持:Elasticsearch支持多種數(shù)據(jù)類型,包括文本、數(shù)字、日期、地理位置等。

    • 實(shí)時(shí)數(shù)據(jù)分析:Elasticsearch能夠?qū)?shù)據(jù)進(jìn)行實(shí)時(shí)的聚合、過濾和分析,并支持?jǐn)?shù)據(jù)可視化。

    • 可擴(kuò)展性:Elasticsearch能夠擴(kuò)展到數(shù)百個(gè)節(jié)點(diǎn),處理PB級(jí)別的數(shù)據(jù)。

    • 開源:Elasticsearch是一個(gè)開源的軟件,源代碼可以公開獲取和修改。 Elasticsearch廣泛應(yīng)用于企業(yè)搜索、日志分析、安全分析和商業(yè)智能等領(lǐng)域。它提供了豐富的API和工具,包括RESTful API、Java API和Python API等,方便開發(fā)人員集成和使用。

  • Logstash 文檔地址:https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html

  • Logstash 是一個(gè)開源的數(shù)據(jù)收集、處理和轉(zhuǎn)換工具,能夠從不同來源收集、處理和傳輸數(shù)據(jù)。,主要用于處理和分析大量的日志數(shù)據(jù),支持多種數(shù)據(jù)源和格式,包括文本文件、數(shù)據(jù)庫(kù)、日志文件、消息隊(duì)列等。Logstash能夠?qū)崿F(xiàn)以下功能:

    • 數(shù)據(jù)收集:Logstash能夠從不同的數(shù)據(jù)源收集數(shù)據(jù),并支持多種數(shù)據(jù)格式,包括JSON、CSV、XML等。

    • 數(shù)據(jù)處理:Logstash能夠?qū)κ占降臄?shù)據(jù)進(jìn)行處理和轉(zhuǎn)換,例如過濾、分析、標(biāo)準(zhǔn)化等。

    • 數(shù)據(jù)傳輸:Logstash能夠?qū)⑻幚砗蟮臄?shù)據(jù)傳輸?shù)侥繕?biāo)位置,例如Elasticsearch、Kafka、Redis等。

    • 插件擴(kuò)展:Logstash提供了豐富的插件,方便用戶擴(kuò)展和定制功能。

    • 實(shí)時(shí)數(shù)據(jù)處理:Logstash能夠?qū)崿F(xiàn)實(shí)時(shí)數(shù)據(jù)處理,支持流式數(shù)據(jù)處理。 Logstash是一個(gè)高度可擴(kuò)展的工具,能夠處理大量的數(shù)據(jù),并支持分布式部署。它能夠與Elasticsearch、Kibana、Beats等工具集成,構(gòu)建一個(gè)強(qiáng)大的、可擴(kuò)展的數(shù)據(jù)分析平臺(tái)。Logstash提供了豐富的文檔和社區(qū)支持,方便用戶學(xué)習(xí)和使用。

  • Logstash工作原理

在這里插入圖片描述

如上圖,Logstash的數(shù)據(jù)處理過程主要包括:Inputs, Filters, Outputs 三部分, 另外在Inputs和Outputs中可以使用Codecs對(duì)數(shù)據(jù)格式進(jìn)行處理。這四個(gè)部分均以插件形式存在,用戶通過定義pipeline配置文件,設(shè)置需要使用的input,filter,output, codec插件,以實(shí)現(xiàn)特定的數(shù)據(jù)采集,數(shù)據(jù)處理,數(shù)據(jù)輸出等功能

(1)Inputs:用于從數(shù)據(jù)源獲取數(shù)據(jù),常見的插件如file, syslog, redis, beats 等

(2)Filters:用于處理數(shù)據(jù)如格式轉(zhuǎn)換,數(shù)據(jù)派生等,常見的插件如grok, mutate, drop, clone, geoip等

(3)Outputs:用于數(shù)據(jù)輸出,常見的插件如elastcisearch,file, graphite, statsd等

(4)Codecs:Codecs不是一個(gè)單獨(dú)的流程,而是在輸入和輸出等插件中用于數(shù)據(jù)轉(zhuǎn)換的模塊,用于對(duì)數(shù)據(jù)進(jìn)行編碼處理,常見的插件如json,multiline

  • Logstash核心概念
    • Pipeline:包含了input—filter-output三個(gè)階段的處理流程、插件生命周期管理、隊(duì)列管理
    • Logstash Event:數(shù)據(jù)在內(nèi)部流轉(zhuǎn)時(shí)的具體表現(xiàn)形式
      • 數(shù)據(jù)在input 階段被轉(zhuǎn)換為Event,在 output被轉(zhuǎn)化成目標(biāo)格式數(shù)據(jù)
      • Event 其實(shí)是一個(gè)Java Object,在配置文件中,對(duì)Event 的屬性進(jìn)行增刪改查
    • Codec (Code / Decode):將原始數(shù)據(jù)decode成Event,將Event encode成目標(biāo)數(shù)據(jù)

在這里插入圖片描述

  • Kibana 文檔地址:https://www.elastic.co/guide/cn/kibana/current/install.html

  • Kibana是一個(gè)數(shù)據(jù)可視化工具,能夠通過儀表盤、圖形和地圖等方式展示數(shù)據(jù)。主要用于展示和分析從Elasticsearch中獲取的數(shù)據(jù)。Kibana能夠?qū)崿F(xiàn)以下功能:

    • 數(shù)據(jù)可視化:Kibana能夠通過儀表盤、圖形和地圖等方式展示數(shù)據(jù),支持多種數(shù)據(jù)類型和格式。

    • 數(shù)據(jù)查詢:Kibana能夠?qū)崿F(xiàn)對(duì)Elasticsearch中存儲(chǔ)的數(shù)據(jù)進(jìn)行查詢和搜索。

    • 儀表盤管理:Kibana能夠創(chuàng)建、管理和共享儀表盤,方便用戶展示和分享數(shù)據(jù)。

    • 可視化插件:Kibana提供了豐富的可視化插件,方便用戶擴(kuò)展和定制功能。

    • 數(shù)據(jù)分析:Kibana能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)進(jìn)行聚合、過濾和分析,支持實(shí)時(shí)數(shù)據(jù)處理。 Kibana的主要優(yōu)點(diǎn)包括易用性、可擴(kuò)展性和豐富的功能。它能夠與Elasticsearch、Logstash、Beats等工具集成,構(gòu)建一個(gè)強(qiáng)大的、可擴(kuò)展的數(shù)據(jù)分析平臺(tái)。Kibana提供了豐富的文檔和社區(qū)支持,方便用戶學(xué)習(xí)和使用。

  • 環(huán)境準(zhǔn)備

    • 使用模板機(jī)克隆elk并配置如下參數(shù)
主機(jī)IP地址網(wǎng)關(guān)DNS配額
elk192.168.8.111/24192.168.8.254192.168.8.2541CPU2G內(nèi)存
[root@template ~]# hostnamectl set-hostname elk				#配置主機(jī)名
[root@elk ~]# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.8.111/24 ipv4.gateway 192.168.8.254 ipv4.dns 192.168.8.254 connection.autoconnect yes 								  #配置入網(wǎng)參數(shù)
[root@elk ~]# nmcli connection up ens160 					#激活網(wǎng)卡

安裝部署docker

開啟路由轉(zhuǎn)發(fā),docker是通過虛擬交換機(jī)來進(jìn)行通訊的,需要開啟路由轉(zhuǎn)發(fā)的功能

[root@elk ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
[root@elk ~]# sysctl -p              #讓配置立刻生效(否則需要重啟虛擬機(jī))

將2024-AI大模型Java全鏈路工程師環(huán)境資料/第四模塊/docker文件夾上傳至虛擬機(jī)elk的/root

[root@docker-0001 ~]# dnf remove podman					#卸載沖突的軟件包
[root@docker-0001 ~]# dnf remove runc
[root@docker-0001 ~]# cd /root/docker
[root@docker-0001 docker]# dnf -y localinstall *.rpm	#安裝docker

添加鏡像加速器

  • 使用華為云的鏡像加速器,每個(gè)人的都不一樣
[root@elk ~]# vim /etc/docker/daemon.json
[root@elk ~]# vim /etc/docker/daemon.json
{"registry-mirrors": ["這里配置鏡像倉(cāng)庫(kù)加速器地址"],"insecure-registries":[]
}
[root@elk ~]# systemctl restart docker 
[root@elk ~]# docker info
  • 將2024-AI大模型Java全鏈路工程師環(huán)境資料/第四模塊/elk鏡像中的所有內(nèi)容上傳至虛擬機(jī)elk的/root
  • 導(dǎo)入鏡像
[root@elk ~]# docker load -i elasticsearch.tar
[root@elk ~]# docker load -i elasticsearch-head.tar
[root@elk ~]# docker load -i kibana.tar
[root@elk ~]# docker load -i logstash.tar
[root@elk ~]# docker images 							#查看鏡像

安裝部署Elasticsearch

[root@elk ~]# docker network create -d bridge elk		#創(chuàng)建網(wǎng)絡(luò)
[root@elk ~]# docker network ls							#查看網(wǎng)絡(luò)
# 運(yùn)行 elasticsearch
[root@elk ~]# docker run -d --name es --net elk -P -e "discovery.type=single-node" elasticsearch:7.12.1# 進(jìn)入容器查看配置文件路徑
[root@elk ~]# docker exec -it es /bin/bash
[root@f84bda6f8389 elasticsearch] cd config[root@f84bda6f8389 config]# ls
elasticsearch.keystore  jvm.options.d           role_mapping.yml  users_roles
elasticsearch.yml       log4j2.file.properties  roles.yml
jvm.options             log4j2.properties       users[root@f84bda6f8389 config]# pwd
/usr/share/elasticsearch/config
# 在 config 中可看到 elasticsearch.yml 配置文件,
# 再執(zhí)行 pwd 可以看到當(dāng)前目錄為: /usr/share/elasticsearch/config,所以退出容器,執(zhí)行文件的拷貝
[root@f84bda6f8389 config]# exit
# 將容器內(nèi)的配置文件拷貝到 /usr/local/elk/elasticsearch/ 中
[root@elk ~]#  mkdir -p /usr/local/elk/elasticsearch
[root@elk ~]#  docker cp es:/usr/share/elasticsearch/config/elasticsearch.yml /usr/local/elk/elasticsearch[root@elk ~]# vim /usr/local/elk/elasticsearch/elasticsearch.yml
#此處省略1萬(wàn)字...在最后一行下方添加
http.cors.enabled: true
http.cors.allow-origin: "*"# 注意:這里要修改文件的權(quán)限為可寫,否則進(jìn)行掛載后,在外部修改配置文件,容器內(nèi)部的配置文件不會(huì)更改
# 同時(shí),創(chuàng)建 data 目錄進(jìn)行掛載。
# 修改文件權(quán)限
[root@elk ~]# chmod 666 /usr/local/elk/elasticsearch/elasticsearch.yml
[root@elk ~]# mkdir -p /usr/local/elk/elasticsearch/data
[root@elk ~]# chmod -R 777 /usr/local/elk/elasticsearch/data
#重新運(yùn)行容器并掛載
[root@elk ~]# docker rm -f es						#刪除測(cè)試容器es
# 運(yùn)行新的容器
[root@elk ~]# docker run -d --name es \
--net elk \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
--privileged=true \
-v /usr/local/elk/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/local/elk/elasticsearch/data:/usr/share/elasticsearch/data \
elasticsearch:7.12.1[root@elk ~]# docker ps

瀏覽器訪問地址:http://192.168.8.111:9200/

在這里插入圖片描述

安裝ElasticSearch-head(可選)

  • 說明:ElasticSearch-head是 ES的可視化界面,是為了方便后面調(diào)試時(shí)看日志有沒成功輸入到 ES 用的,非必須安裝的項(xiàng)目,也可跳過此步。

運(yùn)行容器

[root@elk ~]# docker run -d --name es_admin --net elk -p 9100:9100 mobz/elasticsearch-head:5
[root@elk ~]# docker ps

頁(yè)面無(wú)數(shù)據(jù)問題

  • 如果打開頁(yè)面之后節(jié)點(diǎn)、索引等顯示完全,但是數(shù)據(jù)瀏覽中無(wú)數(shù)據(jù)顯示,那么我們還需要改一個(gè)配置文件,這是因?yàn)?ES 6 之后增加了請(qǐng)求頭嚴(yán)格校驗(yàn)的原因(我們裝的是 7.12.1 版本):
[root@elk ~]#  docker cp es_admin:/usr/src/app/_site/vendor.js ./
[root@elk ~]#  vim vendor.js
#6886行:contentType: "application/json;charset=UTF-8"
#7573行: contentType === "application/json;charset=UTF-8"
# 改完后再將配置文件 copy 回容器,不需重啟,直接刷新頁(yè)面即可。[root@elk ~]# docker cp vendor.js es_admin:/usr/src/app/_site/

測(cè)試

瀏覽器訪問地址:http://192.168.8.111:9100/

在這里插入圖片描述

安裝Kibana

#注意:-e “ELASTICSEARCH_HOSTS=http://es:9200” 表示連接剛才啟動(dòng)的elasticsearch容器,因?yàn)樵谕痪W(wǎng)絡(luò)(elk)中,地址可直接填 容器名+端口,即 es:9200, 也可以填 http://192.168.8.111:9200,即 http://ip:端口。
[root@elk ~]# docker run -d --name kibana --net elk -P -e "ELASTICSEARCH_HOSTS=http://es:9200" -e "I18N_LOCALE=zh-CN" kibana:7.12.1	#運(yùn)行容器
#將容器內(nèi)kibana的配置文件拷貝出來
[root@elk ~]# mkdir -p /usr/local/elk/kibana/
[root@elk ~]# docker cp kibana:/usr/share/kibana/config/kibana.yml /usr/local/elk/kibana/
[root@elk ~]# chmod 666 /usr/local/elk/kibana/kibana.yml# 拷貝完成后,修改該配置文件,主要修改 elastissearch.hosts 并新增 i18n.locale 配置:
# 1. es 地址改為剛才安裝的 es 地址,因容器的隔離性,這里最好填寫 http://ip:9200
# 2. kibana 界面默認(rèn)是英文的,可以在配置文件中加上 i18n.locale: zh-CN(注意冒號(hào)后面有個(gè)空格)
# 這樣有了配置文件,在啟動(dòng)容器時(shí)就不用通過 -e 指定環(huán)境變量了
# 注意:
# 如果使用掛載配置文件的方式啟動(dòng)的話,elasticsearch.hosts 這需填寫 http://ip:9200,而不能使用容器名了,否則后面 kibana 連接 es 會(huì)失敗。
[root@elk ~]# vim /usr/local/elk/kibana/kibana.yml
# 注意這個(gè)ip是docker容器內(nèi)部的IP,不是虛擬機(jī)的,可以使用 docker inspect es來查看
elasticsearch.hosts: [ "http://172.18.0.2:9200" ]
i18n.locale: zh-CN
#刪除原來未掛載的容器
[root@elk ~]# docker rm -f kibana#啟動(dòng)容器并掛載
[root@elk ~]# docker run -d --name kibana -p 5601:5601 -v /usr/local/elk/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml --net elk kibana:7.12.1

瀏覽器訪問地址:http://192.168.8.111:9100/

在這里插入圖片描述

測(cè)試

  • 開始使用 Kibana 前,需要告訴 Kibana 您想要探索的 Elasticsearch 索引。第一次訪問 Kibana 時(shí),會(huì)提示您定義一個(gè) index pattern(索引模式) 匹配一個(gè)或多個(gè)索引。這就是初次使用 Kibana 時(shí)所有需要配置的。任何時(shí)候都可以在 Management 頁(yè)面增加索引模式。

  • 默認(rèn)情況下,Kibana 會(huì)連接運(yùn)行在 localhost 上的 Elasticsearch 實(shí)例。如果需要連接不同的 Elasticsearch實(shí)例,可以修改 kibana.yml 配置文件中的 Elasticsearch URL 配置項(xiàng)并重啟 Kibana。如果在生產(chǎn)環(huán)境節(jié)點(diǎn)上使用 Kibana

  • 設(shè)置您想通過 Kibana 訪問的 Elasticsearch 索引:

  • 瀏覽器中指定端口號(hào)5601來訪問 Kibana UI 頁(yè)面。例如, localhost:5601 或者 http://YOURDOMAIN.com:5601

在這里插入圖片描述

  • 指定一個(gè)索引模式來匹配一個(gè)或多個(gè) Elasticsearch 索引名稱。默認(rèn)情況下,Kibana 會(huì)認(rèn)為數(shù)據(jù)是通過 Logstash 解析送進(jìn) Elasticsearch 的。這種情況可以使用默認(rèn)的 logstash-* 作為索引模式。星號(hào) (*) 匹配0或多個(gè)索引名稱中的字符。如果 Elasticsearch 索引遵循其他命名約定,請(qǐng)輸入一個(gè)恰當(dāng)?shù)哪J?。該模式也可以直接用單個(gè)索引的名稱。

  • 如果您想做一些基于時(shí)間序列的數(shù)據(jù)比較,可以選擇索引中包含時(shí)間戳的字段。Kibana 會(huì)讀取索引映射,列出包含時(shí)間戳的所有字段。如果索引中沒有基于時(shí)間序列的數(shù)據(jù),則禁用 Index contains time-based events 選項(xiàng)。

  • 點(diǎn)擊 Create 增加索引模式。默認(rèn)情況下,第一個(gè)模式被自動(dòng)配置為默認(rèn)的。當(dāng)索引模式不止一個(gè)時(shí),可以通過點(diǎn)擊 Management > Index Patterns 索引模式題目上的星星圖標(biāo)來指定默認(rèn)的索引模式。

全部設(shè)置完畢!Kibana 連接了 Elasticsearch 的數(shù)據(jù)。展示了一個(gè)匹配到的索引的字段只讀列表。

瀏覽器訪問地址:http://192.168.8.111:5601/

在這里插入圖片描述

Docker 安裝 LogStash

  • 拉取鏡像并拷貝配置
[root@elk ~]# docker run -d -P --name logstash --net elk logstash:7.12.1# 拷貝數(shù)據(jù)
[root@elk ~]# mkdir -p /usr/local/elk/logstash/
[root@elk ~]# docker cp logstash:/usr/share/logstash/config /usr/local/elk/logstash/
[root@elk ~]# docker cp logstash:/usr/share/logstash/data /usr/local/elk/logstash/
[root@elk ~]# docker cp logstash:/usr/share/logstash/pipeline /usr/local/elk/logstash/#文件夾賦權(quán)
[root@elk ~]# chmod -R 777 /usr/local/elk/logstash/
  • 修改相應(yīng)配置文件

  • 修改 logstash/config 下的 logstash.yml 文件,主要修改 es 的地址(可通過 docker inspect es查看地址):

[root@elk ~]# vim /usr/local/elk/logstash/config/logstash.yml
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://172.18.0.2:9200" ]

修改 logstash/pipeline 下的 logstash.conf 文件:

[root@elk ~]# vim /usr/local/elk/logstash/pipeline/logstash.confinput {tcp {mode => "server"host => "0.0.0.0"  # 允許任意主機(jī)發(fā)送日志port => 5044codec => json_lines    # 數(shù)據(jù)格式}
}output {elasticsearch {hosts  => ["http://172.18.0.2:9200"]   # ElasticSearch 的地址和端口index  => "elk"         # 指定索引名codec  => "json"}stdout {codec => rubydebug}
}

啟動(dòng)容器并掛載

#注意先刪除之前的容器
[root@elk ~]# docker rm -f logstash# 啟動(dòng)容器并掛載
[root@elk ~]# docker run -d --name logstash --net elk \
--privileged=true \
-p 5044:5044 -p 9600:9600 \
-v /usr/local/elk/logstash/data/:/usr/share/logstash/data \
-v /usr/local/elk/logstash/config/:/usr/share/logstash/config \
-v /usr/local/elk/logstash/pipeline/:/usr/share/logstash/pipeline \
logstash:7.12.1

創(chuàng)建springboot應(yīng)用

項(xiàng)目地址:https://gitee.com/shuobolinux/shuoboelk.git

注意:該項(xiàng)目已經(jīng)搭建好,只需要把對(duì)應(yīng) resource下的 log/logback-spring.xml文件中的 標(biāo)簽中 logstash 的地址換成對(duì)應(yīng)自己的即可

搭建Springboot項(xiàng)目

這個(gè)比較簡(jiǎn)單,主要就是幾個(gè)配置文件:

pom文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.tedu</groupId><artifactId>elk</artifactId><version>0.0.1-SNAPSHOT</version><name>elk</name><description>elk</description><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.6.13</spring-boot.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>6.6</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.tedu.elk.ElkApplication</mainClass><skip>true</skip></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

創(chuàng)建一個(gè)TestController,每次調(diào)用接口,都會(huì)打印日志

package com.tedu.elk.controller;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.UUID;@RestController
public class TestController {private final static Logger logger = LoggerFactory.getLogger(TestController.class);@GetMapping("/index")public String index() {String uuid = UUID.randomUUID().toString();logger.info("TestController info " + uuid);return "hello elk " + uuid;}
}

在 resource 下創(chuàng)建 log/logback-springxml 文件,這里我們主要填寫 ip:端口,關(guān)于標(biāo)簽則看個(gè)人使用情況修改。

<?xml version="1.0" encoding="UTF-8"?>
<configuration><include resource="org/springframework/boot/logging/logback/base.xml" /><appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><destination>192.168.8.111:5044</destination><!-- 日志輸出編碼 --><encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"><providers><timestamp><timeZone>UTC</timeZone></timestamp><pattern><pattern>{<!--es索引名稱 -->"index":"elk",<!--應(yīng)用名稱 -->"appname":"${spring.application.name}",<!--打印時(shí)間 -->"timestamp": "%d{yyyy-MM-dd HH:mm:ss.SSS}",<!--線程名稱 -->"thread": "%thread",<!--日志級(jí)別 -->"level": "%level",<!--日志名稱 -->"logger_name": "%logger",<!--日志信息 -->"message": "%msg",<!--日志堆棧 -->"stack_trace": "%exception"}</pattern></pattern></providers></encoder></appender><root level="INFO"><appender-ref ref="LOGSTASH" /><appender-ref ref="CONSOLE" /></root>
</configuration>

最后修改 application.yml 文件:

server:port: 8080logging:config: classpath:log/logback-spring.xml

查看 es-head

在這里插入圖片描述

在這里插入圖片描述

查看Kibana

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

再次回到Discover頁(yè)面

在這里插入圖片描述

測(cè)試:調(diào)用接口 http://localhost:8080/index

在這里插入圖片描述

再次查看 Kibana ,已經(jīng)顯示了在代碼中打印的日志:

在這里插入圖片描述

http://aloenet.com.cn/news/45571.html

相關(guān)文章:

  • 圖片在線設(shè)計(jì)網(wǎng)站如何建立獨(dú)立網(wǎng)站
  • 淄博哪個(gè)網(wǎng)站做房屋出賃好網(wǎng)上怎么做推廣
  • 廈門本地企業(yè)網(wǎng)站建設(shè)看seo
  • 建設(shè)銀行內(nèi)部網(wǎng)站網(wǎng)絡(luò)營(yíng)銷的seo是做什么的
  • 做網(wǎng)站是怎樣賺錢的網(wǎng)站快速排名互點(diǎn)軟件
  • 一般做網(wǎng)站圖是多大的像素廣點(diǎn)通廣告投放平臺(tái)
  • 站免費(fèi)下載安裝seo優(yōu)化策略
  • 做鏡像網(wǎng)站搜索引擎優(yōu)化百度百科
  • 營(yíng)銷型企業(yè)網(wǎng)站建設(shè)策劃關(guān)鍵詞排名怎么快速上去
  • 怎么建設(shè)阿里巴巴國(guó)際網(wǎng)站首頁(yè)企業(yè)培訓(xùn)機(jī)構(gòu)排名
  • 域名注冊(cè)和網(wǎng)站建設(shè)深圳關(guān)鍵詞優(yōu)化報(bào)價(jià)
  • 做網(wǎng)站和淘寶美工 最低電腦百度手機(jī)點(diǎn)擊排名工具
  • sql數(shù)據(jù)庫(kù)環(huán)境網(wǎng)站搭建教程百度總部公司地址在哪里
  • 怎么制作軟件app教程網(wǎng)絡(luò)優(yōu)化工程師需要學(xué)什么
  • 利用ionic做的網(wǎng)站最新網(wǎng)絡(luò)營(yíng)銷方式
  • 做視頻網(wǎng)站seo查詢 工具
  • 廣州網(wǎng)站建設(shè)首選快優(yōu)淘寶權(quán)重查詢
  • 免費(fèi)正版高清圖片素材庫(kù)蕭山市seo關(guān)鍵詞排名
  • 美容行業(yè)培訓(xùn)網(wǎng)站建設(shè)seo搜索優(yōu)化是什么呢
  • 自動(dòng)生成海報(bào)的網(wǎng)站星鏈友店
  • 如果做淘寶網(wǎng)站百度指數(shù)官網(wǎng)入口登錄
  • 網(wǎng)絡(luò)網(wǎng)站建設(shè)電話哪些網(wǎng)站可以免費(fèi)發(fā)廣告
  • 室內(nèi)裝修公司需要資質(zhì)嗎優(yōu)化網(wǎng)站怎么真實(shí)點(diǎn)擊
  • 網(wǎng)站欄目結(jié)構(gòu)設(shè)計(jì)seo技術(shù)優(yōu)化技巧
  • 如何在微信公眾號(hào)里建設(shè)微網(wǎng)站制作app平臺(tái)需要多少錢
  • 中國(guó)十大軟件上市公司排名seo從零開始到精通200講解
  • 做英語(yǔ)趣味教具的網(wǎng)站時(shí)事新聞最新2022
  • 網(wǎng)站開發(fā)運(yùn)營(yíng)優(yōu)化百度漲
  • 做一個(gè)電子商務(wù)網(wǎng)站麗水網(wǎng)站seo
  • 工商企業(yè)查詢網(wǎng)楓樹seo網(wǎng)