Updated analytics section

This commit is contained in:
AverageMarcus committed 2021-02-09 11:09:16 +00:00
1 parent ee497b0ecc
commit dd75df19c3
1 file changed
+54 -5
@@ -27,9 +27,11 @@ marp: true
---
1. Personal network setup
2. Smart home
3. Replacing Google Analytics
<!-- _class: lead -->
### 1. Personal network setup
### 2. Smart home
### 3. Replacing Google Analytics
---
@@ -259,6 +261,7 @@ Secure external access is provides via a tunnel between my local cluster and my
Questions so far?
---
<!-- _class: lead -->
## Replacing Google Analytics
@@ -269,10 +272,56 @@ Questions so far?
- Never used 99% of the functionality that Google Analytics provides
- Slowly de-google-ing myself so I should do the same for my website visitors
- Client-side analytics are flakey at best
- All I really wanted to know was:
- What pages are popular when?
- How are bots trying to do naughty things?
- Anything throwing error codes?
---
<!-- _class: lead -->
### The solution!
Traefik + Loki + Grafana
<style scoped>p {text-align: center;}</style>
Traefik + Loki + Grafana
* Traefik - Handles all incoming HTTP requests and logs out to an access log in JSON format.
* Loki - Collects all logs from the application in my cluster and stores them ready for querying.
* Grafana - Queries the Loki data and displays it as a dashboard
---
### Example Access Log
```json
{
"BackendAddr": "100.64.128.16:8000", "BackendName": "http-https_marcusnoble.co.uk/",
"BackendURL": { "Scheme": "http", "Opaque": "", "User": null, "Host": "100.64.128.16:8000", "Path": "", "RawPath": "", "ForceQuery": false, "RawQuery": "", "Fragment": "" },
"ClientAddr": "100.64.0.1:10948", "ClientHost": "100.64.0.1", "ClientPort": "10948", "ClientUsername": "-",
"DownstreamContentSize": 1245, "DownstreamStatus": 200,"DownstreamStatusLine": "200 OK",
"Duration": 25958433,
"FrontendName": "http-https_marcusnoble.co.uk/",
"OriginContentSize": 1245, "OriginDuration": 25716428, "OriginStatus": 200, "OriginStatusLine": "200 OK",
"Overhead": 242005,
"RequestAddr": "marcusnoble.co.uk", "RequestContentSize": 0, "RequestCount": 50101, "RequestHost": "marcusnoble.co.uk",
"RequestLine": "GET /css/main.css?202102052202 HTTP/1.1",
"RequestMethod": "GET", "RequestPath": "/css/main.css?202102052202", "RequestPort": "-", "RequestProtocol": "HTTP/1.1",
"RetryAttempts": 0,
"StartLocal": "2021-02-09T10:04:23.441099709Z", "StartUTC": "2021-02-09T10:04:23.441099709Z",
"downstream_Accept-Ranges": "bytes", "downstream_Cache-Control": "public, max-age=0", "downstream_Content-Encoding": "gzip", "downstream_Content-Type": "text/css; charset=UTF-8",
"downstream_Date": "Tue, 09 Feb 2021 10:04:23 GMT", "downstream_Etag": "W/\"13dc-1777437f9e8\"", "downstream_Last-Modified": "Fri, 05 Feb 2021 22:02:41 GMT",
"downstream_Vary": "Accept-Encoding", "downstream_X-Powered-By": "Express",
"level": "info",
"msg": "",
"origin_Accept-Ranges": "bytes", "origin_Cache-Control": "public, max-age=0", "origin_Content-Encoding": "gzip", "origin_Content-Type": "text/css; charset=UTF-8",
"origin_Date": "Tue, 09 Feb 2021 10:04:23 GMT", "origin_Etag": "W/\"13dc-1777437f9e8\"", "origin_Last-Modified": "Fri, 05 Feb 2021 22:02:41 GMT", "origin_Vary": "Accept-Encoding", "origin_X-Powered-By": "Express",
"request_Accept": "text/css,*/*;q=0.1", "request_Accept-Encoding": "gzip,deflate,br", "request_Accept-Language": "en-US", "request_Connection": "keep-alive", "request_From": "googlebot(at)googlebot.com",
"request_Referer": "https://marcusnoble.co.uk/",
"request_User-Agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36",
"time": "2021-02-09T10:04:23Z"
}
```
---
![bg contain](data:image/png;base64,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 truncated