我需要采集nginx日志中的http_response_time字段,取平均值,请帮我写一个脚本
时间: 2023-03-06 16:39:36 浏览: 98
Filebeat 采集 Nginx 日志的方法
以下是一个Python脚本,可以帮助你从Nginx日志文件中提取http_response_time字段,并计算其平均值:
```python
import re
log_file = "/path/to/nginx/access.log"
total_time = 0
count = 0
with open(log_file, 'r') as f:
for line in f:
match = re.search(r'\bhttp_response_time=(\d+\.\d+)\b', line)
if match:
http_response_time = float(match.group(1))
total_time += http_response_time
count += 1
if count > 0:
average_time = total_time / count
print(f"平均 http_response_time: {average_time:.2f} 秒")
else:
print("没有匹配到 http_response_time 字段")
```
将 `log_file` 替换为你的实际日志文件路径,运行脚本即可输出平均 `http_response_time`。脚本会搜索每行日志中的 `http_response_time` 字段,并将所有值加起来,最后计算平均值。如果没有匹配到 `http_response_time` 字段,脚本会输出相应的提示信息。
阅读全文