Follow GFI:
Find us on Facebook Follow us on Twitter Find us on Linkedin Subscribe to our RSS Feed Find us on YouTube Find us on Google+
 

My emails aren’t being archived by GFI MailArchiver. What do I do?!

on September 16, 2010

GFI MailArchiver archives emails by polling them from the journal mailbox you set up in Exchange and storing them in the databases you configure. You can choose to store emails in the inbuilt GFI MailArchiver Firebird database, SQL Express or Full database or in a SQL + File System database. Therefore, as you can imagine, there are quite a few points of failure and various reasons why your mail might not be archived. You can easily check whether mail is being archived or not by going to ‘Archives Stores’ in the GFI MailArchiver and clicking on ‘View Statistics’ for the active database.

Let’s break it down, step by step.

The first thing to check would be your journal mailbox and the account you use for this mailbox.

  1. See if you can access this mailbox using OWA or Outlook. If you cannot access this mailbox, chances are the account is locked out in AD or the credentials you specified are incorrect.
  2. If you can access the mailbox, check if emails are entering and leaving the mailbox. An easy way to test if emails are arriving at the journaling mailbox is to go to ‘Mail Servers to Archive’ in the GFI MailArchiver configuration and uncheck ‘Archive emails from this server’ . Then send a couple of outbound, inbound and internal emails and see if they arrive in the inbox. If they do not, then the problem is with your journaling rules in Exchange. You’d might want to create a new journal mailbox as a test. If emails are seen in the journal mailbox, go back to ‘Mail Servers to Archive’ and check ‘Archive emails from this server’. If the emails are polled, then the problem lies within GFI MailArchiver and not in the journal mailbox.

Once you have taken the journal mailbox out of the picture, you can then move onto investigating GFI MailArchiver.

First thing to check here is that the database schemas are up to date. To do this, click on ‘Archive Stores’ in the GFI MailArchiver configuration and click on ‘Edit Settings’ for the active database and go through the wizard until you get to the page where it checks for database schema. If the database schema needs updating, the wizard will prompt you to upgrade it.

If the database schema is the latest, you should then go on to check  the <..\GFI\MailArchiver\Core\Queue> and <..\GFI\MailArchiver\Core\Pickup> folders.  GFI MailArchiver will stop polling mails when information on 1000 emails are found in these folders.

There are a number of reasons why emails back up in these folders , mainly Anti-Virus or Backup Software scanning the GFI MailArchiver directory.  Another  would be that GFI MailArchiver cannot communicate correctly to the Firebird or Microsoft SQL database. Reasons for this would be an unstable connection to the database server, or incorrect auto-growth settings for the database, or the transaction log files are not optimally configured. Database timeouts could also cause emails not to transfer to the database.

What to try – Firebird databases

  • Ensure that the GFI MailArchiver directory is excluded from real-time backup and/or virus scanning software.
  • Keep the physical size of the firebird database under 2GB in size – roll over to a new database every 2 months or every quarter as needed.
  • If you have a large firebird database, stop archiving, set indexing to a scheduled time of 30/60 minutes and allow everything to settle down (i.e.: finish indexing, archiving the e-mails in the queue, etc) then create a new database and start archiving to that new database.
  • Ensure that “disk write caching” is enabled on the disk that hosts the firebird databases.
  • Try to keep the databases on another physical disk or spread out over different disks (a spanned volume where drive “D:” for example would behind the scenes have 2, 3, 4 disks running, so you don’t just have one disk head doing all the work and spinning like mad).
  • If you are getting timeout or deadlock errors, you can also try the following:
  1. Open ..\MailArchiver\Core\Data\LogSettings.xml with notepad.
  2. Change <MaxThreads>5</MaxThreads> to 2.
  3. Change <BatchSize>100</BatchSize> to 50.
  4. Save the file and restart the GFI MailArchiver Core service.
  5. The issue should be resolved.

What to try – SQL databases

  • Ensure that the GFI MailArchiver directory is excluded from real-time backup and/or virus scanning software.
  • Ensure that GFI MailArchiver has a stable connection to Microsoft SQL server and that Microsoft SQL Server has enough resources to cope with the load.
  • Run a scan to check for hard disk errors.
  • Run a disk defragmentation tool to defragment the hard disk that hosts the SQL databases.
  • Run an integrity check on the problematic GFI MailArchiver database.
  • Ensure that there is enough memory and hard disk space to cater for the load.
  • Ensure that the timeout values from SQL Server itself (including connection timeout) are set to a high value (not the default of 2 minutes).
  • Ensure that the autogrow of the DATA and TRANSACTION LOG are set to a fixed size (not percentage) and ensure that the database has enough space to grow automatically.
  • Stop any other applications from making use of the SQL Server, so that GFI MailArchiver is the only one making use of it, and check if the problem persists.