在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本身。
答案 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文章