FAQ: Excluding an IP Address or Domain


How can I exclude hits from my own IP address, or from my organization's domain?

Short Answer

Add a Log Filter to exclude those hits.

Long Answer

One way to do this is to use a global filter in the statistics, and use "!(hostname within '123.124.125.126')", and this is often the first thing people try, but it's not the best choice. The speed of a statistics filter depends on the number of items checked, so if there are 100,000 IP addresses in your log file, and you check all 100,000, then Sawmill will take up to 100,000 times longer to generate each page. That is probably not what you had in mind. A much better option is to use the Log Filters.

Log filters are used to filter out or modify log data as it is being read (rather than filtering database data as it is being browsed, like the statistics filters). You can get to the Log Filters by clicking Show Config in the profiles list, and clicking the Log Filters category.

You want to create a filter that will reject any log entries whose hostname field is your IP address. If your IP address is 128.128.128.128, the filter you want is this:

The name of the field ("hostname" here) depends on your log data -- use the name that your log data uses. For instance, IIS W3C format calls the field c_ip, so for IIS you would use this:

You can get a list of the fields in your profile by running Sawmill from the command line with "-p profilename -a llf".

The next time you rebuild the database, hits from your IP address will be rejected, and will not appear in the statistics.

Rejecting all hits from a particular domain is very similar; if your domain is mydomain.com, and your server is set to look up IP addresses, then you can use this filter:

If your server logs hostnames as IP addresses (and does not resolve them to hostnames with DNS), you can use the subnet for your domain instead; for instance, if all hits from mydomain.com will come from the subnet 128.128.128, then you can use this filter: