You can refer to Microsoft’s Azure Application Insights, which will provide you some extraordinary reports for these kind of requirements. It is very easy to configure your SharePoint On-Premises site with Azure Application Insights, which will provide more information than you require.
Here are the steps to configure SharePoint Site in Application Insights.
Go to Azure Portal and select Application Insight menu. Then, create new Application Insight and provide mandatory fields.
After that creating Insight do the following steps:
Application Insights => Demo Insight (Application Insight created from you) => getting started => Monitor and diagnose client side application => Copy the script from the Guidance section.
Once successfully performed the above steps, open your SharePoint Site Collection in SharePoint Designer or whatever you have to customize SharePoint page, then paste script (copied script from Guidance Section) inside header section in Seattle. Master page.
Now you will be able to get the reports from Azure Application Insight.
If you want a comprehensive set of audit and security reports, you can look up Vyapin’s SharePoint Audit and Reporting tool for additional information.