RRD.create
Rubyを呼び出そうとしています。私の RRD 変数はハッシュに格納されており、RRD.create
呼び出しを作成する必要があります。これが私のコードです:
pool_map = {
"cleanup" => "Cleaning up",
"leased" => "Leased",
"ready" => "Ready"
}
start = Time.now.to_i
ti = 60 # time interval, in seconds
RRD.create(
rrdfile,
"--start", "#{start - 1}",
"--step", ti, # seconds
pool_map.keys.map{|val| "DS:#{val}:GAUGE:#{ti * 2}:0:U" }.collect,
"RRA:LAST:0.5:1:#{86400 / ti}", # detailed values for last 24 hours
"RRA:AVERAGE:0.5:#{5*60 / ti}:#{7*24*60}", # 5 min averages for 7 days
"RRA:MAX:0.5:#{5*60 / ti}:#{7*24*60}", # 5 min maximums for 7 days
"RRA:AVERAGE:0.5:#{60*60 / ti}:#{183*24}", # 1 hour averages for a half of the year
"RRA:MAX:0.5:#{60*60 / ti}:#{183*24}" # 1 hour maximums for a half of the year
)
ただし、Ruby から次のエラーが発生します。
in `create': invalid argument - Array, expected T_STRING or T_FIXNUM on index 5 (TypeError)
RRD.create
配列を渡す代わりに、いくつかの文字列を指定する必要があります。Rubyでこれを行うにはどうすればよいですか?