2017-08-17 6 views
-1

以下は私のイベントです。LogStashフィールドを分割して新しいフィールドに格納するRuby

{ 
    "system":{ 
     "cpu":{ 
     "cores":2, 
     "system":{ 
      "pct":1.1988 
     }, 
     "user":{ 
      "pct":0.5487 
     } 
     } 
    }, 
    "type":"metricsets" 
} 

system.cpu.user.pctの値はsystem.cpu.coresによって分割されるべきであり、新しい値がsystem.cpu.user.pctに格納されるべきです。

下に述べたように、私が試したが、それはうまくいきませんでした:

ruby { 
     code => "event.set('system.cpu.user.pct', system.cpu.user.pct/system.cpu.cores)" 
} 

ruby { 
     code => "event['system.cpu.user.pct'] = event['system.cpu.user.pct']/event['system.cpu.cores']" 
} 

ruby { 
     code => "event['[system][cpu][user][pct]'] = event['[system][cpu][user][pct]']/event['[system][cpu][cores]']" 
}; 

答えて

0

これが働いた:

ruby { 
    code => "event.set('[system][cpu][user][pct]', 
    event.get('[system][cpu][user][pct]')/event.get('[system][cpu][cores]'))" 
} 

をあなたはそれがhereをどのように機能するかについての詳細を読むことができます。

関連する問題