Назад | Перейти на главную страницу

Странное значение метрики в графите от collectd

Я написал собственный плагин python для collectd:

import collectd
import random

def read_callback():
    value = random.randint(0, 1500)
    val = collectd.Values()
    val.plugin = 'test'
    val.plugin_instance = 'random'
    val.type = 'counter'
    val.type_instance = 'random'
    val.values = [value]
    val.dispatch()

collectd.register_read(read_callback)

Поэтому я ожидал увидеть значения от 0 до 1500 в графите, но получил следующий список чисел с плавающей запятой со значением намного больше 1500:

У меня нет проблем с базовыми плагинами и их метриками, но тут очень странное поведение. Кто-нибудь знает, почему и как я могу это исправить?

Проблема была во флаге collectd-graphite StoreRates он был установлен в True, поэтому collectd отправить значение diff из предыдущего, и если новое значение было меньше предыдущего, у меня было странное поведение.

Как исправить ту же проблему: установите для StoreRates значение false.