Life would have been much easier if SP 2013 had the Web Analytics Service Application but unfortunately this has been discontinued after SP 2010.
If you are looking for third party solutions there are a plenty of good ones out there.
If I had to use a free solution, the best workaround would be to use Log Parser + SQL based approach and using SSRS Reports for insights. This is a medium complexity setup but really an effective one if you do not need real time reporting.
Save all your IISLogs for the target web application to a custom SQL database. IIS Logs contain userlogin , time and requested path (which gives you the site collection) among other many fields. Write a batch file and use Windows Task Scheduler to schedule the activity of exporting the logs to your custom database from all your WFE. An example to extract users is shared here. You can do this from a low overhead application server as well which need not be part of your SharePoint farm.
Once the information is in database, you have plenty of options to play around from finding user logins, unique users, comparing number of requests for different site collections, trends and charts of different site collections,etc. 18000 can be a cumbersome number to create reports, its a onetime activity.
Host these reports on SharePoint. Infact you can have wide range of dashboards created from these simple logs. Its a low cost solution with perhaps only investment in scaling up the hardware a little with the assumption that you have a database guy in your team.