OSMC 2015: Der Countdown läuft – nur noch 105 Tage

Rene Koch erklärt uns heute, zur Vorbereitung auf die kommende OSMC, wie “Business Prozessmonitoring mit BPView” funktioniert.

OSMC? Was soll das denn sein und wer sind die netten Menschen in diesen Videos? Die Open Source Monitoring Conference (kurz: OSMC) ist die internationale Plattform für alle an Open Source Monitoring Lösungen Interessierten, speziell Nagios und Icinga. Jedes Jahr gibt es hier die Möglichkeit sein Wissen über freie Monitoringsysteme zu erweitern und sich mit anderen Anwendern auszutauschen. Die Konferenz richtet sich besonders an IT-Verantwortliche aus den Bereichen System- und Netzwerkadministration, Entwicklung und IT-Management. Und die netten Menschen, die Ihr in unseren Videos zur OSMC seht, gehören dazu. 2015 wird die OSMC zum 10. Mal in Nürnberg stattfinden.

Bernd Erk

Autor: Bernd Erk

Bernd ist einer der Geschäftsführer der NETWAYS Gruppe und verantwortet das Tagesgeschäft. Da er in einem früheren Leben mit Java und Oracle Datenbanken gearbeitet hat, kümmert er sich immer noch gerne um das Thema Reporting - sowohl bei NETWAYS, als auch im Icinga Team. In seiner knappen Freizeit streitet er sich mit seinem Sohn, wer das iPad gerade benutzen darf und widmet sich der Weiterverbreitung der gehobenen fränkischen Schaschlik-Kultur.

check_cache (is back)

check_cache_workflowEs gibt Dinge im Leben die einfach nicht tot zu kriegen sind. Deswegen haben wir, frei nach dem Motto “Totgesagte leben länger”, unser gutes altes check_cache etwas aufpoliert.

Für alle die sich nicht mehr an den ersten Blogpost erinnern können, check_cache ist Jahrgang 2009 (Südhang, spätlese) und funktioniert grob gesagt wie ein intelligentes check_by_ssh das beim Ausführen mehrere Checks gebündelt verarbeitet. Somit spart man sich in größeren Umgebungen ziemlich viele SSH-Sessions, was einem irgendwann von den Netzwerkern gedankt wird.

In der nun aktuellen Version 1.2.2 sind viele Bugfixes enthalten. In den Bereichen “XML Escaping” und “Exit Codes” wurde etwas mehr korrigiert.

check_cache steht auf exchange.icinga.org zum Download bereit.

Tobias Redel

Autor: Tobias Redel

Tobias hat nach seiner Ausbildung als Fachinformatiker bei der Deutschen Telekom bei T-Systems gearbeitet. Anfangs als Systemengineer für UNIX, später als Research & Development Engineer. Seit August 2008 ist er bei NETWAYS, wo er als Managing Consultant Kunden in Sachen Open Source und Monitoring unterstützt. Insgeheim arbeitet er jedoch an seiner dritten Millionen Euro (aus den ersten beiden ist nix geworden) und versucht die Weltherrschaft an sich zu reißen.

Host-only network with virtual CentOS 7 instances

There are a bunch of guides out there on how to create a virtualbox network to work with about every client distribution there is. This is another one, for CentOS 7. All you will need to do this is a text editor and a minimal CentOS 7 installation, no networkmanager, no ifconfig.

If you want your box to be able to connect to the internet you will first need to add a NAT adapter, which is the default so you probably won’t have to do anything.

Now to the hard part:

1. Create a Host-Only network

Create Host-Only network
You can ignore the ipv6 part. But you should use an ipv4 address and network mask that make sense. A /24 should do the job in most cases. Also make sure disable the DHCP Server

2. Add a Host-Only network adapter to your machine

add network

3. Configure the vbox network

The following commands are to be run from the box itself and assume a standard CentOS 7 installation.
First you need to know the name of your Host-Only interface.

# ip a 

The right interface is the one without an ipv4 address, in my case enp0s8.

Now you will need to create an ifcfg for that interface.

# vim /etc/sysconfig/network/scripts/ifcfg-enp0s8 
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.24.10"
NETMASK="255.255.255.0"
NAME="enp0s8"
DEVICE="enp0s8"
ONBOOT="yes"

Now just restart the network service

# systemctl restart network.service 

To check whether everything worked check ip a and try to ping the new ip from the host machine.

Jean-Marcel Flach

Autor: Jean-Marcel Flach

Auch wenn man Anderes vermuten möchte: Jean ist nicht unser französischer Austauschazubi, sondern waschechter Bamberger. Die Uni war ihm zu langweilig, deshalb knöpft er sich nun in seiner Ausbildung im Development gleich die kniffligsten Aufgaben vor. Mit seiner Vorliebe für Computerspiele und leidenschaftliche Diskussionen über Politik und Film ist er dort in guter Gesellschaft.

Einstein-Triathlon – wir waren dabei… oder zumindest würdig vertreten!

ULT15NM078000_0315 Ich heiße Stephan und bin Kunde bei NETWAYS – und ich bin Hobby-Triathlet. Leidenschaftlich, aber frei von allzuviel Talent – eher das, was man in der Triathlon-Szene liebevoll-abschätzig als “Bratwurst” bezeichnet.
Und warum genau tauchen diese Zeilen nun hier im NETWAYS-Blog auf? Weil für mich Triathlon und die Zusammenarbeit mit NETWAYS einige Gemeinsamkeiten haben. Beides macht mir sehr viel Freude, tut mir gut, lässt schöne Dinge entstehen und ermöglicht mir interessante Erfahrungen. Beides ist manchmal auch schwierig und anstrengend – und bei beiden weiß ich, dass es sich lohnt, diese seltenen Schwierigkeiten durchzustehen und gestärkt aus ihnen hervorzugehen.
Deshalb empfand ich es als naheliegend, das eine mit dem anderen zu verbinden. So startete ich am vergangenen Wochenende unter der Flagge von NETWAYS beim Einstein-Triathlon in Ulm über die sogenannte Kurzdistanz: 2,5 km Schwimmen flussabwärts in der Donau (was angeblich den für dieses Streckenformat üblichen 1,5 km in einem stehenden Gewässer entspricht), danach 40 km Fahrradfahren kreuz und quer durch die oberschwäbische Wildnis und ein abschließender 10-km-Lauf entlang der Donau.
Trotz meines eher mäßigen Trainingszustands (in Ausdauersportkreisen die Ausrede, die am häufigsten herhalten muss, dicht gefolgt von Materialproblemen jeder Art) hat mir dieser Wettkampf viel Freude bereitet, und so lief ich nach etwas mehr als drei Stunden gesund, glücklich und mit stolzgeschwellter „NETWAYS-Brust“ durch den Zielbogen im Ulmer Donaustadion.

Wer sich für die nackten Zahlen dieser freudvollen Schinderei interessiert, kann sie hier nachlesen – beim „Schirmer Olympic Triathlon“ gibt es genau einen Teilnehmer, der für das „Team NETWAYS“ gestartet ist. 😉

In diesem Sinne einen herzlichen Dank an das gesamte NETWAYS-Team – für das schicke Laufshirt, aber vor allem natürlich für die tolle Zusammenarbeit!

Euer Stephan
IT-Systemadministrator, Rinklin Naturkost GmbH
ULT15DP043000_0521

Christian Stein

Autor: Christian Stein

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Account Manager und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

OSQuery Systeminfos in Sql

logo-big

Echo “Hallo Welt!”;

Ich habe ein bisschen in Github gestöbert und habe Folgendes ausgegraben.
OSQuery ist ein schickes Projekt der Firma “Facebook”, welches zum Zweck ihrer eigenen Systemüberwachnung entstanden ist.

Es bildet Systeminformationen in einer schnellen SQLite- bzw. Postgresdatenbank ab.
Nach der Installation als Package osquery-1.5.1.pkg kann man direkt loslegen.

In der Bash kann man mit dem Aufruf von “osqueryi” die interaktive Query Shell starten.
Hier eröffnet einem die interne Hilfe mehr Information zu dem was hier möglich ist.

osquery> .help
Welcome to the osquery shell. Please explore your OS!
You are connected to a transient 'in-memory' virtual database.

.all [TABLE]       Select all from a table
.bail ON|OFF       Stop after hitting an error; default OFF
.echo ON|OFF       Turn command echo on or off
.exit              Exit this program
.header(s) ON|OFF  Turn display of headers on or off
.help              Show this message
.mode MODE         Set output mode where MODE is one of:
                     csv      Comma-separated values
                     column   Left-aligned columns.  (See .width)
                     line     One value per line
                     list     Values delimited by .separator string
                     pretty   Pretty printed SQL results
