提交 04579a56 编写于 作者: L lican 提交者: wu-sheng

Update FAQ doc (#1184)

* update faq doc

* update faq

* update faq
上级 427deed8
......@@ -46,4 +46,6 @@
* [The trace doesn't continue in kafka consumer side](en/FAQ/kafka-plugin.md)
* [Agent or collector version upgrade](en/FAQ/Upgrade.md)
* [Protoc plugin fails in maven build](en/FAQ/Protoc-Plugin-Fails-When-Build.md)
* [EnhanceRequireObjectCache class cast exception](en/FAQ/EnhanceRequireObjectCache-Cast-Exception.md)
......@@ -42,3 +42,5 @@
* [加载探针,Console被GRPC日志刷屏](cn/FAQ/Too-many-gRPC-logs-CN.md)
* [Kafka消息消费端链路断裂](cn/FAQ/Kafka-plugin-CN.md)
* [Protoc-Plugin Maven编译时异常](cn/FAQ/Protoc-Plugin-Fails-When-Build-CN.md)
* [EnhanceRequireObjectCache 类转换异常](cn/FAQ/EnhanceRequireObjectCache-Cast-Exception-CN.md)
### 现象
agent 启动日志出现如下错误,无法将`EnhanceRequireObjectCache`转换为`EnhanceRequireObjectCache`,无法正常上报数据
```java
ERROR 2018-05-07 21:31:24 InstMethodsInter : class[class org.springframework.web.method.HandlerMethod] after method[getBean] intercept failure
java.lang.ClassCastException: org.apache.skywalking.apm.plugin.spring.mvc.commons.EnhanceRequireObjectCache cannot be cast to org.apache.skywalking.apm.plugin.spring.mvc.commons.EnhanceRequireObjectCache
at org.apache.skywalking.apm.plugin.spring.mvc.commons.interceptor.GetBeanInterceptor.afterMethod(GetBeanInterceptor.java:45)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:105)
at org.springframework.web.method.HandlerMethod.getBean(HandlerMethod.java)
at org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver.shouldApplyTo(AbstractHandlerMethodExceptionResolver.java:47)
at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:131)
at org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:76)
...
```
### 原因
此类错误见于开发环境使用了热部署(`spring-boot-devtool`)或者其他类似的工具, `classloader` 变更导致.
### 解决方法
1. 此错误不会影响生产环境使用[spring-boot-devtools说明](https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html)
2. 开发环境如果想正常调试,可以暂时在开发环境去掉此包进行调试.
**现象**
### 现象
Kafka消息消费端链路断裂
**原因**
### 原因
Kafka探针只是追踪了对Kafka的拉取动作,而整个后续处理过程不是由kafka consumer发起。故,需要在消费处理的发起点,进行手动埋点。
**解决方法**: 可以通过Application Toolkit中的 `@Trace` 标注,或者OpenTracing API进行手动埋点。
### 解决方法
可以通过Application Toolkit中的 `@Trace` 标注,或者OpenTracing API进行手动埋点。
现象:
- maven编译加载protoc-plugins插件产生如下错误:
### 现象
maven编译加载protoc-plugins插件产生如下错误:
```
[ERROR] Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.5.0:compile-custom (default) on project apm-network: Unable to copy the file to \incubator-skywalking\apm-network\target\protoc-plugins: \incubator-skywalking\apm-network\target\protoc-plugins\protoc-3.3.0-linux-x86_64.exe (另一个程序正在使用此文件,进程无法访问。) -> [Help 1]
```
原因:
- Protobuf编译器依赖于glibc环境,部分linux操作系统未安装或未升级该函数库会产生该问题。
### 原因
Protobuf编译器依赖于glibc环境,部分linux操作系统未安装或未升级该函数库会产生该问题。
解决方法:
- 检查并升级最新版本glibc库,若使用容器镜像环境推荐含有最新版本glibc的alpine系统。请参考官方手册:http://www.gnu.org/software/libc/documentation.html
### 解决方法
检查并升级最新版本glibc库,若使用容器镜像环境推荐含有最新版本glibc的alpine系统。请参考官方手册:http://www.gnu.org/software/libc/documentation.html
**现象**
### 现象
1. 加载探针并启动应用
2. Console中被GRPC日志刷屏
**原因**:Skywalking采用了GRPC框架发送数据,GRPC框架读取log的配置文件进行日志输出。
### 原因
Skywalking采用了GRPC框架发送数据,GRPC框架读取log的配置文件进行日志输出。
**解决方法**: 在log的配置文件中添加对`org.apache.skywalking.apm.dependencies`包的过滤
### 解决方法
在log的配置文件中添加对`org.apache.skywalking.apm.dependencies`包的过滤
现象:
### 现象
- Agent和Collector正常工作,没有异常日志
- 已经对系统进行过访问,Trace查询有数据
- UI除Trace查询页面外,其他页面无数据
原因:
### 原因
Collector和被监控应用的系统主机时间,没有同步。
解决方法:
### 解决方法
同步各主机操作系统时间。
### Problem
when you start your application with `skywalking` agent,if you find this exception in your agent log which mean `EnhanceRequireObjectCache` can not be casted to `EnhanceRequireObjectCache`.eg:
```java
ERROR 2018-05-07 21:31:24 InstMethodsInter : class[class org.springframework.web.method.HandlerMethod] after method[getBean] intercept failure
java.lang.ClassCastException: org.apache.skywalking.apm.plugin.spring.mvc.commons.EnhanceRequireObjectCache cannot be cast to org.apache.skywalking.apm.plugin.spring.mvc.commons.EnhanceRequireObjectCache
at org.apache.skywalking.apm.plugin.spring.mvc.commons.interceptor.GetBeanInterceptor.afterMethod(GetBeanInterceptor.java:45)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:105)
at org.springframework.web.method.HandlerMethod.getBean(HandlerMethod.java)
at org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver.shouldApplyTo(AbstractHandlerMethodExceptionResolver.java:47)
at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:131)
at org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:76)
...
```
### Reason
this exception may caused by some `hot deployment` tools(`spring-boot-devtool`) or some else which may change the `classloader` in runtime.
### Resolve
1. Production environment does not appear this error because developer tools are automatically disabled,look [spring-boot-devtools](https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html)
2. If you want to debug in your development environment normally,you should remove such `hot deployment` package in your lib path temporarily.
**Problem**
### Problem
- In maven build, the protoc-plugin occurs error:
```
[ERROR] Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.5.0:compile-custom (default) on project apm-network: Unable to copy the file to \incubator-skywalking\apm-network\target\protoc-plugins: \incubator-skywalking\apm-network\target\protoc-plugins\protoc-3.3.0-linux-x86_64.exe (The process cannot access the file because it is being used by another process) -> [Help 1]
```
**Reason**
### Reason
- Protobuf compiler is dependent on the glibc, but it is not-installed or installed old version in the system.
**Resolve**
### Resolve
- Install or upgrade to the latest version of the glibc library. In container env, recommend using the latest glibc version of the alpine system.
Please refer to http://www.gnu.org/software/libc/documentation.html
**Problem**
### Problem
Too many GRPC log in the console
**Reason**:Skywalking uses the GRPC framework to send data, and the GRPC framework reads log configuration files for log output.
### Reason
Skywalking uses the GRPC framework to send data, and the GRPC framework reads log configuration files for log output.
**Resolve**: Add filter to `org.apache.skywalking.apm.dependencies` package in log configuration file
### Resolve
Add filter to `org.apache.skywalking.apm.dependencies` package in log configuration file
# Upgrade FAQs
## Version 3.x -> 5.0.0-alpha
### Collector
- **Problem**
### Problem
There is no information showing in the UI.
- **Cause**
### Cause
In upgrate from 3.2.6 to 5.0.0, Elasticsearch indexes aren't recreated, because not indexes exist, but aren't compatible with 5.0.0-alpha.
When service name registered, the es will create this column by default type string, which is wrong.
- **Solution**
### Solution
Clean the data folder in ElasticSearch and restart ElasticSearch, collector and your under monitoring application.
**Problem**
### Problem
- There is no abnormal log in Agent log and Collector log,
- The traces show, but no other info in UI.
**Reason**
### Reason
The operating system where the monitored system is located is not set as the current time zone, causing statistics collection time points to deviate.
**Resolve**
### Resolve
Make sure the time is sync in collector servers and monitored application servers.
**Problem**:
### Problem
The trace doesn't continue in kafka consumer side.
**Reason**:
### Reason
The kafka client is pulling message from server, the plugin also just traces the pull action. As that, you need to do the manual instrument before the pull action, and include the further data process.
**Resolve**:
### Resolve
Use Application Toolkit libraries to do manual instrumentation. such as `@Trace` annotation or OpenTracing API.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册