Я пытаюсь написать программу на Python для непосредственного извлечения информации из файлов производительности RRD, хранящихся на наших серверах на работе, но файлы не хранятся в формате открытого текста, и я не могу найти какую-либо спецификацию, которая разбивает фактический формат того, как RRDtool хранит информацию в файле RRD (то есть, первые N битов описывают X, следующие N битов описывают Y и т. д.).
Я знаю, что могу использовать утилиты "fetch" и "dump" RRDtool, чтобы извлечь одну запись, или выгрузить весь файл в гигантский XML, но я хочу попробовать написать что-то с нуля, что даст мне больше контроля над тем, как файл прочитан, и сколько места занято (дампы XML составляют около 1 ГБ каждый).
Пример одной из ситуаций, на которые я хочу обратить внимание: нахождение последнего времени, когда сервер записал определенное значение (т. Е. Последний раз, когда он зарегистрировал больше определенного количества пропущенных пакетов).
Я посмотрел онлайн, но все, что я нахожу, просто указывает на использование утилит RRDtool, а не на любое описание того, как форматируется сам файл RRD.
Я прошу прощения, если это неправильный Exchange, на котором можно задать этот вопрос; это казалось наилучшим подходом, так как мой вопрос не совсем специфичен для программирования. Я также не уверен, что использую лучшие теги для этого вопроса, поэтому я, безусловно, открыт для предложений.