[collectd] Failed to parse string as derive

parse_value: Failed to parse string as derive: "".
db query utils: udb_result_submit: Parsing `' as derive failed.

Данная ошибка означает, что не может распарсить пустые значения. Проверяем все запросы, которые могут возвращать null (в моём случае это были postgresql-запросы из файла /usr/share/collectd/postgresql_default.conf):

postgres=> SELECT sum(n_tup_ins) AS ins,sum(n_tup_upd) AS upd,sum(n_tup_del) AS del FROM pg_stat_user_tables;
 ins | upd | del
-----+-----+-----
     |     |
(1 row)

Оборачиваем все null’ы в COALESCE(0,…):

postgres=> SELECT COALESCE(0,sum(n_tup_ins)) AS ins,COALESCE(0,sum(n_tup_upd)) AS upd,COALESCE(0,sum(n_tup_del)) AS del FROM pg_stat_user_tables;
 ins | upd | del
-----+-----+-----
   0 |   0 |   0
(1 row)

После этого делаем это для всех sum в файле: /usr/share/collectd/postgresql_default.conf (несмотря на то, что там написано ничего не править, но правки в collectd.conf не применялись почему)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *