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

Поиск узлов Chef по возрасту

Я пытаюсь собрать инструмент для отслеживания экземпляров Chef, которые не сошлись должным образом. Я могу легко найти эти узлы, но я хочу исключить узлы, которые все еще довольно новые и могут все еще находиться в процессе начальной загрузки. Я изначально использовал ohai_time для этого, но это было неточно, потому что я использую Chef как службу, поэтому некоторые узлы будут продолжать отказываться, но продолжают обновлять ohai_time. Затем я нашел uptime_seconds, который кажется идеальным, но, похоже, обрабатывается как строка при поиске по диапазону, то есть по алфавиту. Например:

knife search "uptime_seconds:[0 TO 9]"

возвращает все мои экземпляры, тогда как:

knife search "uptime_seconds:[0 TO 10000]"

ничего не возвращает. Есть ли способ справиться с этим правильно с помощью поиска Chef?

Нет, это невозможно. Мы храним все атрибуты узла в строковом поле, насколько известно Lucene, чтобы TO поиск по диапазону строк, а не по числовому диапазону.