记一次skywalking数据无法写入问题的解决

公司新的微服务项目使用skywalking作为链路追踪和应用监控,监控数据使用es存储。在上线之后发现一个很诡异的现象,白天的时候数据都写入正常,晚上12点之后,数据就一直无法写入es。查看skywalking-oap-server.log发现如下的问题:

记一次skywalking数据无法写入问题的解决_第1张图片

刚开始以为是es集群配置太低导致数据写入失败,可是加了配置之后上述问题依然存在,只能再次排查。首先检查es状态,发现es状态正常,如下:

记一次skywalking数据无法写入问题的解决_第2张图片

后面又参照百度的内容,优化es写入性能,如下,发现问题依然没有解决:

PUT /_template/skywalking_index_tmp
{
      "index_patterns": "skywalking_index*", "order": 1, "settings": {
      "index": {
      "refresh_interval": "30s", "translog": {
      "flush_threshold_size": "1GB", "sync_interval": "60s", "durability": "async" } } } }

又去查看skywalking服务器,使用arthas命令检查,thread -b,有如下的结果:

记一次skywalking数据无法写入问题的解决_第3张图片

看来是什么问题导致死锁,所以数据一直无法写入,后来在检查阿里云es默认配置的时候发现默认不允许自动创建索引,如下图:

在这里插入图片描述

抱着试一试的态度,修改为允许自动创建索引,重启es服务之后,发现问题居然神奇的解决了。

你可能感兴趣的:(skywalking,java,skywalking,链路追踪,apm)