Add multi-bucket support for tables and update reports
This commit is contained in:
parent
250cce8c11
commit
1d4e99c69b
4 changed files with 127 additions and 33 deletions
81
reports.yml
81
reports.yml
|
@ -75,47 +75,78 @@
|
|||
label: Top Paths
|
||||
icon: map
|
||||
chart: table
|
||||
bucket: path
|
||||
bucket_label: Path
|
||||
buckets:
|
||||
- domain
|
||||
- path
|
||||
bucket_label:
|
||||
- Domain
|
||||
- Path
|
||||
query: |
|
||||
SELECT path AS path,
|
||||
COUNT(*) AS value
|
||||
FROM (
|
||||
SELECT substr(substr(request, instr(request, ' ') + 1), 1,
|
||||
WITH paths AS (
|
||||
SELECT host AS domain,
|
||||
substr(substr(request, instr(request, ' ') + 1), 1,
|
||||
instr(substr(request, instr(request, ' ') + 1), ' ') - 1) AS path
|
||||
FROM logs
|
||||
), ranked AS (
|
||||
SELECT domain, path, COUNT(*) AS value,
|
||||
ROW_NUMBER() OVER (PARTITION BY domain ORDER BY COUNT(*) DESC) AS rn
|
||||
FROM paths
|
||||
GROUP BY domain, path
|
||||
)
|
||||
GROUP BY path
|
||||
ORDER BY value DESC
|
||||
LIMIT 20
|
||||
SELECT domain, path, value
|
||||
FROM ranked
|
||||
WHERE rn <= 20
|
||||
ORDER BY domain, value DESC
|
||||
|
||||
- name: user_agents
|
||||
label: User Agents
|
||||
icon: user
|
||||
chart: table
|
||||
bucket: user_agent
|
||||
bucket_label: User Agent
|
||||
buckets:
|
||||
- domain
|
||||
- user_agent
|
||||
bucket_label:
|
||||
- Domain
|
||||
- User Agent
|
||||
query: |
|
||||
SELECT user_agent AS user_agent,
|
||||
COUNT(*) AS value
|
||||
FROM logs
|
||||
GROUP BY user_agent
|
||||
ORDER BY value DESC
|
||||
LIMIT 20
|
||||
WITH ua AS (
|
||||
SELECT host AS domain, user_agent
|
||||
FROM logs
|
||||
), ranked AS (
|
||||
SELECT domain, user_agent, COUNT(*) AS value,
|
||||
ROW_NUMBER() OVER (PARTITION BY domain ORDER BY COUNT(*) DESC) AS rn
|
||||
FROM ua
|
||||
GROUP BY domain, user_agent
|
||||
)
|
||||
SELECT domain, user_agent, value
|
||||
FROM ranked
|
||||
WHERE rn <= 20
|
||||
ORDER BY domain, value DESC
|
||||
|
||||
- name: referrers
|
||||
label: Referrers
|
||||
icon: link
|
||||
chart: table
|
||||
bucket: referrer
|
||||
bucket_label: Referrer
|
||||
buckets:
|
||||
- domain
|
||||
- referrer
|
||||
bucket_label:
|
||||
- Domain
|
||||
- Referrer
|
||||
query: |
|
||||
SELECT referer AS referrer,
|
||||
COUNT(*) AS value
|
||||
FROM logs
|
||||
GROUP BY referrer
|
||||
ORDER BY value DESC
|
||||
LIMIT 20
|
||||
WITH ref AS (
|
||||
SELECT host AS domain, referer AS referrer
|
||||
FROM logs
|
||||
), ranked AS (
|
||||
SELECT domain, referrer, COUNT(*) AS value,
|
||||
ROW_NUMBER() OVER (PARTITION BY domain ORDER BY COUNT(*) DESC) AS rn
|
||||
FROM ref
|
||||
GROUP BY domain, referrer
|
||||
)
|
||||
SELECT domain, referrer, value
|
||||
FROM ranked
|
||||
WHERE rn <= 20
|
||||
ORDER BY domain, value DESC
|
||||
|
||||
- name: status_distribution
|
||||
label: HTTP Statuses
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue