我正在尝试整合一个工具来跟踪未正确收敛的 Chef 实例。我可以轻松找到这些节点,但我想排除仍然很新的节点,因此可能仍处于引导过程中。我最初ohai_time
为此使用,但这并不准确,因为我将 Chef 作为服务运行,因此某些节点会不断失败但会不断更新ohai_time
。然后我发现uptime_seconds
,这看起来很完美,但它似乎在范围搜索中被处理为字符串,即按字母顺序。例如:
knife search "uptime_seconds:[0 TO 9]"
返回我的所有实例,而:
knife search "uptime_seconds:[0 TO 10000]"
返回无。有没有办法使用 Chef 搜索正确处理这个问题?
答案1
不,这是不可能的。据 Lucene 所知,我们将所有节点属性存储在字符串字段中,因此这TO
是字符串范围搜索,而不是数字范围。