Что делать, если графики Cacti всегда выдают NaN?..

Начну с того, что Cacti - это неплохой web-интерфейс к RRDTool, позволяющий мониторить на графиках все что душе угодно, начиная от системных ресурсов локальной машины, заканчивая ведением статистики погоды :). Приложение написано на PHP, соответственно, особенных проблем с установкой не будет. Проблемы могут возникнуть позже, если вы захотите научить "кактус" строить свои графики (кстати, в самой Cacti уже достаточно шаблонов на все случаи жизни, а если случай особенный, то их можно поискать в сети). Так вот, наиболее распространенная проблема, с которой можно столкнуться при создании графика - это то, что вместо заветных чисел и красивых линий на нем будет отображено NaN.

Первым делом проверьте, чтобы вся цепочка от получения данных до отображения была корректно создана и связана. Если вы уверены, что все сделали правильно, а результата все равно нет, то:

  • Самое простое и очевидное - проверьте, чтобы в crontab был вызов poller.php каждые 5 минут
  • Проверьте, что выдает скрипт, результат которого должен быть виден на графике путем запуска из командной строки
  • В настройках Cacti включите режим DEBUG для логов Poller'а. После очередного срабатывания скрипта, проверьте логи - там можно увидеть, какое значение из вашего скрипта записывается в базу данных
  • Проверьте права и владельца всех директорий Cacti, особенно rra. Все файлы внутри rra должны быть writeable
  • Проверьте значения minimum и maximum, которые вы выставили для текущего источника данных. Значения, выдаваемые скриптом не должны выходить за эти границы. Чтобы проверить, выполните
    rrdtool fetch <rrd file> AVERAGE

    Если последние строки ни содержат ничего кроме NaN, проверьте установленные границы (поля ds[...].min и ds[...].max):
    rrdtool info <rrd file>

    Если вы видите, что значения не умещаются в установленных границах, то изменением параметров MINIMUM и MAXIMUM в веб-интерфейсе Cacti тут не обойтись. Необходимо обновить еще и сам rrd-файл командой:
    rrdtool tune <rrd file> --maximum <ds-name>:<new ds maximum>


  • P.S. Встретил еще одну ситуацию, когда cacti не показывает графики, а в логах апача появляются странные записи вида:

    ERROR: I don't understand ':05:04 To 2009/10/22 21:05:04\c' in command: 'COMMENT:From 2009/10/21 21:05:04 To 2009/10/22 21:05:04\c'.

    Ошибка проявляется просто из-за неправильно выбранной версии RRDTool в настройках Cacti (Settings в Web-интерфейсе).

Не пишутся данные в базу. Причем другой точно такой же срипт, но считает другие цифиры работает(отличаются только названием единиц)
Вот часть результат вывода команды rrdtool fetch путь/имя LAST
ip
1156826040: nan
1156826100: nan
1156826160: nan
1156826220: nan
1156826280: nan

Вот часть результат вывода команды rrdtool info путь/имя
rrd version = "0003"
ds[ip].index = 0
ds[ip].type = "GAUGE"
ds[ip].minimal_geartbeat = 600
ds[ip].min = 0.0000000000e+00
ds[ip].max = NaN
ds[ip].last_ds = "9810"
ds[ip].value = 3.4*********e+02
ds[ip].unknown_sec = 0

Подскажите что проверить на ошибку в этом rrdtool ?

Супер, очень помогло!!!

Отправить комментарий

Image CAPTCHA
Enter the characters shown in the image.