debian

如何分析Debian Nginx访问日志

小樊
83
2025-02-17 16:07:43
栏目: 智能运维

分析Debian系统上的Nginx访问日志可以通过多种工具和方法来完成。以下是一些常用的方法和步骤:

使用goaccess工具分析日志

使用自定义脚本分析日志

可以编写自定义脚本来分析Nginx访问日志。例如,以下脚本可以统计接口请求成功率,并将结果保存到文件中:

#!/bin/bash
LOG_FILE="/xxxx/nginx/logs/xxxx.access.log"
NOW=$(date +%s)
THIRTY_MINUTES_AGO=$((NOW - 1800))
THIRTY_MINUTES_AGO_DATE=$(date -d @$THIRTY_MINUTES_AGO +"%Y-%m-%dT%H:%M:%S")
awk -v date="$THIRTY_MINUTES_AGO_DATE" 'BEGIN {FS = "[{,}]"}{split($0, arr, "\"timestamp\":\"")if (length(arr) > 1) {split(arr[2], time_parts, "\",")log_time = time_parts[1]if (log_time >= date) {split($0, arr, "\"url\":\"")if (length(arr) > 1) {split(arr[2], url_parts, "\",")url = url_parts[1]split($0, arr, "\"request_method\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length(arr) > 1) {split($0, arr, "\"status\":\"")if (length

0
看了该问题的人还看了