1

在 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 本身。

4

2 回答 2

6

在课堂上闲逛Ohai::Application(你在运行时得到什么ohai),#run_application实例化Ohai::System,除非它是由文件配置的,否则它会调用all_plugins以用数据填充它。

据推测,Ohai::System#all_plugins将数据收集委托lib/ohai/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 
于 2012-09-21T22:31:30.623 回答
2

我也搜索了一个简单而好的图书馆来做到这一点......

我碰到

使用观察

5分钟后我的monitoring.rb完成了..

安装:gem install usagewatch

在 mac 上安装:gem install usagewatch_ext

有关更多信息,请参阅本文

于 2013-12-08T15:53:29.073 回答