Posts mit dem Label Elastic Search werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Elastic Search werden angezeigt. Alle Posts anzeigen

Montag, 8. Juni 2015

Json Processing in der BASH mit JQ

JSON ist nicht das schönste Datenformat, so gibt es keine Kommentare in JSON. Aber zur Zeit braucht man JSON es an vielen Stellen, z.B. um Elastic Search Abfragen zu stellen bzw. die Elastic Search Results auszuwerten. Wer mit der Bash arbeitet wird JQ als Anfragewerkzeug zu schätzen wissen. Ein immer wieder auftauchendes Problem sind Keys in JSON, die böse Zeichen enthalten wie / oder - (Slash, Minus) die bei Abfragen via JQ escaped werden müssen.

jq .hits.hits[3]._source.http-rc result2.0.json 
error: rc is not defined

.hits.hits[3]._source.http-rc                           1 compile error

So geht es richtig:

jq '.hits.hits[3]._source["http-rc"]' result2.0.json 
"200"


Was lernen wir daraus? Bezeichner, Keys, Namen im Camel Case setzen! Das spart viel Zeit, bei deinen Kollegen.

Hier als Ergänzung der Link zu Googles JSON Style Guide: http://google-styleguide.googlecode.com/svn/trunk/jsoncstyleguide.xml#Property_Name_Format

Sonntag, 1. Februar 2015

Splunk Alternativen

Wenn es heute um professionelle Big Data Lösungen oder Log File Analysen geht, dann ist die häufigste Antwort Splunk. Sprung ist wirklich eine gute Softwarelösung, skaliert gut und lässt sich sogar auf dem Laptop installieren. Für viele Anwender sind die Lizenzkosten der Hauptnachteil von Splunk. Deshalb schauen sich viel Unternehmen nach FOSS (Free and Open Source Software) Alternativen um. Je nach Anwendungsfall bieten sich zwei ähnliche Verfolger an, Elastic Search mit Kibana oder Graylog2. Graylog2 ist eine Java-Anwendung, Kibana ist JavaScript. Beide sind ein Elastic Search Frontend, Graylog2 geht aber noch darüber hinaus und bietet weitere Management-Funktionen bzw. ein Monitoring an.

Im Alltag sind sowohl Kibana als auch Graylog2 gut einsetzbar, man merkt ihnen aber noch deutlich ihr junges Alter an. Es gibt immer Dinge die fehlen. Keines der beiden Systeme kommt an den Funktionsumfang, die Benutzbarkeit oder die Robustheit von Splunk heran. Man muss klar sagen,  das Splunk zur Zeit mehrere Jahre Technologievorsprung hat gegenüber den beiden Verfolgern Kabine und Graylog2. Um den Technologiestack im Analysebereich abzurunden, sollte man noch R oder ggf. Python hinzuziehen. Alle Systeme nehmen Anfragen via REST-API entgegen. Leider liefert Elastic Search (Kibana, Graylog2) nur Daten als JSON. JSON ist wie XML für schnelle Datenanalysen nicht optimal geeignet und muss umgewandelt werden z.B. CSV.

Man kann Big Data Lösungen natürlich auch mit einem ganz anderen Softwarestack umsetzen, z.B. mit konventionellen relationalen Datenbanken und oder Filesystemen.

Mittwoch, 7. Januar 2015

Heisseste IT Thema 2014

Das heisseste IT Thema 2014 war hier im Blog: Elastic Search. Dies ist nicht allzu erstaunlich, bei der geringen Menge an Beiträgen, aber es zeigt auch klar, dass Elastic Search, die Alternativen und Big Data in die breite IT Masse einsickern und in den nächsten Jahren zu einem Standardthema werden.

Dienstag, 9. September 2014

Elastic Search Date und Timestamp

In Elastic Search kann man das Datum auf sehr verschiedene Weisen angeben:
"range": {
                    "@timestamp": {
                        "gte": "2014-09-08T09:00" ,
                        "lte": "2014-09-08T10:00"

                    }}

oder:

"range": {
                    "@timestamp": {
                      "from": 1410167281557,
                      "to": 1410170881557
}}
 

From und To sind Parameter zur Angabe des Time Ranges, sie sollen nicht mehr benutzt werden, weil sie deprecated sind. Sie sind durch GTE und LTE zur ersetzen, nicht durch GT oder LT.

Die Werte der From und des To Feldes sind Epoch-Werte in msec. Diese kann man unter Mac OS X im Terminal wie folgt erzeugen:

date -j -f "%Y-%m-%d %H-%M-%S" "2015-06-08 05-30-00" "+%s000"