通过Nginx日志监控API调用可分为配置、分析、告警三步,具体方法如下:
配置Nginx日志
http
或server
块中通过log_format
指令定义包含API关键信息的格式,如请求路径、方法、状态码等,例如:log_format api_log '$remote_addr - $time_local - "$request" - $status - $request_time';
access_log /var/log/nginx/api_access.log api_log;
其中$request
包含HTTP方法和路径(如GET /api/v1/users
),$status
为响应状态码,$request_time
为处理时间。location
块为API路径单独配置日志文件,例如:location /api/ {
access_log /var/log/nginx/api_access.log main;
}
分析日志内容
grep "/api/v1/endpoint" /var/log/nginx/api_access.log | wc -l
。awk '$9 == 200 {print $0}' /var/log/nginx/api_access.log
(统计成功请求)。awk '{print $10}' /var/log/nginx/api_access.log | sort -nr | head
(查看耗时最长的请求)。nginx_exporter
采集Nginx指标(如API请求量、错误率),在Grafana中配置仪表盘实时监控。设置监控与告警
关键日志字段说明:
$request
:请求方法+路径+协议(如POST /api/login HTTP/1.1
)。$status
:HTTP状态码(200为成功,404为未找到,500为服务器错误)。$request_time
:请求处理时间(单位:秒),用于监控性能。通过以上方法可实现对API调用的全面监控,及时发现异常并优化服务。