Seite wählen

Sflow Traffic mit Elasticsearch

von | Mrz 25, 2014 | Linux, Web Services, Monitoring & Observability, Development, Network, Elastic Stack

Das Webinterface zu Elasticsearch „Kibana“ wurde vor kurzem in der Version 3.0.0. GA released auch Elasticsearch selbst steht im neuen Glanz mit vielen neuen und nützlichen Features. Viele kennen bereits diese zwei Komponenten vermutlich unter anderem durch den Einsatz von Logstash. Dass man diese zwei Komponenten auch ohne Logstash für diverse Anwendungsfälle gut verwenden kann steht außer Frage.
Wir entwickeln aktuell an einer Ruby-Anwendung, die Sflow Daten empfängt, verarbeitet und an Elasticsearch sendet bzw. dort ablegt. Mit dem Kibana Webinterface lassen sich dann leicht Graphen über die gesammelten Daten auswerten und darstellen. Sflow ist ein Netzwerkprotokoll, dass u.a. Stichproben aus dem fließenden Traffic pickt und diese dann als sogenannte Samples an einen Collector sendet. Die Liste der Collectoren ist lang besteht allerdings meist aus kommerziellen closed-source Produkten.
Generell lassen sich daraus Informationen aufbereiten und ableiten, die zum Beispiel die Top 10 der IP-Adressen auf einem Switch, die den meisten Traffic verursachen oder VLANs die besonders viel Traffic verbrauchen und viele mehr.
Die Anwendung werden wir in den nächsten Wochen auf Github zur Verfügung stellen und in einem weiteren Blogpost darauf aufmerksam machen. Solange gibt es schon mal ein Sneak-Preview in Form von Screenshots 🙂
Bildschirmfoto 2014-03-25 um 14.46.24
Bildschirmfoto 2014-03-25 um 14.46.56

Sebastian Saemann
Sebastian Saemann
CEO Managed Services

Sebastian kam von einem großen deutschen Hostingprovider zu NETWAYS, weil ihm dort zu langweilig war. Bei uns kann er sich nun besser verwirklichen, denn er leitet das Managed Services Team. Wenn er nicht gerade Cloud-Komponenten patched, versucht er mit seinem Motorrad einen neuen Rundenrekord aufzustellen.

1 Kommentar

  1. sagiv

    hi
    i am searching for some one to assist me with a bug in the sflow
    maybe you can help
    i am running it and it fails on the undefined method `[]‘ for nil:NilClass
    {„agent_address“=>nil, „sampling_rate“=>512, „i_iface_value“=>2, „o_iface_value“=>0, „ipv4_src“=>“74.125.175.178“, „ipv4_dst“=>“194.190.118.142“, „frame_length“=>1418, „frame_length_multiplied“=>726016, „tcp_src_port“=>443, „tcp_dst_port“=>62481}
    undefined method `[]‘ for nil:NilClass
    /root/sflow/lib/sflow/snmp/iface_names.rb:33:in `mapswitchportname‘
    /root/sflow/lib/sflow/storage/storage.rb:24:in `send_udpjson‘
    /root/sflow/lib/sflow/collector.rb:26:in `block in receive_data‘
    /var/lib/gems/1.9.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:951:in `call‘
    /var/lib/gems/1.9.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:951:in `run_deferred_callbacks‘
    /var/lib/gems/1.9.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run_machine‘
    /var/lib/gems/1.9.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run‘
    /root/sflow/lib/sflow/collector.rb:56:in `start_collector‘
    ./bin/sflow.rb:7:in `‘
    this what i get from snmpwalk
    root@ubuntu:~/sflow# snmpwalk -v2c -c xxx 192.168.1.1 1.3.6.1.2.1.2.2.1.2
    iso.3.6.1.2.1.2.2.1.2.1 = STRING: „port1“
    iso.3.6.1.2.1.2.2.1.2.2 = STRING: „port2“
    iso.3.6.1.2.1.2.2.1.2.3 = STRING: „port3“
    thanks sagiv

    Antworten

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert