博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx2goaccess.sh脚本内容
阅读量:7161 次
发布时间:2019-06-29

本文共 3505 字,大约阅读时间需要 11 分钟。

脚本github地址:

脚本内容:

#!/bin/bash## Convert from this:#   http://nginx.org/en/docs/http/ngx_http_log_module.html# To this:#   https://goaccess.io/man## Conversion table:#   $time_local         %d:%t %^#   $host               %v#   $http_host          %v#   $remote_addr        %h#   $request_time       %T#   $request_method     %m#   $request_uri        %U#   $server_protocol    %H#   $request            %r#   $status             %s#   $body_bytes_sent    %b#   $bytes_sent         %b#   $http_referer       %R#   $http_user_agent    %u## Samples:## log_format combined '$remote_addr - $remote_user [$time_local] '# '"$request" $status $body_bytes_sent '# '"$http_referer" "$http_user_agent"';#   ./nginx2goaccess.sh '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"'## log_format compression '$remote_addr - $remote_user [$time_local] '# '"$request" $status $bytes_sent '# '"$http_referer" "$http_user_agent" "$gzip_ratio"';#   ./nginx2goaccess.sh '$remote_addr - $remote_user [$time_local] "$request" $status $bytes_sent "$http_referer" "$http_user_agent" "$gzip_ratio"'## log_format main# '$remote_addr\t$time_local\t$host\t$request\t$http_referer\t$http_x_mobile_group\t'# 'Local:\t$status\t$body_bytes_sent\t$request_time\t'# 'Proxy:\t$upstream_cache_status\t$upstream_status\t$upstream_response_length\t$upstream_response_time\t'# 'Agent:\t$http_user_agent\t'# 'Fwd:\t$http_x_forwarded_for';#   ./nginx2goaccess.sh '$remote_addr\t$time_local\t$host\t$request\t$http_referer\t$http_x_mobile_group\tLocal:\t$status\t$body_bytes_sent\t$request_time\tProxy:\t$upstream_cache_status\t$upstream_status\t$upstream_response_length\t$upstream_response_time\tAgent:\t$http_user_agent\tFwd:\t$http_x_forwarded_for'## log_format main# '${time_local}\t${remote_addr}\t${host}\t${request_method}\t${request_uri}\t${server_protocol}\t'# '${http_referer}\t${http_x_mobile_group}\t'# 'Local:\t${status}\t*${connection}\t${body_bytes_sent}\t${request_time}\t'# 'Proxy:\t${upstream_status}\t${upstream_cache_status}\t'# '${upstream_response_length}\t${upstream_response_time}\t${uri}${log_args}\t'# 'Agent:\t${http_user_agent}\t'# 'Fwd:\t${http_x_forwarded_for}';#   ./nginx2goaccess.sh '${time_local}\t${remote_addr}\t${host}\t${request_method}\t${request_uri}\t${server_protocol}\t${http_referer}\t${http_x_mobile_group}\tLocal:\t${status}\t*${connection}\t${body_bytes_sent}\t${request_time}\tProxy:\t${upstream_status}\t${upstream_cache_status}\t${upstream_response_length}\t${upstream_response_time}\t${uri}${log_args}\tAgent:\t${http_user_agent}\tFwd:\t${http_x_forwarded_for}'## Author: Rogério Carvalho Schneider 
# Paramslog_format="$1"# Usageif [[ -z "$log_format" ]]; then echo "Usage: $0 '
'" exit 1fi# Variables mapconversion_table="time_local,%d:%t_%^host,%vhttp_host,%vremote_addr,%hrequest_time,%Trequest_method,%mrequest_uri,%Userver_protocol,%Hrequest,%rstatus,%sbody_bytes_sent,%bbytes_sent,%bhttp_referer,%Rhttp_user_agent,%u"# Conversionfor item in $conversion_table; do nginx_var=${item%%,*} goaccess_var=${item##*,} goaccess_var=${goaccess_var//_/ } log_format=${log_format//\$\{$nginx_var\}/$goaccess_var} log_format=${log_format//\$$nginx_var/$goaccess_var}donelog_format=$(echo "$log_format" | sed 's/${[a-z_]*}/%^/g')log_format=$(echo "$log_format" | sed 's/$[a-z_]*/%^/g')# Config outputecho "- Generated goaccess config:time-format %Tdate-format %d/%b/%Ylog_format $log_format"# EOF

 

转载地址:http://vetwm.baihongyu.com/

你可能感兴趣的文章