以下 Nginx 配置文件定义了一个 JSON 格式的访问日志记录,并将日志记录在指定的路径下:

log_format json '{"@timestamp":"$time_iso8601",
"@version":1,
"host":"$server_addr",
"client":"$remote_addr",

"size":$body_bytes_sent,
"responsetime":$request_time,
"domain":"$host",
"url":"$uri",
"status":"$status"}';
access_log /app/rpa/nginx/logs/access.log  json;

该配置没有明显的问题,它使用 log_format 指令定义了一个名为 json 的日志格式,并使用 access_log 指令将访问日志记录到 /app/rpa/nginx/logs/access.log 文件中,日志格式为 json

配置解析:

  • log_format json '...':定义了一个名为 json 的日志格式,格式内容为 JSON 字符串。
  • @timestamp:表示时间戳,使用 $time_iso8601 变量获取 ISO 8601 格式的时间。
  • @version:日志版本,这里设置为 1。
  • host:服务器地址,使用 $server_addr 变量获取。
  • client:客户端地址,使用 $remote_addr 变量获取。
  • size:响应内容大小,使用 $body_bytes_sent 变量获取。
  • responsetime:响应时间,使用 $request_time 变量获取。
  • domain:域名,使用 $host 变量获取。
  • url:请求的 URL,使用 $uri 变量获取。
  • status:HTTP 状态码,使用 $status 变量获取。

优势:

使用 JSON 格式记录日志具有以下优势:

  • 结构化数据: JSON 格式的日志数据具有清晰的结构,方便解析和处理。
  • 易于解析: 大多数编程语言都提供对 JSON 格式数据的解析支持。
  • 可扩展性: 可以根据需要添加新的字段,扩展日志信息。

建议:

  • 为了更好地分析日志数据,建议将日志数据存储到 Elasticsearch 等数据库中。
  • 可以根据实际需求调整日志格式和内容。
  • 确保日志文件路径正确,并拥有足够的存储空间。
Nginx JSON 日志配置详解:示例与解析

原文地址: https://www.cveoy.top/t/topic/pT8Q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录