Метрическое значение ганглиев уменьшается до нуля - PullRequest
1 голос
/ 10 марта 2011

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

Ответы [ 2 ]

3 голосов
/ 29 апреля 2011

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

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

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

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

0 голосов
/ 06 апреля 2011

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

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

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

...