全球即时看!Spring Cloud Sleuth和ELK实现日志跟踪
SpringCloudSleuth和ELK(Elasticsearch、Logstash和Kibana)是一种流行的组合,可用于实现分布式跟踪和日志分析。
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服务器。
现在,我们已经完成了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的索引中。
现在,我们已经完成了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的搜索结果中。
关键词:
SpringCloudSleuth和ELK(Elasticsearch、Logstash和Kibana)是一种流行的组合,可用于实现分布式跟踪和日志分析。
1、地球赤道周长大约为40076千米。2、地球赤道半径6378 137千米,极半径6356 752千米,平均半径约637
4月16日电,阿根廷卫生部当地时间4月15日发布公告称,截至当天,该国首都和14个省份共发现登革热确诊病例达
1、122路永泰广场-王店(新线)中山西路、越秀南路、中环南路永泰广场、大润发、汽车西站、嘉兴学院
潮新闻记者陈醉共享联盟·宁海蒋攀吴帅柴烨尤才彬这个双休日,期待已久的宁海越野挑战赛在宁波宁海举行。4
1、胸骨正中疼痛的原因有很多。2、首先要考虑胸壁疾病,也就是肌肉骨骼疼痛。3、主要特点是疼痛只集中在一
俗话说的好,春天不补,一年受苦。春天我们人体的阳气会顺应自然,向上向外疏发,从而导致我们出现腰膝酸软
今年4月15日是第八个全民国家安全教育日,连日来,滨海新区司法局营城司法所联合中新天津生态城管委会办公
1、肝癌不会传染,但肝炎会传染。2、肝癌是人体细胞恶性转化引起的疾病,不通过血流,不会通过接触或饮食传
当今社会,随着交通工具的普及,伴随而来的还有各种交通事故的发生。我们处在互联网时代,信息传播速度极快
1、1 酷狗——登陆。2、2 登陆后——点击“网络收藏”3 网络收藏的默认收藏界面,点击后面的按钮,在弹出的
新华社北京4月14日电(记者熊丰)记者14日从公安部获悉,为有效净化网络环境,依法打击网络谣言,公安部
近日来,受温度、湿度等影响,白蚁进入分飞期。市白蚁防治所提醒市民,发现疑似白蚁,尽快拨打白蚁灭治服务
4月14日北向资金增持158 82万股欣旺达。近5个交易日中,获北向资金增持的有2天,累计净增持124 21万股。近2
天镜万景永定河(之七)
曲靖市召开2023年巩固提升全国文明城市创建重点工作调度会
马自达CX-30EV(图片|配置|询价)是一款由马自达推出的电动汽车,该车也是油转电车型,所以在大部分的设计上
突发!中国地震台网最新发布7 1级地震和5 7级地震信息,各地可随时关注最新动态。
生死时速!6分钟,救了一条命
据京东最新消息,京东物流分布全国的600多台智能快递车上线揽收业务,成为行业首个规模化实现“揽派一体”
我设法通过了最难的科目二,但是我没想到科目三如此令人头痛。很多同学在科目三都翻了很多跟头,因为科目三
加密网课“变身”17 8元培训资料?“窃课”谋利构成侵权
来源:电子产品世界加利福尼亚州坎贝尔–2023年4月12日–致力于加速片上系统创建的领先系统IP提供商
新京报讯(记者张赫)由爱奇艺、腾讯视频联合出品的励志旅行真人秀《哈哈哈哈哈》第三季正在热播。在上期节
金羊网
Copyright 2015-2023 港澳酒业网 版权所有 备案号:京ICP备2023022245号-31 联系邮箱:435 226 40 @qq.com