电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SpringBoot應用整合ELK實現日志收集的示例代碼

瀏覽:2日期:2023-04-21 18:50:39

ELK即Elasticsearch、Logstash、Kibana,組合起來可以搭建線上日志系統,本文主要講解使用ELK來收集SpringBoot應用產生的日志。

ELK中各個服務的作用

Elasticsearch:用于存儲收集到的日志信息; Logstash:用于收集日志,SpringBoot應用整合了Logstash以后會把日志發送給Logstash,Logstash再把日志轉發給Elasticsearch; Kibana:通過Web端的可視化界面來查看日志。

使用Docker Compose 搭建ELK環境

需要下載的Docker鏡像

docker pull elasticsearch:6.4.0docker pull logstash:6.4.0docker pull kibana:6.4.0

搭建前準備

elasticsearch啟動成功需要特殊配置

需要設置系統內核參數,否則會因為內存不足無法啟動。

# 改變設置sysctl -w vm.max_map_count=262144# 使之立即生效sysctl -p

需要創建/mydata/elasticsearch/data目錄并設置權限,否則會因為無權限訪問而啟動失敗。

# 創建目錄mkdir /mydata/elasticsearch/data/# 創建并改變該目錄權限chmod 777 /mydata/elasticsearch/data

開始搭建

創建一個存放logstash配置的目錄并上傳配置文件

logstash-springboot.conf文件內容

input { tcp { mode => 'server' host => '0.0.0.0' port => 4560 codec => json_lines }}output { elasticsearch { hosts => 'es:9200' index => 'springboot-logstash-%{+YYYY.MM.dd}' }}

創建配置文件存放目錄并上傳配置文件到該目錄

mkdir /mydata/logstash

使用docker-compose.yml腳本啟動ELK服務docker-compose.yml內容

version: ’3’services: elasticsearch: image: elasticsearch:6.4.0 container_name: elasticsearch environment: - 'cluster.name=elasticsearch' #設置集群名稱為elasticsearch - 'discovery.type=single-node' #以單一節點模式啟動 - 'ES_JAVA_OPTS=-Xms512m -Xmx512m' #設置使用jvm內存大小 volumes: - /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件掛載 - /mydata/elasticsearch/data:/usr/share/elasticsearch/data #數據文件掛載 ports: - 9200:9200 kibana: image: kibana:6.4.0 container_name: kibana links: - elasticsearch:es #可以用es這個域名訪問elasticsearch服務 depends_on: - elasticsearch #kibana在elasticsearch啟動之后再啟動 environment: - 'elasticsearch.hosts=http://es:9200' #設置訪問elasticsearch的地址 ports: - 5601:5601 logstash: image: logstash:6.4.0 container_name: logstash volumes: - /mydata/logstash/logstash-springboot.conf:/usr/share/logstash/pipeline/logstash.conf #掛載logstash的配置文件 depends_on: - elasticsearch #kibana在elasticsearch啟動之后再啟動 links: - elasticsearch:es #可以用es這個域名訪問elasticsearch服務 ports: - 4560:4560

上傳到linux服務器并使用docker-compose命令運行

docker-compose up -d

注意:Elasticsearch啟動可能需要好幾分鐘,要耐心等待。

SpringBoot應用整合ELK實現日志收集的示例代碼

在logstash中安裝json_lines插件

# 進入logstash容器docker exec -it logstash /bin/bash# 進入bin目錄cd /bin/# 安裝插件logstash-plugin install logstash-codec-json_lines# 退出容器exit# 重啟logstash服務docker restart logstash

開啟防火墻并在kibana中查看

systemctl stop firewalld

訪問地址:http://192.168.3.101:5601

SpringBoot應用整合ELK實現日志收集的示例代碼

SpringBoot應用集成Logstash

在pom.xml中添加logstash-logback-encoder依賴

<!--集成logstash--><dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>5.3</version></dependency>

添加配置文件logback-spring.xml讓logback的日志輸出到logstash

注意appender節點下的destination需要改成你自己的logstash服務地址,比如我的是:192.168.3.101:4560 。

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE configuration><configuration> <include resource='org/springframework/boot/logging/logback/defaults.xml'/> <include resource='org/springframework/boot/logging/logback/console-appender.xml'/> <!--應用名稱--> <property name='APP_NAME' value='mall-admin'/> <!--日志文件保存路徑--> <property name='LOG_FILE_PATH' value='${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/logs}'/> <contextName>${APP_NAME}</contextName> <!--每天記錄日志到文件appender--> <appender name='FILE' class='ch.qos.logback.core.rolling.RollingFileAppender'> <rollingPolicy class='ch.qos.logback.core.rolling.TimeBasedRollingPolicy'> <fileNamePattern>${LOG_FILE_PATH}/${APP_NAME}-%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>${FILE_LOG_PATTERN}</pattern> </encoder> </appender> <!--輸出到logstash的appender--> <appender name='LOGSTASH' class='net.logstash.logback.appender.LogstashTcpSocketAppender'> <!--可以訪問的logstash日志收集端口--> <destination>192.168.3.101:4560</destination> <encoder charset='UTF-8' /> </appender> <root level='INFO'> <appender-ref ref='CONSOLE'/> <appender-ref ref='FILE'/> <appender-ref ref='LOGSTASH'/> </root></configuration>

運行Springboot應用

SpringBoot應用整合ELK實現日志收集的示例代碼

在kibana中查看日志信息創建index pattern

SpringBoot應用整合ELK實現日志收集的示例代碼

SpringBoot應用整合ELK實現日志收集的示例代碼

SpringBoot應用整合ELK實現日志收集的示例代碼

查看收集的日志

SpringBoot應用整合ELK實現日志收集的示例代碼

調用接口進行測試

SpringBoot應用整合ELK實現日志收集的示例代碼

SpringBoot應用整合ELK實現日志收集的示例代碼

制造一個異常并查看修改獲取所有品牌列表接口

SpringBoot應用整合ELK實現日志收集的示例代碼

調用該接口并查看日志

SpringBoot應用整合ELK實現日志收集的示例代碼

總結

搭建了ELK日志收集系統之后,我們如果要查看SpringBoot應用的日志信息,就不需要查看日志文件了,直接在Kibana中查看即可。

到此這篇關于SpringBoot應用整合ELK實現日志收集的示例代碼的文章就介紹到這了,更多相關SpringBoot ELK日志收集內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 校服厂家,英伦校服定做工厂,园服生产定制厂商-东莞市艾咪天使校服 | 软膜天花_软膜灯箱_首选乐创品牌_一站式天花软膜材料供应商! | 油缸定制-液压油缸厂家-无锡大鸿液压气动成套有限公司 | 气动隔膜阀_气动隔膜阀厂家_卫生级隔膜阀价格_浙江浙控阀门有限公司 | 森旺-A级防火板_石英纤维板_不燃抗菌板装饰板_医疗板 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | 长沙广告公司_制作,长沙喷绘_发光字_招牌制作_长沙泓润广告官网 长城人品牌官网 | 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 长城人品牌官网| 螺旋丝杆升降机-SWL蜗轮-滚珠丝杆升降机厂家-山东明泰传动机械有限公司 | 河南凯邦机械制造有限公司| 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 致胜管家软件服务【在线免费体验】 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 存包柜厂家_电子存包柜_超市存包柜_超市电子存包柜_自动存包柜-洛阳中星 | 氟塑料磁力泵-不锈钢离心泵-耐腐蚀化工泵厂家「皖金泵阀」 | 真空干燥烘箱_鼓风干燥箱 _高低温恒温恒湿试验箱_光照二氧化碳恒温培养箱-上海航佩仪器 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 别墅图纸超市|别墅设计图纸|农村房屋设计图|农村自建房|别墅设计图纸及效果图大全 | 深圳成考网-深圳成人高考报名网 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 | 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 办公室家具公司_办公家具品牌厂家_森拉堡办公家具【官网】 | 重庆磨床过滤机,重庆纸带过滤机,机床伸缩钣金,重庆机床钣金护罩-重庆达鸿兴精密机械制造有限公司 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 水轮机密封网 | 水轮机密封产品研发生产厂家 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 西门子气候补偿器,锅炉气候补偿器-陕西沃信机电工程有限公司 | 水成膜泡沫灭火剂_氟蛋白泡沫液_河南新乡骏华消防科技厂家 | 搜木网 - 木业全产业链交易平台,免费搜货、低价买货! | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 滚珠丝杆升降机_螺旋升降机_丝杠升降机-德迈传动 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 2025福建平潭岛旅游攻略|蓝眼泪,景点,住宿攻略-趣平潭网 | 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 |