MongoDB does not support storing objects (dictionaries) with keys, containing '.' and '$' - these symbols are special characters for this database, that's why when Ceilometer is processing data samples, containing, for instance, resource metadata with dots in the tag names, that leads to the sample writing failure. That usually occurs if metric is collected from the images with special tags (like Sahara is creating images with tags like '_sahara_tag_1.2.1').
Known issue
==========
MongoDB does not support storing objects (dictionaries) with keys, containing '.' and '$' - these symbols are special characters for this database, that's why when Ceilometer is processing data samples, containing, for instance, resource metadata with dots in the tag names, that leads to the sample writing failure. That usually occurs if metric is collected from the images with special tags (like Sahara is creating images with tags like '_sahara_ tag_1.2. 1').
Workaround
==========
Don't create cloud resources (images, VMs, etc.) containing resource metadata keys with forbidden characters.