Python脚本:删除AWS OpenSearch中特定索引的日志
以下是一个使用opensearchpy模块删除AWS OpenSearch服务中特定索引中指定日志的Python脚本示例:\n\npython\nfrom opensearchpy import OpenSearch\n\n# 替换以下信息为您的AWS OpenSearch集群信息\nhost = 'your-opensearch-endpoint'\nport = 443\nuse_ssl = True\nhttp_auth = ('your-username', 'your-password')\n\n# 创建Opensearch客户端\nclient = OpenSearch(hosts=[{'host': host, 'port': port, 'use_ssl': use_ssl}], http_auth=http_auth)\n\n# 替换以下信息为您要删除的索引和日志内容\nindex_name = 'qat-2023.07.26'\nlog_message = '[DEBUG]'\n\n# 查询匹配的日志文档\nresponse = client.search(index=index_name, body={\"query\": {\"match\": {\"@message\": log_message}}})\n\n# 获取匹配的文档ID\ndoc_ids = [hit['_id'] for hit in response['hits']['hits']]\n\n# 删除匹配的日志文档\nif doc_ids:\n delete_response = client.delete_by_query(index=index_name, body={\"query\": {\"ids\": {\"values\": doc_ids}}})\n print(f\"Deleted {delete_response['deleted']} documents from index {index_name}.\")\nelse:\n print(\"No matching documents found.\")\n\n\n请注意,在运行脚本之前,您需要安装opensearchpy模块。您可以使用以下命令进行安装:\n\n\npip install opensearchpy\n\n\n然后,您可以将以上代码保存为delete_logs.py文件,并在CloudShell中执行以下命令来运行脚本:\n\n\npython delete_logs.py\n\n\n确保替换脚本中的占位符信息(如Opensearch集群终端节点、用户名、密码、要删除的索引和日志内容)为您自己的实际值。
原文地址: https://www.cveoy.top/t/topic/p29V 著作权归作者所有。请勿转载和采集!