当前热点-Spring Cloud Sleuth和ELK实现日志跟踪
Spring Cloud Sleuth和ELK(Elasticsearch、Logstash和Kibana)是一种流行的组合,可用于实现分布式跟踪和日志分析。
(资料图片)
一、添加依赖
首先,我们需要在Maven或Gradle项目中添加Spring Cloud Sleuth和ELK的依赖。以下是在Maven项目中添加依赖的示例:
org.springframework.cloud spring-cloud-starter-sleuth net.logstash.logback logstash-logback-encoder 6.2 org.springframework.boot spring-boot-starter-log4j2 2.6.3
在上面的依赖中,我们添加了Spring Cloud Sleuth的核心依赖和ELK的依赖。我们还使用Logstash Logback Encoder来格式化日志输出,并使用Log4j2作为日志记录器。
二、配置应用
在添加了Spring Cloud Sleuth和ELK的依赖之后,我们需要为应用程序配置一些参数,以便Sleuth和ELK能够正常工作。以下是一个简单的配置示例:
spring: sleuth: sampler: probability: 1.0logging: level: root: INFO org.springframework.web: INFO com.example.demo: DEBUG file: path: logs name: app.log encoder: pattern: "%date %level [%thread] %logger{10} [%file:%line] %msg%n" charset: UTF-8app: name: order-service
在上面的配置中,我们将采样率设置为1.0,这意味着我们将对所有请求进行跟踪。我们还配置了日志记录器的级别和格式,并指定了日志文件的路径和名称。我们还添加了一个应用程序名称,用于将日志发送到ELK服务器。
三、配置ELK
现在,我们已经完成了Spring Cloud Sleuth和应用程序的配置,接下来我们需要配置ELK服务器以收集和分析日志数据。以下是一个简单的ELK配置示例:
input { tcp { port => 5000 codec => json_lines }}filter { if [app][name] == "order-service" { mutate { add_field => { "service" => "order-service" } } }}output { elasticsearch { hosts => ["http://localhost:9200"] index => "%{[service]}-%{+YYYY.MM.dd}" }}
在上面的配置中,我们使用Logstash作为数据收集器,将日志数据发送到Elasticsearch。我们还添加了一个过滤器来为日志数据添加一个服务字段,并将数据索引到特定的索引中,索引名称由服务名称和日期组成。在这个示例中,我们的服务名称是order-service,因此我们将日志数据索引到order-service-YYYY.MM.dd的索引中。
四、在应用程序中使用ELK
现在,我们已经完成了Spring Cloud Sleuth和ELK的配置,接下来我们需要在应用程序中使用它们。以下是一个简单的示例:
@RestControllerpublic class OrderController { private static final Logger LOGGER = LoggerFactory.getLogger(OrderController.class); @Autowired private RestTemplate restTemplate; @GetMapping("/orders/{id}") public Order getOrder(@PathVariable Long id) { LOGGER.info("Getting order with id {}", id); Order order = restTemplate.getForObject("http://localhost:8081/orders/" + id, Order.class); LOGGER.info("Got order with id {}", id); return order; }}
在上面的示例中,我们使用了Spring Boot的@RestController注解来创建一个REST API端点。在方法中,我们使用Spring Boot的RestTemplate来发送HTTP请求,并记录请求的开始和结束时间。由于我们已经在应用程序中使用了Spring Cloud Sleuth,因此Sleuth会自动记录跟踪ID和跟踪span ID,并将它们添加到日志中。
五、分析日志数据
现在,我们已经在应用程序中记录了日志,并将它们发送到ELK服务器,接下来我们需要使用Kibana来分析日志数据。以下是一个简单的Kibana查询示例:
GET order-service-*/_search{ "query": { "bool": { "must": [ { "match": { "service": "order-service" } }, { "match": { "message": "Getting order with id" } } ] } }}
在上面的查询中,我们使用Elasticsearch的match查询来搜索包含服务名称和"Getting order with id"的日志消息。此查询将返回所有满足条件的日志数据,并将它们显示在Kibana的搜索结果中。
关键词:
下一篇:最后一页
- 百科词典 什么是球状闪电
- 智库知识 fx是什么
- 百科问答 概率密度函数有什么几何意义
- 知识课堂 呈味核苷酸二钠成分
- 字词小课堂 客家人是指哪里人
- 网络百科全书 sb是什么意思
- 广州科技活动周进入预热 明日正式启动300多场主题活动接踵而来
- 深化重点领域信用建设 广州正式出台新型监管机制实施方案
- 女童不慎掉入20米深井 18岁小姨三次下井成功营救
- 西安3个区域12月28日起每日开展全员核酸 官方提倡民众居家健身
-
生意社:本周丙二醇市场小幅上涨运行
【生意社:本周丙二醇市场小幅上涨运行】生意社监测数据显示,截止2023年4月13日,国产工业级丙二醇市场价格参考在8633元 吨,与4月9日(丙二醇
-
当前讯息:四年合同,告别勇士!科尔无所适从,你渴望在金州身上赢得尊重
四年合同,告别勇士!科尔无所适从,你渴望在金州身上赢得尊重,勇士,布朗,湖人,库里,金州,二战,骑士团,军事同盟,军事条约,凯文杜兰特,赫尔穆特
-
当前讯息:高压开关柜详细培训,全方位阐述!
导读高压开关柜是金属封闭开关设备的俗称,是按一定的电路方案将有关电气设备组装在一个封闭的金属外壳内的成套配电装置。高压开关柜高压开关
-
天弘郭相博:以实业思维做长期医药投资
而医药作为所有人必不可少的刚需行业,无疑是极具成长前景的,但其开年以来却一直表现平平。而天弘基金的大健康投资总监郭相博就是其中之一。
-
资讯:抖音如何拍同款?
很多朋友闲暇的时候都会刷刷抖音,如果在抖音上听到了好听的歌曲是可以拍同款的,那么抖音如何拍同款呢?方法很简单,只要在刷抖音的时候点击
-
天天最新:4月13日广东地区萤石市场价格暂稳
4月13日广东地区萤石市场行情走势暂稳,目前97%萤石粉湿粉出厂含税价格主流报2850-2950元 吨,场内货源供应正常,场内库存不高,走销情况一般
-
热资讯!4月13日生意社白炭黑基准价为6025.00元/吨
4月13日,生意社白炭黑基准价为6025 00元 吨,与本月初持平。白炭黑年度统计(2022-04-13--2023-04-13,元 吨)当日价6025
-
31省份3月CPI出炉:26地物价涨了 你感受到了吗?
国家统计局日前公布了31省份2021年3月居民消费价格指数(CPI),数据显示,26省份3月CPI同比正增长,浙江成为涨幅最大的省份,达1 3%。中新经纬
-
每日热议!日本财务大臣铃木俊一:全球金融已经恢复稳定
4月13日电,日本财务大臣铃木俊一表示,全球金融已经恢复稳定,形势暂时持稳;某些国家供应链集中的情况不利于经济安全。
-
“夸父一号”卫星观测数据向国内外试开放
记者从中国科学院紫金山天文台获悉,2023年4月11至12日,由“夸父一号”卫星工程科学应用系统牵头单位中国科学院紫金山天文台、地面支撑系统牵
X 关闭
当前热点-Spring Cloud Sleuth和ELK实现日志跟踪
马斯克:推特正启动创作者订阅 焦点精选
环球今热点:京津冀公安推出新一批“同事同标”事项
12月18日辽宁辽阳疫情累计多少例及辽阳此次疫情最新确诊人数
张全景子张光强_张全景四个子女
X 关闭
西安警方完成研考安保工作 共出动警力逾1.3万人次
得知西安疫情防控“升级” 男子夜骑共享单车回咸阳淳化
中国医生将任SIU主席背后:从追随者同行者到引领者
海南省通报政法队伍教育整顿成果
云南两地发现核酸阳性人员 西安实行最严格的社会面管控