fyra

Push any directory. Get a live URL.

/monitoring.html
Monitoring

Accessing your logs

Every request that hits your Fyra site is logged. Use fyra logs to view, filter, pipe, and export them.

Open the log viewer

fyra logs launches an interactive TUI that streams new requests every 3 seconds.

log stream
Time Status Method Path Cache IP Duration 14:23:45 200 GET /index.html HIT 1.2.3.4 5ms 14:23:46 200 GET /about.html MISS 1.2.3.4 12ms 14:23:48 404 GET /old-page MISS 5.6.7.8 3ms
Navigate the TUI
SpacePause or resume the live stream
↑ / ↓Scroll through log entries
EnterInspect a selected request in detail
tToggle between UTC and local time
EscExit inspect view or quit

A request detail view shows the full envelope:

request detail
Timestamp: 2026-05-10 14:23:45 Hostname: app.fyra.sh IP: 1.2.3.4 Method: GET Path: /index.html Status: 200 Duration: 45ms Cache: HIT Node: node-xyz User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) [Esc] back
Filter by time

Use --since with a relative or absolute timestamp.

terminal
$ fyra logs --since "1 hour ago" $ fyra logs --since "2026-05-10 14:00:00"
Pipe logs to other tools

Use --format to emit machine-readable output. --follow keeps the stream open.

formats
table human-readable table (default in the TUI) json one JSON object per line clf Apache Common Log Format combined CLF + referer + user-agent

Example: grep for 404s in CLF output.

terminal
$ fyra logs --format clf --since "1 day ago" | grep ' 404 ' 1.2.3.4 - - [24/Apr/2026:14:23:48 +0000] "GET /old-page HTTP/1.1" 404 0 "-" "curl/8.7.1" 5.6.7.8 - - [24/Apr/2026:15:01:12 +0000] "GET /deleted-route HTTP/1.1" 404 0 "-" "Mozilla/5.0"
Export logs to a file

Use --output to write directly to disk.

terminal
$ fyra logs --format combined --since "1 day ago" --output logs.combined Fetching logs... Wrote 1,247 entries to logs.combined

No logs yet? Logs only appear after your first fyra push. Push something, then re-run fyra logs.

Monitoring

Visualizing logs with GoAccess

GoAccess turns combined-format logs into interactive dashboards. Pipe fyra logs straight in.

Install GoAccess
terminal
# macOS $ brew install goaccess # Debian / Ubuntu $ sudo apt install goaccess
Real-time terminal dashboard

Stream live logs straight into GoAccess:

terminal
$ fyra logs --format combined --follow | goaccess -
goaccess — terminal dashboard
GoAccess terminal dashboard showing real-time visitor stats, request counts, and response code breakdown

You'll see a live breakdown of visitors, requested URLs, 404s, response codes, bandwidth, and operating systems — all updated as traffic comes in.

Why --format combined? The combined format includes referer and user-agent fields. GoAccess uses these to show browser stats, operating systems, and where your traffic is coming from — the plain CLF format omits this data.

Generate an HTML report

Export a window of logs and render an HTML dashboard:

terminal
$ fyra logs --format combined --since "1 day ago" --output daily.combined $ goaccess daily.combined -o report.html
report.html — goaccess
GoAccess HTML report dashboard showing visitor charts, requested URLs, and response code breakdown

Open report.html in any browser. The report includes charts for unique visitors, requested files, 404s, visitor demographics, and more.

Scheduled monitoring

Drop a cron job to export the last 24h and refresh the report daily:

crontab
# Every day at midnight: export last 24h and generate report 0 0 * * * fyra logs --format combined --since "1 day ago" \ --output ~/logs/daily-$(date +%F).combined \ && goaccess ~/logs/daily-$(date +%F).combined \ -o ~/logs/reports/$(date +%F).html