Documentation

Get started in minutes, then go deeper with the query language.

Quick start

Create a client and a site, import logs and open a report. The desktop app does the same with a few clicks.

octopuson-log client add "Acme"
octopuson-log site add acme.com --client "Acme"
octopuson-log import acme.com /var/log/nginx/
octopuson-log overview acme.com --period last30d
octopuson-log query acme.com --template url-summary -o urls.xlsx
octopuson-log robots acme.com

Query language

Every report is a query: conditions, then optional grouping, metrics, sorting and a limit.

Examples

  • bot:googlebot* verification:verified status:4xx date:last30d group:urlErrors verified Googlebot hit in the last 30 days
  • bot_category:ai-* group:bot,day metric:hitsDaily activity per AI crawler
  • referer_type:ai -bot:* group:url,referer_hostPages visited from AI assistants
  • verification:spoofed group:bot,as_org,countryWhere fake bots come from
  • group:url metric:last_status,days_since_last,googlebot_hitsCrawl recency per URL

Fields

dateipmethodurlpathdirectoryparamsstatusbytesresponse_msuarefererhostprotocolbotbot_categoryverificationcontent_typereferer_hostreferer_typecountryasnas_org

Metrics

hitsbytesavg_bytesavg_msmax_msp95_msunique_urlsunique_ipsfirst_seenlast_seendays_since_lastlast_statusstatus_codesunique_statusesinconsistenterrorshits_1xx…hits_5xxco2_mgbot_hitssearch_hitsai_hitsgooglebot_hitsbingbot_hitsyandex_hits