Fork me on GitHub

pinpoint 问题解决

pinpoint 问题解决

1、故障一

最近在部署好了 pinpoint 后,然后 agent 也启动了,并且在web 检测发现该agent 也有注册信息。但是服务调用的信息和 服务的 JVM 信息等一些其他信息是没有收集的。

问题所在:
pinpoint collector 监听使用的端口是 :9994、9995、9996.
但是 9995和 9996 使用是 tcp 协议。
我们之前开放这些端口的协议是 udp 协议。
image

也折射处理一个问题:
telnet 使用的是 tcp 协议。 用 telnet udp 监听的端口,是不通的。 可以使用 nc

2、故障二

问题

Pinpoint收集到的数据远小于实际请求,对项目发送数十次请求后,pinpoint-web仅显示数条请求数据,远远小于实际的请求次数。

解决办法

pinpoint-agent配置文件pinpoint.config默认配置profiler.sampling.rate=20,即仅采样5%的事务,每20次请求只收集显示1次请求数据。
配置文件 pinpoint.config:

profiler.sampling.rate=20

如果将此选项设置为1,则代理将每1个事务(100%采样)跟踪一次,如果将其设置为10,则每10个事务(10%采样)跟踪一次。

3、清理过期数据

1. 当我们 应用和服务下线了,我们如何删除对应的应用和服务。

[官方文档](https://naver.github.io/pinpoint/1.7.3/faq.html#how-do-i-delete-application-name-andor-agent-id-from-hbase)
    一旦注册了应用程序名称和代理ID,它们就会保留在HBase中,直到它们的TTL过期(默认为1年)

我们可以通过 api(pinpoint web) 进行删除。

/admin/removeApplicationName.pinpoint?applicationName=$APPLICATION_NAME&password=$PASSWORD
/admin/removeAgentId.pinpoint?applicationName=$APPLICATION_NAME&agentId=$AGENT_ID&password=$PASSWORD 

请注意,password参数的值是您admin.password,在pinpoint-web.properties中定义的属性。保留此空白将使您无需密码参数即可调用管理API。

2. 清理 Hbase 里面的数据
   缩短 TTL 值(对于AgentStatV2和TraceV2),删除   AgentStatV2和TraceV2表(调用堆栈数据)中的数据可能是最安全的。
     详细操作见:https://www.cnblogs.com/FireLL/p/11612522.html
/home/yeemiao/hbase-1.2.11/bin/hbase shell
#查看表的状态
describe  'TraceV2'
#禁用该表
disable 'TraceV2'
#修改表的ttl数值,单位为秒
alter 'TraceV2' , {NAME=>'S',TTL=>'3888000'}
#合并文件,清除删除、过期、多余版本的数据
major_compact  'TraceV2'
#启用该表
enable 'TraceV2'

posted @ 2020-12-23 22:55  自由早晚乱余生  阅读(2153)  评论(1编辑  收藏  举报