美文网首页APM监控
Skywalking填坑记(持续新增)

Skywalking填坑记(持续新增)

作者: 伦文聚 | 来源:发表于2019-07-30 18:21 被阅读0次

    走了使用开源的路,就是一路填坑,填完一个还有一个,这里Mark一下,方便后来人和自己

    一、ES的存储的坑


    我是华丽的分隔线:

    前言:这里使用的是es,开始的时候安装的是最新的ES 7.2,后面发现连接不上,后来在官方支持群,发现不支持7.2的,目前最新支持到6.2.2,所以使用更高版本的鞋童需要注意。


    1.1 ES的连接池

    使用一段时间后,发现部分时间日志缺失,查看日志,发现报错如下:

    2019-07-30 16:04:20,907 - org.apache.skywalking.oap.server.core.register.worker.RegisterPersistentWorker - 113 [DataCarrier.REGISTER_L2.BulkConsumePool.0.Thread] ERROR [] - Elasticsearch exception [type=es_rejected_execution_exception, reason=rejected execution of org.elasticsearch.transport.TransportService$7@511a62fe on EsThreadPoolExecutor[name = node-1/bulk, queue capacity = 200, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@528f9e85[Running, pool size = 32, active threads = 32, queued tasks = 200, completed tasks = 1208015]]]

    ES报错

    anger的日志也出现报错

    DEBUG 2019-07-30 18:13:34:730 QuartzScheduler_quartzScheduler-eurekadiscovery11563940545797_ClusterManager TraceSegmentServiceClient : One trace segment has been abandoned, cause by buffer is full.

    DEBUG 2019-07-30 18:13:34:730 QuartzScheduler_quartzScheduler-eurekadiscovery11563940545797_ClusterManager TraceSegmentServiceClient :  One trace segment has been abandoned, cause by buffer is full.

    DEBUG 2020-07-30 18:13:35:577 SkywalkingAgent-4-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient :  ServiceAndEndpointRegisterClient running, status:CONNECTED.

    这里可以明确看到是ES的问题,具体见ES官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.htm,怀疑由于并发高,导致ES线程满,具体解决办法:

    一,ES集群或者用更高级的存储(没钱的飘过~~~~)

    二,优化ES的参数(只能临时缓解,指标不治本,如果持续是日志量大,还是建议升级ES集群)

    skywalking关于ES的参数配置

    优化后

    skywalking优化配置

    这里把批量写入日志的调整大一些,降低写入频率

    三,撸skywalking的源码

    关于ES存储的连接设置

    这里是关于ES存储的部分参数(这里不够优雅,后面找时间改为读取配置文件,否则要调整参数,都需要重新编译,麻烦死啦)

    相关文章

      网友评论

        本文标题:Skywalking填坑记(持续新增)

        本文链接:https://www.haomeiwen.com/subject/hjtorctx.html