Quickstart¶
Use the analog CLI to start the analysis:
$ analog nginx /var/log/nginx/mysite.access.log
This invokes the analyzer with a predefined Nginx log format and will by default parse the complete logfile for all different request paths and analyze all different request methods (e.g. GET, PUT) and response status codes (e.g. 200, 401, 404, 409, 500). The report would be printed to standard out as a simple list. Use normal piping to save the report output in a file.
For details on the analog command see analog.main.main()
Options¶
analog has these options:
- format
- Log format identifier. Currently only nginx is predefined. Choose custom to define a custom log entry pattern via --pattern-regex and --time-format.
- -v / --version
- Print analog version and exit.
- -h / --help
- Print manual and exit.
Each format subcommand has the following options:
- -o / --output
- Output format. Defaults to plaintext list output. Choose from table, grid, csv and tsv for tabuular formats. For details see the available report renderers
- -p / --path
- Path(s) to monitor. If not provided, all distinct paths will be analyzed. Groups paths by matching the beginng of the log entry values.
- -v / --verb
- HTTP verbs(s) to monitor. If not provided, by default DELETE, GET, PATCH, POST and PUT will be analyzed.
- -s / --status
- Response status codes(s) to monitor. If not provided, by default 1, 2, 3, 4 and 5 are analyzed. Groups paths by matching the beginng of the log entry values.
- -a / --max-age
- Limit the maximum age of log entries to analyze in minutes. Useful for continuous analysis of the same logfile (e.g. the last ten minutes every ten minutes).
- -ps / --path-stats
- Include per-path statistics in the analysis report output. By default analog only generates overall statistics.
- -t / --timing
- Tracks and prints analysis time.
When choosing the custom log format, these options are available additionally:
- -pr / --pattern-regex
- Regular expression log format pattern. Define named groups for all attributes to match. Required attributes are: timestamp, verb, path, status, body_bytes_sent, request_time, upstream_response_time. See log formats for details.
- -tf / --time-format
- Log entry timestamp format definition (strftime compatible).
Options from File¶
To specify the options via a file, call analog like this:
$ analog @arguments.txt logfile.log
The arguments.txt (can have any name) contains one argument per line. Arguments and their values can also be comma- or whitespace-separated on one line. For example:
nginx
-o table
--verb GET, POST, PUT
--verb PATCH
--status 404, 500
--path /foo/bar
--path /baz
--path-stats
-t
See analog.utils.AnalogArgumentParser for details.