Why is an element not updating even though the data exists in the data source?
I created new dimensions in anticipation of new data that must be capured in Metric Insights. The data is now available in the data source, but Metric Insights is not fetching this new data during data collection trigger run or when attempting to collect the data manually. What is going?
This is probably a data availability issue at the data source. Unless there is an error in Metric Insights during data collection, MI collects whatever it can read from the data source. In this instance, there was no new data being collected on Monday for the prior week. The data was not available until days later!
A good way to check is to look at /var/log/mi.debug. This shows whether data is being returned during data collection and even shows whether a collection is via the MI trigger or a manual call (see image below).
Manual calls are identified as "-edcd-id XXXXXX " and trigger calls are "-rld_id XXXXXX"
Notice that the calls are made daily, both via the trigger and manually. Each time, the correct measurement_time is used (2015-07-12). However no data is returned - no json result rows. Finally, on Thursday, the new data is fetched - json number of rows: 27, and you can see the actual data point that was fetched in the row above this line. This clearly shows that the data in question was never available in the source on Monday (for MI to collect anyway), but much later in the week, on Thursday.
The solution then, is to reschedule the data collection trigger to run when the data has loaded into the data source. You can also set a dependency to have MI check for data in the source first before attempting to collect any data (see http://kb.metricinsights.com/m/43678/l/615921-how-do-you-trigger-data-collection-when-data-jobs-at-the-source-are-finished). For any additional questions, please contact firstname.lastname@example.org.