Grok'un log verilerini ayrıştırırken çok güçlü ve ölümcül olduğunu gördüm. Java olan uygulamada log ayrıştırma için Grok kullanmak istedim .. Nasıl Java dan Grok ile bağlanabilir/çalışabilirim.Java'dan Grok kullanarak nasıl ayrıştırılır .. Mevcut herhangi bir örnek var mı?
5
A
cevap
5
GitHub java-grok indirmeyi deneyin: https://github.com/NFLabs/java-grok kullanarak desenleri test edebilirsiniz Grok Debugger'ı: http://grokdebug.herokuapp.com/
4
Kontrol dışarı bu Java kütüphanesi
Sen olarak projenize dahil edebilirsiniz bir maven bağımlılık
<dependency>
<groupId>org.aicer.grok</groupId>
<artifactId>grok</artifactId>
<version>0.9.0</version>
</dependency>
O öncesi ile geliyor tanımlanmış desenler ve sizinkini de ekleyebilirsiniz.
Adlandırılmış kalıplar ayıklanır ve sonuçlar bir grupta anahtar olarak gruplar adları ile kullanılabilir ve alınan değerler bu anahtarlarla eşlenir.
final GrokDictionary dictionary = new GrokDictionary();
// Load the built-in dictionaries
dictionary.addBuiltInDictionaries();
// Add custom pattern
dictionary.addDictionary(new File(patternDirectoryOrFilePath));
// Resolve all expressions loaded
dictionary.bind();
Bu gelecek örnekler İşte
final GrokDictionary dictionary = new GrokDictionary();
// Load the built-in dictionaries
dictionary.addBuiltInDictionaries();
// Add custom pattern directly
dictionary.addDictionary(new StringReader("DOMAINTLD [a-zA-Z]+"));
dictionary.addDictionary(new StringReader("EMAIL %{NOTSPACE}@%{WORD}\.%{DOMAINTLD}"));
// Resolve all expressions loaded
dictionary.bind();
kütüphaneye
public final class GrokStage {
private static final void displayResults(final Map<String, String> results) {
if (results != null) {
for(Map.Entry<String, String> entry : results.entrySet()) {
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}
}
public static void main(String[] args) {
final String rawDataLine1 = "1234567 - [email protected] cc55ZZ35 1789 Hello Grok";
final String rawDataLine2 = "98AA541 - [email protected] mmddgg22 8800 Hello Grok";
final String rawDataLine3 = "55BB778 - [email protected] secret123 4439 Valid Data Stream";
final String expression = "%{EMAIL:username} %{USERNAME:password} %{INT:yearOfBirth}";
final GrokDictionary dictionary = new GrokDictionary();
// Load the built-in dictionaries
dictionary.addBuiltInDictionaries();
// Resolve all expressions loaded
dictionary.bind();
// Take a look at how many expressions have been loaded
System.out.println("Dictionary Size: " + dictionary.getDictionarySize());
Grok compiledPattern = dictionary.compileExpression(expression);
displayResults(compiledPattern.extractNamedGroups(rawDataLine1));
displayResults(compiledPattern.extractNamedGroups(rawDataLine2));
displayResults(compiledPattern.extractNamedGroups(rawDataLine3));
}
}
nasıl kullanılacağına ilişkin tam bir örnektir bir dosyayı kullanmadan sözlüğe doğrudan dize desenlerini ekler
İlgili konular
- 1. grok
- 2. Python-mor etrafında yüzen herhangi bir örnek var mı?
- 3. Herhangi bir örnek GWT 2.7.0 pom var mı?
- 4. Google Android için mevcut herhangi bir form tasarımcısı var mı
- 5. jquery kullanarak bir json nesnesini nasıl ayrıştırılır
- 6. Cloud 9 kullanarak Node.js için herhangi bir eğitim var mı?
- 7. PLINQ'in herhangi bir faydası var mı?
- 8. DLL işlevlerini kullanarak herhangi bir mükemmel darbe var mı?
- 9. C# mevcut bir foreach oneliner var mı?
- 10. Var olan herhangi bir .NET OpenID Sağlayıcısı örnek kodunun farkında olan var mı?
- 11. Herhangi bir İşleme programı profiler var mı?
- 12. Android'de fragmanlar ile roboguice kullanarak herhangi bir basit örnek?
- 13. Eclipse Helios için mevcut herhangi bir Resim Düzenleyici var
- 14. Herhangi Bir Resim Düzenleme SDK Mevcut Android için Mevcut
- 15. Parametreler için bir Zend URL'si nasıl ayrıştırılır?
- 16. Mevcut eksenlerden tek bir arsa kaldırmanın bir yolu var mı?
- 17. Örnek bir örnek olmadan genel bir örnek üretmek için scalada bir yol var mı?
- 18. Python CGI kullanarak "istek gövdesi" nasıl ayrıştırılır?
- 19. iOS'ta Android'in herhangi bir karşılığı var mı?
- 20. Moodle için herhangi bir API var mı?
- 21. Herhangi bir ücretsiz php tarayıcı var mı?
- 22. "Vurgulu" kodun herhangi bir yolu var mı?
- 23. Herhangi bir guava genel görünümü var mı?
- 24. Herhangi bir ccTalk kütüphanesi var mı?
- 25. Herhangi bir Clojure DSL var mı?
- 26. Herhangi bir FACEBOX alt türü var mı?
- 27. Herhangi bir standart silme functor var mı?
- 28. Herhangi bir GMP logaritma fonksiyonu var mı?
- 29. Tomcat'e herhangi bir IIS eşdeğeri var mı?
- 30. Herhangi bir IPMI simülatörü var mı?