Я хочу использовать CollectD для сбора некоторой статистики (о хранении) и чтобы Graphite отображал ее красиво. По-видимому, это можно сделать либо путем
- заставить CollectD хранить данные в виде файлов RRD и указать Graphite на них, или
- использование плагина CollectD для отправки данных в Carbon API Graphite, который будет хранить данные в базе данных Whisper (которая похожа на RRD, но несовместима).
Я думаю, что хочу использовать RRD, но я нашел это утверждение в Документы Whisper, которые меня беспокоят:
Во многих случаях (в зависимости от конфигурации), если в серию RRD внесено обновление, но за ним вскоре не последует другое обновление, исходное обновление будет утеряно.
Хм. Это немного пугает, но обвинение настолько расплывчато, что я не знаю, что с этим делать. О какой конфигурации идет речь и в какой ситуации она приводит к потере данных?
Моя ситуация такова, что данные метрик, которые я собираю, будут доступны по частям — периодически я буду получать последние данные и делать столько записей в базе данных, сколько есть новых доступных образцов. Так, например, я мог бы получить некоторые данные и обновить базу данных значениями 3 минуты назад, 2 минуты назад и 1 минуту назад, одно за другим. На самом деле, у меня могут быть десятки новых образцов для одновременного внесения в базу данных. Имеет ли такое использование RRD какое-либо отношение к обвинению в Whisper?
ПРИМЕЧАНИЕ. Мне не нужно заполнять данные; Я всегда буду добавлять более новые данные, чем те, которые уже были сохранены.