2011-03-10 6 views
1

Я отправляю метрики в Ganglia, используя Gmetric один раз каждые 5 минут. Но если задача cron, которая отправляет метрики, не работает, я ожидаю, что значение метрики на графике Ganglia будет равным нулю, тогда как оно останется на последнем обновленном значении. Есть ли способ изменить это поведение?Ganglia Metric Value Decay To Zero

ответ

3

Обратите внимание, что использование флага '-d' (aka DMAX) в вашем gmetric заставит gmond/gmetad забыть о метрике полностью после того, как секунды DMAX прошли без обновления gmetric.

Итак, если вы используете Ganglia прямо из коробки, файл .rrd и граф Ganglia для этой метрики полностью исчезнут.

Если вы хотите сохранить историю .rrd метрики и/или хотите, чтобы граф Ganglia оставался вокруг (но сбрасывается сюжет до нуля), вы можете отредактировать вызов rrdtool внутри/path/к/веб-сервера/ганглиев/graph.d/metric.php.

Ознакомьтесь с документами rrdtool для CDEF и VDEF, чтобы узнать, как вы можете включить условные обозначения в вызовы rrdtool. Внутри этих утверждений я считаю, что вы можете проверить метку времени последней метрики внутри .rrd, а затем произвольно нарисовать нулевое значение (или любое другое значение, которое вы хотите). В качестве альтернативы вы можете изменить цвет или стиль линии в течение периодов времени, которым вы не доверяете, и т. Д. И т. Д.

rrdtool довольно мощный, если непонятный. Лучшие страницы руководства для пользователя будут rrdgraph_data, rrdgraph_graph и rrdgraph. Также ознакомьтесь с некоторыми другими скриптами PHP, предоставленными Ganglia, чтобы увидеть больше примеров вызова rrdtool.

+1

BTW, у меня была такая же проблема, и я исправил ее, отредактировав файл 'gmond.conf', у которого есть свойство' host_dmax', которое по умолчанию равно нулю. –

0

Я считаю, что это особенность rrdtool. Он будет продолжать показывать значение «последнего сообщенного», пока оно не получит новые данные. Если вы хотите, чтобы значение метрики переместилось в 0, вам нужно будет иметь некоторый процесс, который фактически сообщил значение 0 для этой метрики.

Попробуйте установить флаг -d в своих вызовах gmetric. Это указывает максимальное время жизни (в секундах) от передаваемой вами метрики. Я считаю, что gmond/gmetad потеряет метрику по истечении этого времени, и после этого вы не увидите ее в графическом приложении PHP.

Это не совсем то, о чем вы просили, но, возможно, это приемлемая альтернатива?