.nullvalue STR     Use STRING in place of NULL values
.print STR...      Print literal STRING
.quit              Exit this program
.schema [TABLE]    Show the CREATE statements
.separator STR     Change separator used by output mode and .import
.show              Show the current values for various settings
.tables [TABLE]    List names of tables
.trace FILE|off    Output each SQL statement as it is run
.width [NUM1]+     Set column widths for "column" mode
.timer ON|OFF      Turn the CPU timer measurement on or off
osquery>

Wir sind mal neugierig und schiessen auf der osquery Shell das folgende Kommando ab:

osquery> .tables

..
  => os_version
  => osquery_extensions
  => osquery_flags
  => osquery_info
  => osquery_packs
  => osquery_registry
  => osquery_schedule
  => package_bom
  => package_receipts
  => passwd_changes
  => pci_devices
  => preferences
  => process_envs
  => process_events
  => process_memory_map
  => process_open_files
  => process_open_sockets
  => processes
  => routes
  => safari_extensions
  => sandboxes
  => shell_history
  => smbios_tables
  => startup_items
  => suid_bin
  => system_controls
  => time
..

Was wir hier erhalten, sind die Systemfakten welche automatisch im Hintergrund in festgelegten Intervallen abgefragt werden.

Beispiel 1)
Fragen wir zum Test die ‘os_version’ ab.
Dies tun wir folgendermaßen:

osquery> select * from os_version;
+----------+-------+-------+-------+-------+
| name     | major | minor | patch | build |
+----------+-------+-------+-------+-------+
| Mac OS X | 10    | 10    | 4     | 14E46 |
+----------+-------+-------+-------+-------+

Dies ist ein Beispiel für ein einfaches Abfragestatement. (Wenn wir wissen wollen welche OS-Version unsere Rechnerflotte hat.)

Beispiel 2)
Ein Komplexeres Beispiel in SQL:

osquery> select distinct process.name, listening.port, listening.address, process.pid FROM processes AS process JOIN listening_ports AS listening ON process.pid = listening.pid;
+----------------+-------+---------+-----+
| name           | port  | address | pid |
+----------------+-------+---------+-----+
| UserEventAgent | 0     | 0.0.0.0 | 251 |
| UserEventAgent | 0     |         | 251 |
| Adium          | 55648 | 0.0.0.0 | 261 |
| SystemUIServer | 59036 | 0.0.0.0 | 265 |
+----------------+-------+---------+-----+

Dies wird alles mit durch OSQuery in festgelegten Intervalle in das Logfile überführt.
Es liegt in unserem Beispielsystem unter

/var/log/osquery.log

und kann mit einer geeigneten Software wie Icinga & Logstash weiter ausgewertet werden.

Nun noch der knifflige Teil des Setups: Ich habe kurz angerissen, wie die SQL Syntax von OSQuery funktioniert und angedeutet, wie flexibel das Ganze ist.
Die unbeantwortete Frage ist allerdings, wie ich meine eigenen Checks in einem Interval definiere.

Dies erfolgt bei OSQuery über eine simple ‘.conf’-Datei. In diesem Beispiel liegt diese unter /var/osquery/osquery.conf.

In der osquery.conf wird beispielsweise ein Check mit der folgenden Syntax erstellt:

.. excerpt

 "schedule": {
        "info": {
        "query": "select * from startup_items"
        "interval": 3600
        }
 }

../excerpt

Fazit:
Aufgrund der simplen Abfragestatements und den kleinen Footprint durch eine SQLite Datenbank kann man im Hintergrund auf Linux & OS X Clients/Servern einen Faktencheck durchführen und durch andere Tools “in der Ferne” auswerten lassen.

Kurzum, man bekommt ein mächtiges Werkzeug für Devops und Systemadministratoren, welches an die meisten Umgebungen angepasst werden kann.

Bis zum nächsten Post!

David Okon

Autor: David Okon

Weltenbummler David hat aus Berlin fast den direkten Weg zu uns nach Nürnberg genommen. Bevor er hier anheuerte, gab es einen kleinen Schlenker nach Irland, England, Frankreich und in die Niederlande. Alles nur, damit er sein Know How als IHK Geprüfter DOSenöffner so sehr vertiefen konnte, dass er vom Apple Consultant den Sprung in unser Managed Service-Team wagen konnte. Er ist stolzer Papa eines Sohnemanns und bei uns mit der Mission unterwegs, unsere Kunden zu glücklichen Menschen zu machen.