from elasticsearch import Elasticsearch import ssl import warnings from urllib3.exceptions import InsecureRequestWarning # Suppress only the single InsecureRequestWarning from urllib3 warnings.filterwarnings('ignore', category=InsecureRequestWarning) warnings.filterwarnings('once', category=DeprecationWarning) warnings.filterwarnings('once', category=UserWarning) context = ssl.create_default_context() context.check_hostname = False context.verify_mode = ssl.CERT_NONE es = Elasticsearch( hosts="https://10.10.14.206:9200", basic_auth=("elastic", "jv9h8uwRrRxmDi1dq6u8"), ssl_context=context, verify_certs=False, ssl_show_warn=False # This will suppress the Elasticsearch warning ) try: # 获取并格式化索引信息 indices = es.cat.indices(format="json", h="index,health,status,pri,rep,docs.count,store.size") print(f"\nES服务器共有 {len(indices)} 个index:\n") print("索引名称\t\t健康状态\t状态\t主分片\t副本\t文档数\t存储大小") print("-" * 80) for idx in indices: print(f"{idx['index']}\t{idx['health']}\t{idx['status']}\t{idx['pri']}\t{idx['rep']}\t{idx['docs.count']}\t{idx['store.size']}") except Exception as e: print(f"获取索引时出错: {str(e)}")