Docker GoAccess 入门 实现 Nginx 日志分析 数据可视化 home 编辑时间 2021/05/06 ![](/api/file/getImage?fileId=6100c7e4da7405001300216f) <br><br> ## 前言 使用 `Docker` 安装 `GoAccess` 实现 `Nginx` 日志文件分析 **参考** 官网 https://goaccess.io 官网 (汉化) https://www.goaccess.cc 在线演示 (英文) https://rt.goaccess.io/?20170729002319 其他 https://blog.csdn.net/belonghuang157405/article/details/97144727 https://www.jianshu.com/p/fc3f45eeee9c/ <br><br> ## 折腾 **参考** ``` GoAccess - 1.5.1 Usage: goaccess [filename] [ options ... ] [-c][-M][-H][-S][-q][-d][...] The following options can also be supplied to the command: LOG & DATE FORMAT OPTIONS --date-format=<dateformat> - Specify log date format. e.g., %d/%b/%Y --log-format=<logformat> - Specify log format. Inner quotes need escaping, or use single quotes. --time-format=<timeformat> - Specify log time format. e.g., %H:%M:%S USER INTERFACE OPTIONS -c --config-dialog - Prompt log/date/time configuration window. -i --hl-header - Color highlight active panel. -m --with-mouse - Enable mouse support on main dashboard. --color=<fg:bg[attrs, PANEL]> - Specify custom colors. See manpage for more details. --color-scheme=<1|2|3> - Schemes: 1 => Grey, 2 => Green, 3 => Monokai. --html-custom-css=<path.css> - Specify a custom CSS file in the HTML report. --html-custom-js=<path.js> - Specify a custom JS file in the HTML report. --html-prefs=<json_obj> - Set default HTML report preferences. --html-report-title=<title> - Set HTML report page title and header. --html-refresh=<secs> - Refresh HTML report every X seconds (>=1 or <=60). --json-pretty-print - Format JSON output w/ tabs & newlines. --max-items - Maximum number of items to show per panel. See man page for limits. --no-color - Disable colored output. --no-column-names - Don't write column names in term output. --no-csv-summary - Disable summary metrics on the CSV output. --no-html-last-updated - Hide HTML last updated field. --no-parsing-spinner - Disable progress metrics and parsing spinner. --no-progress - Disable progress metrics. --no-tab-scroll - Disable scrolling through panels on TAB. SERVER OPTIONS --addr=<addr> - Specify IP address to bind server to. --unix-socket=<addr> - Specify UNIX-domain socket address to bind server to. --daemonize - Run as daemon (if --real-time-html enabled). --fifo-in=<path> - Path to read named pipe (FIFO). --fifo-out=<path> - Path to write named pipe (FIFO). --origin=<addr> - Ensure clients send this origin header upon the WebSocket handshake. --pid-file=<path> - Write PID to a file when --daemonize is used. --port=<port> - Specify the port to use. --real-time-html - Enable real-time HTML output. --ssl-cert=<cert.crt> - Path to TLS/SSL certificate. --ssl-key=<priv.key> - Path to TLS/SSL private key. --user-name=<username> - Run as the specified user. --ws-url=<url> - URL to which the WebSocket server responds. FILE OPTIONS - - The log file to parse is read from stdin. -f --log-file=<filename> - Path to input log file. -l --debug-file=<filename> - Send all debug messages to the specified file. -p --config-file=<filename> - Custom configuration file. -S --log-size=<number> - Specify the log size, useful when piping in logs. --invalid-requests=<filename> - Log invalid requests to the specified file. --no-global-config - Don't load global configuration file. --unknowns-log=<filename> - Log unknown browsers and OSs to the specified file. PARSE OPTIONS -a --agent-list - Enable a list of user-agents by host. -b --browsers-file=<path> - Use additional custom list of browsers. -d --with-output-resolver - Enable IP resolver on HTML|JSON output. -e --exclude-ip=<IP> - Exclude one or multiple IPv4/6. Allows IP ranges e.g. 192.168.0.1-192.168.0.10 -H --http-protocol=<yes|no> - Set/unset HTTP request protocol if found. -M --http-method=<yes|no> - Set/unset HTTP request method if found. -o --output=file.html|json|csv - Output either an HTML, JSON or a CSV file. -q --no-query-string - Strip request's query string. This can decrease memory consumption. -r --no-term-resolver - Disable IP resolver on terminal output. --444-as-404 - Treat non-standard status code 444 as 404. --4xx-to-unique-count - Add 4xx client errors to the unique visitors count. --all-static-files - Include static files with a query string. --anonymize-ip - Anonymize IP addresses before outputting to report. --crawlers-only - Parse and display only crawlers. --date-spec=<date|hr> - Date specificity. Possible values: `date` (default), or `hr`. --double-decode - Decode double-encoded values. --enable-panel=<PANEL> - Enable parsing/displaying the given panel. --hide-referrer=<NEEDLE> - Hide a referrer but still count it. Wild cards are allowed. i.e., *.bing.com --hour-spec=<hr|min> - Hour specificity. Possible values: `hr` (default), or `min` (tenth of a min). --ignore-crawlers - Ignore crawlers. --ignore-panel=<PANEL> - Ignore parsing/displaying the given panel. --ignore-referrer=<NEEDLE> - Ignore a referrer from being counted. Wild cards are allowed. i.e., *.bing.com --ignore-statics=<req|panel> - Ignore static requests. req => Ignore from valid requests. panel => Ignore from valid requests and panels. --ignore-status=<CODE> - Ignore parsing the given status code. --keep-last=<NDAYS> - Keep the last NDAYS in storage. --no-ip-validation - Disable client IPv4/6 validation. --no-strict-status - Disable HTTP status code validation. --num-tests=<number> - Number of lines to test. >= 0 (10 default) --persist - Persist data to disk on exit to the given --db-path or to /tmp. --process-and-exit - Parse log and exit without outputting data. --real-os - Display real OS names. e.g, Windows XP, Snow Leopard. --restore - Restore data from disk from the given --db-path or from /tmp. --sort-panel=PANEL,METRIC,ORDER - Sort panel on initial load. e.g., --sort-panel=VISITORS,BY_HITS,ASC. See manpage for a list of panels/fields. --static-file=<extension> - Add static file extension. e.g.: .mp3. Extensions are case sensitive. GEOIP OPTIONS --geoip-database=<path> - Specify path to GeoIP database file. i.e., GeoLiteCity.dat, GeoIPv6.dat ... OTHER OPTIONS -h --help - This help. -s --storage - Display current storage method. e.g., Hash. -V --version - Display version information and exit. --dcf - Display the path of the default config file when `-p` is not used. Examples can be found by running `man goaccess`. For more details visit: https://goaccess.io/ GoAccess Copyright (C) 2009-2020 by Gerardo Orellana ``` **具体命令** ```shell # pull docker pull allinurl/goaccess:1.5.1 docker run -dit -p 7890:7890 -v /home/software/goaccess/data:/srv/data -v /home/software/nginx_html/test_html:/srv/report -v /home/software/nginx_log/test_log:/srv/logs --name=goaccess allinurl/goaccess goaccess --no-global-config --config-file=/srv/data/goaccess.conf --output=/srv/report/index.html --log-file=/srv/logs/access.log --real-time-html # run docker run -p 7890:7890 -itd\ -v /home/zzzmh/Documents/goaccess/data:/srv/data\ -v /home/zzzmh/Documents/goaccess/html:/srv/report\ -v /home/zzzmh/Documents/goaccess/logs:/srv/logs\ --name=goaccess\ allinurl/goaccess:1.5.1 ``` 送人玫瑰,手留余香 赞赏 Wechat Pay Alipay Docker Tomcat 性能调优详解 tomcat 9 adoptopenjdk openj9 超详细!Chrome 浏览器、浏览器插件 下载和安装教程