Ich habe versucht, Daten von IntelMQ
zu elasticsearch
5.0 mit logstash
über redis
übergeben.logstash: Versuchen, Sinn von Strings von IntelMQ in ElasticSearch übergeben
Eines der Probleme ist, dass ich in der elasticsearch
Seite diese Zeichenfolge in einem Feld mit der Bezeichnung message
erhalten.
{u'feed': u'openbl', u'reported_source_ip': u'115.79.215.79', u'source_cymru_cc': u'VN', u'source_time': u'2016-06-25T11:15:14+00:00', u'feed_url': u'http://www.openbl.org/lists/date_all.txt', u'taxonomy': u'Other', u'observation_time': u'2016-11-20T22:51:25', u'source_ip': u'115.79.215.79', u'source_registry': u'apnic', u'source_allocated': u'2008-07-17', u'source_bgp_prefix': u'115.79.192.0/19', u'type': u'blacklist', u'source_as_name': u'VIETEL-AS-AP Viettel Corporation, VN', u'source_asn':u'7552'}
Leider ist die besondere Gabel unserer CERT-Gemeinschaft ist in Python 2.7, basiert, und es gibt keinen Weg, um zu einer neuen Gabel Migration basierte in Python 3.0 zu erhalten leicht der Unicode-Markierungen vor den Saiten zu befreien.
Meine gegenwärtige logstash
Konfiguration ist wie folgt:
filter {
geoip {
source => "source_ip"
}
}
input {
redis {
host => "127.0.0.1"
key => "iscte-redis-queue"
data_type => "list"
codec => "json"
db => "2"
}
}
output {
elasticsearch { hosts => "127.0.0.1" }
}
Offensichtlich muss ich, dass filter
Richtlinie zu überarbeiten. Ich benutze zwar den kv logstash-Filter, aber das u-Zeichen macht diesen Ansatz unwirksam.
Wenn es nicht von der Unicode-Marke wäre, würde ich versuchen Sie dies:
filter {
kv {
source => "message"
field_split => ", "
trim => "\'"
}
}
Grok Regeln sind nicht ausgeschlossen, aber die Felder variieren, und mich zwingen würde, eine Regel zu jedem unterschiedlich zu schreiben Bot, basierend auf dem "Feed" -Feld.
Ich bin versucht, die IntelMQ-Quelle zu hacken, um diese Unicode-Markierung loszuwerden, jedoch tapeziere ich Ihre Meinungen, um zu sehen, ob es eine effektivere Möglichkeit gibt, die Verarbeitung dieser Daten zu verarbeiten.
Ich bin auch nicht ganz vertraut mit logstash
, wie man es vermeidet, einen Eintrag in Redis zu jedem neuen zu generieren, und alles in eine Nachricht zurückstellen, wo elasticsearch
wird alle verschiedenen Variablen kennen?
Haben Sie irgendwelche Vorschläge?
Wie wäre es mit 'mutieren/gsub' die' U' Zeichen durch einen leeren String zu ersetzen? – Val
Funktioniert es? Ich kann nicht alle "u" Zeichen loswerden. –
Können Sie Ihre aktualisierte Konfiguration anzeigen? – Val