APM服务部分接口404

2024-03-01 08:18
文章标签 服务 接口 404 部分 apm

本文主要是介绍APM服务部分接口404,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现状部分接口404

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

定位问题

1. 服务器本地curl

在这里插入图片描述
链接请求没有问题。

2. 浏览器发起请求后服务端接收的请求是什么?

在这里插入图片描述

请求中的 %2F 被替换为 /

定位到问题。

路径在传递的过程中将%2F 换为 /

解决思路

nginx是否可以取得最原始的URI?

$uri , $document_uri. 两者取到的都是被替换后的结果

$require_uri 可以取得原始的请求链接

/kibana/api/apm/services/growth-sem/transaction_groups/page-load/%2Fgrowth%2Fsem/distribution?start=2021-05-10T04%3A43%3A06.530Z&end=2021-05-11T04%3A43%3A06.531Z&transactionId=21a98dbf48a61a08&traceId=91b5d56cac75988c7989f92672cbdb88&uiFiltersES=%255B%255D# 拆分
/kibana/api/apm/services/growth-sem/transaction_groups
/page-load/%2Fgrowth%2Fsem/distribution?
start=2021-05-10T04%3A43%3A06.530Z&end=2021-05-11T04%3A43%3A06.531Z&transactionId=21a98dbf48a61a08&traceId=91b5d56cac75988c7989f92672cbdb88&uiFiltersES=%255B%255D
截取请求URI转发给服务
使用lua脚本截取
string.sub(ngx.var.request_uri, 9)
将lua脚本的中变量导出到nginx

set_by_lua(_file)
语法:set_by_lua $res [ $arg1 $arg2 …]
适用上下文:server、location、location if

set_by_lua  $originuri 'return string.sub(ngx.var.request_uri, 9)';
完整示例
set_by_lua $originuri 'return string.sub(ngx.var.request_uri, 9)';
proxy_pass http://galaxy_kibana/$originuri;
线上部署进行验证

在这里插入图片描述

完全符合预期

这篇关于APM服务部分接口404的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/761787

相关文章

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

java对接第三方接口的三种实现方式

《java对接第三方接口的三种实现方式》:本文主要介绍java对接第三方接口的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录HttpURLConnection调用方法CloseableHttpClient调用RestTemplate调用总结在日常工作

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别

linux服务之NIS账户管理服务方式

《linux服务之NIS账户管理服务方式》:本文主要介绍linux服务之NIS账户管理服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、所需要的软件二、服务器配置1、安装 NIS 服务2、设定 NIS 的域名 (NIS domain name)3、修改主

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.