网关日志接入Elasticsearch调研和使用
from datetime import datetime
from elasticsearch import Elasticsearch
# 假设日志数据格式如下
log_data = {
'timestamp': '2023-04-01T12:00:00Z',
'message': 'GET /search?q=elkstack HTTP/1.1 200 8232',
'host': 'gateway-node1',
'client_ip': '192.168.1.1',
'backend_ip': '192.168.1.10',
'response_time': 0.082,
'upstream_response_time': 0.051,
'request_id': 'abc123'
}
# 将日志时间戳转换为datetime对象
log_data['timestamp'] = datetime.fromisoformat(log_data['timestamp'][:-1])
# 连接到Elasticsearch
es = Elasticsearch(hosts=['localhost:9200'])
# 索引日志数据
res = es.index(index="gateway-logs", document=log_data)
# 打印结果
print(res['result'])
这段代码展示了如何将一条日志数据格式化并索引到Elasticsearch中。首先,它将日志的时间戳字符串转换为datetime
对象,然后连接到Elasticsearch,并使用index
方法将日志数据索引到名为gateway-logs
的索引中。最后,它打印出索引操作的结果。这个过程是将网关日志接入Elasticsearch的一个简化示例。
评论已关闭