2015-09-03 6 views
9

के लिए आप कैसे वहाँ जो मुझे रूबी में कोड लिखने के लिए सक्षम बनाता है Logstash के लिए एक गहरे लाल रंग का फिल्टर है और यह आमतौर पर कॉन्फ़िग फ़ाइल में शामिल हो जाएजावा फ़िल्टर Logstash

filter { 
     ruby { 
      code => "...." 
     } 
} 

इस प्रकार अब मैं दो जार फ़ाइलें जानते हैं कि मैं अपने फ़िल्टर में शामिल करना चाहता हूं ताकि मेरे पास इनपुट को इन जार फ़ाइलों में किए गए संचालन के अनुसार संसाधित किया जा सके। हालांकि, मैं (स्पष्ट रूप से) रूबी कोड में जार फ़ाइल शामिल नहीं कर सकता। मैं एक समाधान की तलाश में हूं। कोई मदद?

धन्यवाद।

उत्तर

0

तो यह जवाब देने के लिए, मैं इस अद्भुत ट्यूटोरियल Elastc.co से मिला:

एक नया मणि बना सकते हैं और बाद में Logstash के लिए एक फिल्टर के रूप में उपयोग करने के लिए कदम दिखाता है।

https://www.elastic.co/guide/en/logstash/current/_how_to_write_a_logstash_filter_plugin.html

0

Orrr अपने मूल सवाल का जवाब देने,

आप अपने गहरे लाल रंग का कोड में एक जार शामिल कर सकते हैं, लेकिन आप JRuby उपयोग करने की आवश्यकता,

पर कैसे करने के लिए यहाँ निर्देश देखें JRuby में जार से पहुँच जावा कोड:

https://github.com/jruby/jruby/wiki/CallingJavaFromJRuby#from-jar-files

JRuby से एक जार फ़ाइल के भीतर संसाधनों का उपयोग करने के लिए, जार फ़ाइल या तो classpath पर होना चाहिए या आवश्यकता विधि के साथ उपलब्ध कराया जाएगा:

require 'path/to/mycode.jar' यह आवश्यकता द्वारा mycode.jar खोज योग्य में संसाधनों बनाता है बाद में कमांड जैसे import और include_package

ध्यान दें कि $LOAD_PATH के साथ जार-फाइलों को लोड करने की आवश्यकता है, जैसे कि यह सामान्य रूबी फाइलों के लिए होगा।

+0

हाँ यह सही है और इस तरह मैंने अपने समाधान के साथ शुरुआत की, मणि Jruby (जार फ़ाइल सहित) का उपयोग करके लिखा जाएगा, जिसका उपयोग एक नए लॉगस्टैश फ़िल्टर के रूप में किया जाएगा। धन्यवाद :) –

संबंधित मुद्दे