開發之前把介面日誌寫入es時,感覺設計並不合理。當然,我也不知道怎麼設計才是合理的。總之,就是無法像處理openresty日誌那樣,按天生成1個es索引,這樣就可以簡單匹配月份,直接刪除整個月的索引資料了。
但是,現在所有介面日誌寫入進1個索引裡。我想刪除幾百天,比如200天前的資料,研究了好久。
下面的指令碼,我找了2天,按照網上的文件,也修改了2天。正好最近第3次開始學習shell,發現結合shell知識,解決問題還是很有效果。
下面的指令碼,就可以刪除200天前的es資料。
[root@iz23ejm6lkdz?~]#?cat?/yqd/sh/clean_elasticsearch_yqdlog.sh
#!/bin/bash
?????curl??-x?post?"10.253.40.87:9200/yqdlog/_delete_by_query?pretty"?-h?'content-type:application/json'?-d?'
?????
????????????????????????}
????????????????}
????????}'
#?????echo?"已清除$index?索引內200天前資料~"
第三列的「10.253.40.87:9200」:es位址
第三列的「yqdlog」:索引名稱
第七列的「bank_inte***celog_createtime」:指定刪除的時間字段
第八列的「now-200d」:刪除資料的時間範圍,「-200d」,就是刪除200天前的資料
第十列:預設,也可以自定義
執行指令碼:
[root@iz23ejm6lkdz?~]#?sh?/yqd/sh/clean_elasticsearch_yqdlog.sh
,??"throttled_millis"?:?0,
??"requests_per_second"?:?-1.0,
??"throttled_until_millis"?:?0,
??"failures"?:?[?]
} 執行指令碼過程中,es的head外掛程式顯示「yqdlog」索引資料有明顯下降趨勢,但是,zabbix監控的磁碟空間反而有更大的占用。
網上的文件說,es的刪除,不會立即生效,後期會自動刪除。這個問題,有待研究。
次日再看zabbix,磁碟空間好像是有下降了。
定期刪除資料
刪除topic裡面的資料
這裡沒有單獨的清空資料的命令,這裡要達到清空資料的目的只需要以下步驟 一 如果當前topic沒有使用過即沒有傳輸過資訊 可以徹底刪除。二 如果當前topic有使用過即有過傳輸過資訊 並沒有真正刪除topic只是把這個topic標記為刪除 marked for deletion 想要徹底刪除topic...
ES刪除索引
es刪除索引api 例 刪除所有為logstash的索引 官方說明 shell curl xdelete es檢視索引 shell curl 刪除指令碼 home trade manage.sh shell bin bash 列印出所有索引,排除掉hf,fund indexs curl awk eg...
es 刪除索引
用以下的請求來 刪除索引 my index 你也可以這樣刪除多個索引 index one index two delete index 你甚至可以這樣刪除 全部 索引 all delete 對一些人來說,能夠用單個命令來刪除所有資料可能會導致可怕的後果。如果你想要避免意外的大量刪除,你可以在你的el...