python获取ELK数据进行统计分析
首先,我们现在kiban上面绘制自己需要统计出来的数据
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟主机、营销软件、网站建设、平度网站维护、网站推广。
然后点击右上角inspect,将request的json格式复制
粘贴到Dev Tools上面,这样会将我们需要的数据,已json的形式返回
将请求的json格式保存下来,开始写py文件
from elasticsearch import Elasticsearch import datetime #初始化链接 es = Elasticsearch([{'host':'10.3.2.1','port':9200}]) #获取当前时间和7天前的UTC格式时间戳 last_7day=datetime.datetime.utcnow()-datetime.timedelta(days=6, hours=16) now_time=datetime.datetime.utcnow()+datetime.timedelta(hours=8) last_7day=last_7day.strftime('%Y-%m-%dT%H:%M:%S.%f%z') now_time=now_time.strftime('%Y-%m-%dT%H:%M:%S.%f%z') #定义DSL请求体 query_json={ "aggs": { "2": { "terms": { "field": "message.keyword", "size": 30, "order": { "_count": "desc" } } } }, "size": 0, "_source": { "excludes": [] }, "stored_fields": [ "*" ], "script_fields": {}, "docvalue_fields": [ { "field": "@timestamp", "format": "date_time" }, { "field": "timestamp", "format": "date_time" } ], "query": { "bool": { "must": [ { "query_string": { "query": "level:error", "analyze_wildcard": "true", "default_field": "*" } }, { "range": { "@timestamp": { "gte": last_7day, "lte": now_time, } } } ], "filter": [], "should": [], "must_not": [] } } } res=es.search(index='index-*', body=query_json) res=res['aggregations']['2']['buckets'] for i in res: print(i)
分享题目:python获取ELK数据进行统计分析
链接地址:http://abwzjs.com/article/iijipi.html