如何使用ohai gem

时间:2012-09-21 19:53:34

标签: ruby ohai-gem

在OpsCode Wiki中有以下文档:

require 'ohai'

# ...
# Profit! ;-)

如何打印'ohai'命令提供但使用IRB的JSON数据?我试着看看application.rb中的代码,但是我得到了空数据。

require 'ohai/application'
ohai = Ohai::System.new
ohai.json_pretty_print
 => "{\n\n}" 

尝试在Chef(或Shef)内执行此操作,我只想在我自己的应用中使用ohai gem本身。

2 个答案:

答案 0 :(得分:6)

Ohai::Application类中(在运行ohai时获得的内容),#run_application实例化Ohai::System,除非是由文件配置,否则调用all_plugins Ohai::System#all_plugins用数据填充它。

据推测,$ irb -rohai > system = Ohai::System.new => #<Ohai::System:0x00000100988950 @data={}, @seen_plugins={}, @providers={}, @plugin_path="", @hints={}> > system.all_plugins => true > puts system.to_json {"languages":{"ruby":{"platform":"x86_64-darwin10.8.0","version":"1.9.2", ... > system.to_json.size => 42395 将数据集合委托给the lib/ohai/plugins directory

{{1}}

答案 1 :(得分:2)

我也在寻找一个简单而好的库来做到这一点......

我遇到了

  

Usagewatch

并在5分钟后完成了我的monitor.rb ..

安装:gem install usagewatch

在mac上安装:gem install usagewatch_ext

有关详细信息,请参阅this文章