If you run your own nginx server, Rankly reads your access logs through Fluent
Bit, a lightweight log forwarder. Fluent Bit tails your access log, keeps the
agent traffic, and posts it to Rankly.
Prerequisites. Shell access to your nginx server and a
verified domain in Rankly. Your ingest token is in
Settings.
Setup
Add the Rankly config
Drop this into /etc/fluent-bit/fluent-bit.conf. Rankly fills in your host
and token.[SERVICE]
Flush 5
Log_Level info
Parsers_File parsers.conf
[INPUT]
Name tail
Path /var/log/nginx/access.log
Parser nginx
Tag nginx.access
Refresh_Interval 5
# Keep AI-bot UAs and favicon fetches (the humanity signal)
[FILTER]
Name grep
Match nginx.access
Regex log (GPTBot|ChatGPT-User|OAI-SearchBot|ClaudeBot|Claude-User|PerplexityBot|Perplexity-User|Google-Extended|Bytespider|Amazonbot|Applebot-Extended|GrokBot|CCBot|Meta-ExternalAgent|MistralAI-User|cohere-ai|/favicon|/apple-touch-icon)
[OUTPUT]
Name http
Match nginx.access
Host ingest.tryrankly.com
Port 443
URI /ingest/nginx-agent?tenant=tnt_your_token
Format json_lines
Json_date_key timestamp
Json_date_format iso8601
tls on
Restart Fluent Bit and test
sudo systemctl restart fluent-bit
curl -A "GPTBot/1.0" https://your-domain.com/
Events appear in Rankly within a minute.
This reads your existing access log, so make sure nginx logs the user-agent
(the default combined log format does). No nginx config change is needed for
a standard setup.