Spring Cloud Sleuth和ELK实现日志跟踪|观热点

2023-04-16 11:34:16 | 来源:腾讯云

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的搜索结果中。

上一篇 下一篇

相关新闻

Spring Cloud Sleuth和ELK实现日志跟踪|观热点

多项先行经济指标积极向好 我国经济持续回暖

现场直击|2023北京半马开跑,大量参赛者搭乘地铁前来 天天简讯

当前速讯:锚定企业“含绿量” 提升产业“含金量”── 我市国家级绿色制造示范单位累计达到154家

如何在ppt中加入视频播放链接-如何在ppt中加入视频 环球热资讯

这就是信心|喜——“朋友圈”越来越广

新疆和田核桃春季管护正当时 技术培训助力增收 当前看点

“琼”尽好物看消博|这些乡村好货,正在走向世界

热门看点:淮安市多向发力 推动经济向好运行

练为战!带你走进特战尖兵训练场

天天关注:央视直播巴黎vs朗斯:法甲榜首大战 梅西为续约而战 姆巴佩争金靴

微速讯:爱上独处的年轻人

这家竞彩店为什么主推任选九,还频频中奖?店主倡导理性购彩和细水长流

金发科技:4月14日融资买入717.53万元,融资融券余额11.93亿元 环球看热讯

今头条!焦点访谈:激发活力 提振消费

最新新闻

Spring Cloud Sleuth和ELK实现日志跟踪|观热点

多项先行经济指标积极向好 我国经济持续回暖

现场直击|2023北京半马开跑,大量参赛者搭乘地铁前来 天天简讯

当前速讯:锚定企业“含绿量” 提升产业“含金量”── 我市国家级绿色制造示范单位累计达到154家

如何在ppt中加入视频播放链接-如何在ppt中加入视频 环球热资讯

这就是信心|喜——“朋友圈”越来越广

新疆和田核桃春季管护正当时 技术培训助力增收 当前看点

“琼”尽好物看消博|这些乡村好货,正在走向世界

热门看点:淮安市多向发力 推动经济向好运行

练为战!带你走进特战尖兵训练场

天天关注:央视直播巴黎vs朗斯:法甲榜首大战 梅西为续约而战 姆巴佩争金靴

微速讯:爱上独处的年轻人

这家竞彩店为什么主推任选九,还频频中奖?店主倡导理性购彩和细水长流

金发科技:4月14日融资买入717.53万元,融资融券余额11.93亿元 环球看热讯

今头条!焦点访谈:激发活力 提振消费

证监会同意30年期国债期货注册 首批合约将于4月21日上市交易 当前聚焦

当前短讯!注意!国瑞科技将于5月19日召开股东大会

焦点简讯:上海华瑞银行:取消发行“23上海华瑞银行CD251”

山西超市经济蓬勃发展 “全产业链”下的生态集群

今日辟谣(2023年4月14日)

最新消息:共话中国经济新机遇丨IMF总裁:今年中国对全球经济增长贡献率将达三分之一

传播健康理念!宝山这里的科普巡讲暖民心

IPO速递|三博脑科2023年4月21日开启申购,你要打吗?|环球热消息

国家安全 为了你依靠你

歌的笔顺笔画_歌的笔顺

【世界独家】北京生育津贴领取条件及标准2023:北京生育津贴怎么计算?

南通崇川天生港镇街道:党建引领映初心 银龄生辉献余热

全球新消息丨汽车经销商年报:盈利普遍下滑,重点布局新能源

每日时讯!黄金市场分析:似乎进入了大涨小回的交易节奏

热门看点:如何吸引顾客进店方法(如何吸引顾客)