首页 > 编程语言 >python脚本定期删除EFK日志索引

python脚本定期删除EFK日志索引

时间:2024-12-26 15:20:42浏览次数:3  
标签:index python creation days datetime EFK date 日志 es

使用pyhon脚本删除50天前的日志

!/usr/bin/python3

from elasticsearch import Elasticsearch
from datetime import datetime, timedelta

Elasticsearch服务器地址,默认本地为'localhost',可按需替换

es_host = "localhost"

Elasticsearch服务器端口,默认9200,按需替换

es_port = 9200

创建Elasticsearch客户端连接对象

es = Elasticsearch([{"host": es_host, "port": es_port}])

计算50天前的日期

fifty_days_ago = datetime.now() - timedelta(days=50)

fifty_days_ago_str = fifty_days_ago.strftime('%Y.%m.%d')

遍历所有索引

try:
all_indices = es.indices.get_alias("*")
for index in all_indices:
# 判断索引名是否包含'2024'
if '2024' in index and 'externalorder' not in index:
index_info = es.indices.get(index)
creation_date_timestamp = int(index_info[index]['settings']['index']['creation_date'])
# 将时间戳(假设此处为毫秒)转换为秒(Python中时间相关函数常用秒为单位处理)
creation_date_seconds = creation_date_timestamp / 1000
# 通过fromtimestamp方法将秒数转换为datetime对象
creation_date = datetime.fromtimestamp(creation_date_seconds)

        # 以下是示例中与50天前时间比较的逻辑,假设前面已经正确计算好50天前的时间并存储在fifty_days_ago变量中
        fifty_days_ago = datetime.now() - timedelta(days=50)
        if creation_date < fifty_days_ago:
            response = es.indices.delete(index=index)
            request_timeout=30
            print(f"索引 {index} 删除结果: {response}")

except Exception as e:
print(f"删除索引时出现错误: {str(e)}")

标签:index,python,creation,days,datetime,EFK,date,日志,es
From: https://www.cnblogs.com/yekongxingguang/p/18632921

相关文章

  • Python函数
    函数介绍函数函数:是组织好的,可重复使用的,用来实现特定功能的代码段。因为,len()是Python内置的函数:        是提前写好的        可以重复使用        实现统计长度这一特定功能的代码段我们使用过的:input()、print()、str()、int()等都是P......
  • python整人代码5
    这次我带给大家的是python整人代码大全,具体如下:温馨提示:     朋友使用可能会破坏朋友之间的友谊,请谨慎使用无限打开网站importwebbrowserwhileTrue:webbrowser.open('www.luogu.com.cn')危险性:低解决方法:一直按Alt+F4回答我!whileTrue: input("请......
  • LDA主题模型——Python实现(三)
    LDA假设每个文档都是多个主题的混合,每个主题又是多个词语的混合。它通过识别文档中的词语分布来推断出文档的主题结构。LDA的一个简单比喻是冰淇淋店:每个文档就像一个装满多种口味冰淇淋的甜筒,而LDA的任务就是根据观察到的冰淇淋,推断出每种口味(即每个主题)在这些甜筒中的比例。LDA......
  • 基于python+Django的招聘信息可视化与薪资预测系统
    1.项目背景本系统旨在帮助用户更高效地管理和分析招聘信息,通过爬虫抓取招聘数据、可视化分析招聘市场情况,并提供薪资预测功能。项目采用Django框架开发,具有以下主要功能:从招聘网站抓取招聘数据。存储与管理招聘信息。提供基于数据的可视化分析。实现简单的薪资预测功能。......
  • python编写一个反向shell
    攻击端代码importsocket#创建一个TCPsocketserver=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#设置监听的IP和端口host='0.0.0.0'#监听所有网络接口port=444#监听端口#绑定并监听server.bind((host,port))server.listen(5)print(f"Listeningo......
  • python毕设 农产品运输服务平台论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于农产品运输服务平台的研究,现有研究主要集中在物流配送的一般性流程和传统运输模式等方面。专门针对农产品这一特殊商品的运输服务......
  • 使用Python开发PPT图片提取与九宫格合并工具
    在日常工作中,我们经常需要处理PPT中的图片,有时需要批量提取,有时需要将多张图片合并成特定布局。本文将介绍如何使用Python开发一个图形界面工具,实现PPT图片提取和九宫格合并功能。C:\pythoncode\new\pptextractandmerge.py全部代码importwximportosfrompptximport......
  • flask 异步任务celery中运行ipython或python repl出现阻塞
    问题场景:上传文件调用上传文件接口,异步任务解析文件,解析中需要执行python代码,此时会出现阻塞启动celery命令celery-Aapp.celeryworker-Pgevent-c1--loglevelINFO-Qnltable代码:importloggingimporttimeimportdatetimefromceleryimportshared_taskfr......
  • 49、Python入门 Python与AJAX:构建高效Web交互体验
             在现代Web开发中,Python作为后端语言以其简洁高效和丰富的库支持而广受欢迎,而AJAX(AsynchronousJavaScriptandXML)技术则为前端与后端的交互带来了革命性的变化。二者的结合能够构建出高效、流畅且具有卓越用户体验的Web应用。 一、AJAX技术概述AJAX不是......
  • 计算机毕业设计Python+Spark知识图谱酒店推荐系统 酒店价格预测系统 酒店可视化 酒店
    温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO......