log_sense 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 126257c949e11f090cc1928a1458572529f71c44a5c20baae35861241dfa7b7b
4
- data.tar.gz: 33a1ee650598a90ca9adb6a6c2795746dfe8a7735414b22b930d3806b205b318
3
+ metadata.gz: 40a7ce48ddf73fc434bd0df0265e5d16d39e5034b62714f0324ea2a8b56950ca
4
+ data.tar.gz: c6e4ce814d0276f3a2c2aeaa20051772695c8bf8c8f53cbe10440415bb301dec
5
5
  SHA512:
6
- metadata.gz: f135c70480994434dea0b5ff11bac5b1239d071ae38afeda7dd3672a43e127bba06136d550f29844c60dd2d2640a87c57f7fda683240512d1fe37794d124a433
7
- data.tar.gz: 65abbe86864aba7d9e6499e6f3ec4a0ef2facf00505ea8611eec3b44279772641bf3a4374045acac0892c8bde19ce37c74a88501fa7905342b1e30032f2b50b4
6
+ metadata.gz: 3b31c02a784d0e3059500f774b090fd40e099d1facd2382195096194ccdecebb5ce601b26b6c04874cc7446e6e625e91be15966d425fc050f3b0be50c67a6985
7
+ data.tar.gz: 9b79e356ebcaa21b207c24c9ba4c78e39c6865deb4925413aca51b0ce1b705918ca30b61aa205be447547ac428e038239807f82046a9842f7a9d7753037c5fa5
data/CHANGELOG.org CHANGED
@@ -2,6 +2,11 @@
2
2
  #+AUTHOR: Adolfo Villafiorita
3
3
  #+STARTUP: showall
4
4
 
5
+ * 1.8.0
6
+
7
+ - Various improvements to the Rails reports
8
+ - Support for BrowserInfo data
9
+
5
10
  * 1.7.0
6
11
 
7
12
  - [User] Fixes a bug with the geolocator
data/README.org CHANGED
@@ -1,11 +1,15 @@
1
- #+TITLE: README
1
+ #+TITLE: LogSense Readme - Monitor your Rails app easy and fast
2
2
  #+AUTHOR: Adolfo Villafiorita
3
3
  #+STARTUP: showall
4
4
 
5
5
  * Introduction
6
6
 
7
- LogSense generates reports and statistics from Apache and Ruby on
8
- Rails logs. Written in Ruby, it runs from the command line, it is
7
+ LogSense generates reports and statistics from Apache and Ruby on Rails log
8
+ files. All the statistics you need to monitor your application, its
9
+ performances, and how users access your app. Since it collects data from logs,
10
+ there is no need for cookies or other tracking technologies.
11
+
12
+ LogSense is Written in Ruby, it runs from the command line, it is
9
13
  fast, and it can be installed on any system with a relatively recent
10
14
  version of Ruby. We tested on Ruby 2.6.9, Ruby 3.0.x and later.
11
15
 
@@ -22,6 +26,11 @@ When generating reports, LogSense reports the following data:
22
26
  - IP Country location, thanks to the DP-IP lite country DB
23
27
  - Streaks: resources accessed by a given IP over time
24
28
  - Performance of Rails requests
29
+ - Rails Fatal Errors (with reference to the logs)
30
+
31
+ LogSense parses also the data generated by BrowserInfo, providing additional
32
+ information for Rails apps, including devices and platforms and number of
33
+ accesses to methods by device type.
25
34
 
26
35
  A special output format =ufw= generates rules for the [[https://launchpad.net/ufw][Uncomplicated
27
36
  Firewall]] to blacklist IPs requesting URLs matching a specific pattern.
@@ -31,16 +40,16 @@ distinguish traffic generated by self polls and crawlers.
31
40
 
32
41
  LogSense generates HTML, txt, ufw, and SQLite outputs.
33
42
 
34
- ** Apache Report Structure
43
+ ** Rails Report Structure
35
44
 
36
45
  #+ATTR_HTML: :width 80%
37
- [[file:./screenshots/apache-screenshot.png]]
46
+ [[file:./screenshots/rails-screenshot.png]]
38
47
 
39
48
 
40
- ** Rails Report Structure
49
+ ** Apache Report Structure
41
50
 
42
51
  #+ATTR_HTML: :width 80%
43
- [[file:./screenshots/rails-screenshot.png]]
52
+ [[file:./screenshots/apache-screenshot.png]]
44
53
 
45
54
 
46
55
  ** UFW Report
@@ -78,19 +87,16 @@ opened or code executed.
78
87
 
79
88
  * Motivation
80
89
 
81
- LogSense moves along the lines of tools such as [[https://goaccess.io/][GoAccess]] (which
82
- strongly inspired the development of Log Sense) and [[https://umami.is/][Umami]], both
83
- focusing on *privacy* and *data-ownership*: the data generated by
84
- LogSense is stored on your computer and owned by you (like it should
85
- be)[fn:1].
86
-
87
- LogSense is also inspired by *static websites generators*: statistics
88
- are generated from the command line and accessed as static HTML files.
89
- LogSense thus significantly reduces the attack surface of your
90
- web server and installation headaches. We have, for instance, a cron
91
- job running on our servers, generating statistics at night. The
92
- generated files are then made available on a private area on the web.
90
+ LogSense moves along the lines of tools such as [[https://goaccess.io/][GoAccess]] and [[https://umami.is/][Umami]], focusing on
91
+ *privacy*, *data-ownership*, and *simplicity*: no need to install JavaScript
92
+ snippets, no tracking cookies, just plain and simple log analysis.
93
93
 
94
+ LogSense is also inspired by *static websites generators*: statistics are
95
+ generated from the command line and accessed as static HTML files. This
96
+ significantly reduces the attack surface of your web server and installation
97
+ headaches. We have, for instance, a cron job running on our servers, generating
98
+ statistics at night. The generated files are then made available on a private
99
+ area on the web.
94
100
 
95
101
  * Installation
96
102
 
@@ -98,7 +104,6 @@ generated files are then made available on a private area on the web.
98
104
  gem install log_sense
99
105
  #+end_src
100
106
 
101
-
102
107
  * Usage
103
108
 
104
109
  #+begin_src bash :results raw output :wrap example
@@ -108,25 +113,25 @@ generated files are then made available on a private area on the web.
108
113
  #+RESULTS:
109
114
  #+begin_example
110
115
  Usage: log_sense [options] [logfile ...]
111
- --title=TITLE Title to use in the report
112
- -f, --input-format=FORMAT Input format (either rails or apache)
113
- -i, --input-files=file,file, Input files (can also be passed directly)
114
- -t, --output-format=FORMAT Output format: html, org, txt, sqlite.
115
- -o, --output-file=OUTPUT_FILE Output file
116
- -b, --begin=DATE Consider entries after or on DATE
117
- -e, --end=DATE Consider entries before or on DATE
118
- -l, --limit=N Limit to the N most requested resources (defaults to 100)
119
- -w, --width=WIDTH Maximum width of long columns in textual reports
120
- -r, --rows=ROWS Maximum number of rows for columns with multiple entries in textual reports
121
- -p, --pattern=PATTERN Pattern to use with ufw report to decide IP to blacklist
122
- -c, --crawlers=POLICY Decide what to do with crawlers (applies to Apache Logs)
123
- --no-selfpolls Ignore self poll entries (requests from ::1; applies to Apache Logs)
124
- -n, --no-geog Do not geolocate entries
125
- --verbose Inform about progress (output to STDERR)
126
- -v, --version Prints version information
127
- -h, --help Prints this help
128
-
129
- This is version 1.6.0
116
+ --title=TITLE Title to use in the report
117
+ -f, --input-format=FORMAT Log format (stored in log or sqlite3): rails or apache (DEFAULT: apache)
118
+ -i, --input-files=file,file, Input file(s), log file or sqlite3 (can also be passed as arguments)
119
+ -t, --output-format=FORMAT Output format: html, txt, sqlite, ufw (DEFAULT: html)
120
+ -o, --output-file=OUTPUT_FILE Output file. (DEFAULT: STDOUT)
121
+ -b, --begin=DATE Consider only entries after or on DATE
122
+ -e, --end=DATE Consider only entries before or on DATE
123
+ -l, --limit=N Limit to the N most requested resources (DEFAULT: 100)
124
+ -w, --width=WIDTH Maximum width of long columns in textual reports
125
+ -r, --rows=ROWS Maximum number of rows for columns with multiple entries in textual reports
126
+ -p, --pattern=PATTERN Pattern to use with ufw report to select IP to blacklist (DEFAULT: php)
127
+ -c, --crawlers=POLICY Decide what to do with crawlers (applies to Apache Logs)
128
+ --no-selfpoll Ignore self poll entries (requests from ::1; applies to Apache Logs) (DEFAULT: false)
129
+ --no-geo Do not geolocate entries (DEFAULT: true)
130
+ --verbose Inform about progress (output to STDERR) (DEFAULT: false)
131
+ -v, --version Prints version information
132
+ -h, --help Prints this help
133
+
134
+ This is version 1.8.0
130
135
 
131
136
  Output formats:
132
137
 
@@ -210,8 +215,8 @@ Concerning the outputs:
210
215
 
211
216
  * Known Bugs
212
217
 
213
- No known bugs; an unknown number of unknown bugs. (See the open issues for
214
- the known bugs.)
218
+ We have been running LogSense for quite a few years with no particular issues.
219
+ There are no known bugs; there is an unknown number of unknown bugs.
215
220
 
216
221
  * License
217
222
 
@@ -220,8 +225,3 @@ Source code distributed under the terms of the [[http://opensource.org/licenses/
220
225
  Geolocation is made possible by the DB-IP.com IP to City database,
221
226
  released under a CC license.
222
227
 
223
- [fn:1] There is a small catch: CSS and JavaScript for layout and plots
224
- are downloaded from a CDN. Technically, thus, if you generate HTML
225
- reports and open them, a request is performed and the CDN might keep a
226
- track (see [[https://en.wikipedia.org/wiki/Content_delivery_network#Security_and_privacy][CDN Security and Privacy on Wikipedia]] for more details).
227
- Textual reports don't have this issue.