Urchin does the job reasonably well, but at least once a month the program's scheduler gets stuck reading a site's log, hanging forever as a "pending" or "running" task.
I found the solution to the problem on an Urchin support page: Stop the scheduler, use the utility program to set several values that reset the stuck site, then restart the scheduler.
Update: Spoke too soon. I also had to open the Storage/DB configuration tab for the profile, delete all data associated with it, and delete its server logs for recent days. Something in the database or the log caused the pending problem to come back each time I ran Urchin.
Yes, this happens often. After the uconf-driver commands, we always see the error message "DB is locked - run sanitizer" when we restart the scheduler. According to Urchin, the only way to fix it is to delete all the data for the entire month and re-run all your logs through it! This is because Urchin stores data at the granularity of a month. This is no good for us because it takes days to process a month's logs. Argh!
However, if Urchin saves a backup in your data/profilename directory, you can delete the normal files (named YYYYMM-?data.*, where YYYY=year and MM=month), unzip the backup and then start the scheduler again. With luck, this will allow you to pick up where it left off and not have to run the entire month again.
I haven't found this info on Urchin's web site, just tried it and it worked. YMMV.