The 'normal' method would be to take snapshots of monEngine at some predetermined interval (eg, every 5 minutes) and calculate the deltas for all columns (subtract 'last' snapshot from 'current' snapshot) to get totals for the time interval (and divide by the interval to get averages). Whether you store the deltas or the actual data (or both) is up to you (eg, what is easiest to store? what is easiest to query?).
As for counter resets ... your delta logic would have to decide how to handle a counter reset (or rollover) ... again, what you choose to do is up to you.
As for ASEMON ... it's a nice MDA-based tool. Even if you don't want to use ASEMON you may want to take a look at it since it gives you access to all of the queries (MDA collection, delta calculations, reports) used by ASEMON (eg, take a look at the various *.xml files).