cloudos5.0同时使用了日志服务功能,在应用诊断-链路追踪页签下的实例状态显示为异常,查看后台pod状态,发现techops-skywalking-oap这个pod无法运行
查看techops-skywalking-oap容器日志,kubectl logs -n skywalkinge0670740 techops-skywalking-oap-xxxxxxxxx
发现日志报错“Elasticsearch exception [type=index_closed_exception, reason=closed]”,具体如下截图所示:
es索引被关闭。这个问题的原因是:
当skywalking使用了日志服务的es集群,且运行时间超过三个月,es集群会关闭创建时间超过三个月的索引,导致skywalking容器异常。
打开被关闭的索引并重启oap pod,最后取消索引自动关闭,具体方法如下:
1)
2)打开索引,在索引预览页的最右侧会显示目前处于关闭状态的索引(索引呈灰色)打开索引然后重启oap pod
kubectl delete pod -n skywalkinge0670740 techops-skywalking-oap-xxxxxxxxx
3) 关闭es的自动关闭索引配置,此操作不影响业务不需要重启可以随时操作。
1. ssh登录到日志服务实例所在的容器集群,根据namespace获取当前日志服务实例下的pod信息。例子中为mqs版本的日志服务,老版本的日志服务实例是以dbaas-elk开头的namespace,需注意版本。
日志服务namespace可以通过平台数据库cloud-log中查看,mqs版本数据库为mqs-elk-cloudlog
2. 执行命令kubectl exec -tin mqs-elk-service-testess-lcwd7q8h cloud-pg-8zj2n bash进入pg的容器内。
3. 在容器中执行psql -d logdata -h localhost -p 5432 -U dbuser 进入logdata库
执行:
UPDATE public.index_life_cycle SET close_cycle = "-1" WHERE template_name = "public_default" AND template_wildcard = "public_default" ; 更新命令,执行完成可以看到:
4. 可执行如下命令查看更新结果:SELECT * FROM public.index_life_cycle
WHERE template_name = "public_default"";
当close_cycle的值为-1是表示修改成功。
该案例对您是否有帮助:
您的评价:1
若您有关于案例的建议,请反馈:
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作