skywalking定时清除监控数据

原创
2022/10/14 13:59
阅读数 22

一、概述

    skywalking使用elasticsearch作为数据存储,随访问量和时间不断增长,数据越来越多,磁盘空间也随之越来越少。最终会导致磁盘使用率达到100%而服务不可用。本文借用es接口,简单处理了下历史数据问题,提供思路仅供参考。

二、步骤

2.1清除数据脚本

#!/bin/bash
echo "######################################################################################"
echo "#################        POWER BY SCC<chengcai.shang@buma.cn>         ################"
echo "######################################################################################"
echo "******  start clear es data......"
date=$1
[ -z "$date" ] && echo "missing args:date,set default value 7!" && date="7"
indexs=`curl -XGET 10.0.5.174:9200/_cat/indices | awk -F" " '{print $3}'`
arr=(${indexs})
echo "******  total index size="${#arr[@]}
for(( i=0;i<${#arr[@]};i++))
do
        echo -e "\n******  now clear index="${arr[i]}
        curl -X POST "10.0.5.174:9200/${arr[i]}/_delete_by_query" -H 'Content-Type: application/json' -d'
        {
                "query": {
                        "match_all": {
                        }
                }
        }'
done;
echo "complete!"


#如不想清除全部数据,使用以下参数
#                       "range": {
#                               "@timestamp": {
#                                       "lt": "now-'$date'd",
#                                       "format": "epoch_millis"
#                               }
#                       }

2.2定时执行器

    执行如下脚本

crontab -e

    增加(每周一1点执行)

0 1 * * 1 /opt/soft/clearesdata.sh

三、扩展es常用接口

/_cat/allocation
/_cat/shards
/_cat/shards/{index}
/_cat/master
/_cat/nodes
/_cat/indices
/_cat/indices/{index}
/_cat/segments
/_cat/segments/{index}
/_cat/count
/_cat/count/{index}
/_cat/recovery
/_cat/recovery/{index}
/_cat/health
/_cat/pending_tasks
/_cat/aliases
/_cat/aliases/{alias}
/_cat/thread_pool
/_cat/plugins
/_cat/fielddata
/_cat/fielddata/{fields}
以上的命令中,你也可以后面加一个v,让输出内容表格显示表头

 

有兴趣的大佬大神可以关注下小弟的微信公共号,一起学习交流,扫描以下二维码关注即可。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部