Eine Reise in Richtung Graylog – Webinar Serie

Nachdem die Sommerpause mit unseren Webinaren wieder vorbei ist, wollen wir gleich richtig durchstarten! Diesmal befassen wir uns mit einer Webinar-Serie rund um die Lösung Graylog, welche wir gemeinsam mit den Kollegen von Graylog durchführen.
Ziel ist es, vor allem die Möglichkeiten und die einfache Installation/Konfiguration aufzuzeigen und einen gesamten Überblick zu gewährleisten.

Starten werden wir daher direkt am 04. September um 10:30 Uhr mit dem ersten Teil “Graylog: Aufbau einer Log-Managament Umgebung“. Eine Anmeldung ist hier möglich.

Selbstverständlich haben wir die nächsten Teile bereits eingeplant – eine Übersicht findet sich in unserem Webinar-Kalender, oder ihr lest einfach weiter:

Wer darüber hinaus noch an unseren OpenStack Webinaren oder an unserer Cloud interessiert ist, der wird in diesem Jahr ebenfalls noch etwas geboten bekommen:

Wie üblich werden alle Webinare aufgezeichnet und auf unserem YouTube Channel veröffentlicht. Wir freuen uns auf eure Teilnahme und sind natürlich auch für Themen-Vorschläge offen!

Christian Stein
Christian Stein
Lead Senior Account Manager

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Senior Sales Engineer 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".

NETWAYS stellt sich vor – Loei Petrus Marogi

Name: Loei Petrus Marogi
Alter:
18
Position bei NETWAYS:
Junior Developer

Ausbildung: Fachinformatiker, Richtung Anwendungsentwicklung
Bei NETWAYS seit: September 2018

 

 

 

Wie bist du zu NETWAYS gekommen und was genau gehört zu Deinem Aufgabenbereich?

Ich habe mich wie jeder andere auch bei Netways beworben, wurde zum Vorstellungsgespräch eingeladen und man hat mir die Frage gestellt, ob ich ein Praktikum machen würde. Da habe ich natürlich zugestimmt und habe am Praktikumsende eine Zusage bekommen. Ich arbeite hauptsächlich an Web 2 sowie auch an kleineren Projekten wie an dem SMS Braintower oder an einer Tinkerforge Station.

Was macht Dir an Deiner Arbeit am meisten Spaß?

Es gab seit Ausbildungsbeginn viele kleinere Aufgaben in Icinga Web 2, von denen ich lernen konnte. Was mir auch Spaß macht, ist hier die Atmosphäre, Menschlichkeit und die Abwechslung zwischen Berufsschule, Schulungen, Projekte und mehr.

Welche größeren, besonders interessanten Projekte stehen künftig an?

Momentan sind wir drei Azubis Niko, Henrik und ich dabei im Reporting Modul die PDF’s konfigurierbar und schöner ausschauen zu lassen. Wenige Tage später werden Niko und ich unser erstes Kundenprojekt beginnen. Wir sind gespannt wie es werden wird.

Was machst Du, wenn Du mal nicht bei NETWAYS bist?

  • Auf Youtube neue Videos anschauen
  • Ins Fitnessstudio gehen
  • Lesen

Wie geht es in Zukunft bei Dir weiter?

Erstmal möchte ich die Ausbildung so gut wie möglich abschließen. Zudem versuche ich weniger am Handy rum zu hocken.

Loei Petrus Marogi
Loei Petrus Marogi
Junior Developer

Loei ist Fachinformatik-Azubi im ersten Lehrjahr und lernt momentan unseren Toolstack kennen. Nach der Linux-Schulung freut er sich besonders aufs Programmieren. Wenn er mal nicht bei NETWAYS ist, spielt er Fußball im Verein oder geht ins Fitnessstudio.

Monitor das Monitoring_by_ssh

Quelle: https://medium.com/

Hellow,

heute möchte ich euch zeigen, wie man schnell und einfach mit Icinga 2 seine bestehende Icinga 2 Infrastruktur monitoren kann.

Jeder der sich damit schon mal befasst hat, wird schnell zu dem Ergebnis kommen: “Hey warte mal den Master kann ich ja nicht auf den anderen Master drauf packen.”, falls nicht, ist das die Tatsache. Zitat “Henne-Ei-Problem”.

Die Lösung dieses Problems ist allerding recht simpel. Nachdem wir den jeweiligen Icinga 2 Core nicht heranziehen können, machen wir ganz einfach gebrauch von check_by_ssh. Somit können wir völlig unabhängig der Icinga 2 Infrastruktur entlang unsere Monitoring Instanzen monitoren.

Hierfür verwende ich zwei Vagrant Boxen die aus einer aktuellen CentOS 7 und Icinga 2 Installation besteht. Box #1 ist der Icinga 2 Core und Box #2 der “Monitor the Monitoring”.

Auf der Box #1 muss zunächst ein Benutzer angelegt werden:

# Benutzer icinga hinzufügen
useradd -m icinga

# Temporäres Kennwort vergeben
passwd icinga

Auf der Box #2 müssen vorbereitend folgende Schritte ausgeführt werden:

# Shell für den icinga Benutzer aktivieren:
usermod --shell /bin/bash icinga

# SSH-Key für den icinga Benutzer erzeugen.
ssh-keygen -b 4096 -t rsa -C "icinga@$(hostname) user for check_by_ssh" -f $HOME/.ssh/id_rsa

# SSH-Key auf die Box #1 kopieren
ssh-copy-id -i $HOME/.ssh/id_rsa icinga@master1.int.mbp.local

# Anschließend prüfen ob das ganze geklappt hat
ssh -i $HOME/.ssh/id_rsa icinga@master1.int.mbp.local

Nun haben wir sämtliche Vorbereitungen abgeschlossen, nur noch eben aufräumen:

# Auf der Box #1 wird die Passwortanmeldung des icinga Benutzers deaktiviert
passwd -l icinga
# Auf der Box #2 wird die Shell des icinga Benutzers wieder in den Default Zustand gebracht
usermod -s /sbin/nologin icinga

Das Ziel liegt nun nicht mehr all zu fern, wir begeben uns auf Box #2 und erzeugen Icinga 2 Konfiguration:

# Man legt zwei Verzeichnisse unter "/etc/icinga2/zones.d" an
mkdir -pv /etc/icinga2/zones.d/{global-templates,master}

# Wechseln in das "global-templates" Verzeichnis und kopieren von Github die Check-Commands für check_by_ssh
cd /etc/icinga2/zones.d/global-templates
wget https://raw.githubusercontent.com/lbetz/icinga-commands/master/commands-ssh.conf

# Nun wechseln wir in das "master" Verzeichnis und legen dort ein Konfiguration für die Box #1 an
cd /etc/icinga2/zones.d/master
touch master1.int.mbp.local.conf

# Folgende Konfiguration enthält das Host Objekt "master1"

object Host "master1.int.mbp.local" {
    check_interval = 300
    retry_interval = 60
    max_check_attempts = 3

    check_command = "hostalive"

    display_name = "master1"
    address = "127.28.128.11"
}

object Service "LIN load" {
    check_interval = 300
    retry_interval = 60
    max_check_attempts = 3

    check_command = "by_ssh_load"

    host_name = "master1.int.mbp.local"
}

object Service "LIN disk" {
    check_interval = 300
    retry_interval = 60
    max_check_attempts = 3

    check_command = "by_ssh_disk"

    host_name = "master1.int.mbp.local"
}

object Service "LIN swap" {
    check_interval = 300
    retry_interval = 60
    max_check_attempts = 3

    check_command = "by_ssh_swap"

    host_name = "master1.int.mbp.local"
}

object Service "LIN time" {
    check_interval = 300
    retry_interval = 60
    max_check_attempts = 3

    check_command = "by_ssh_ntp_time"

    host_name = "master1.int.mbp.local"
}

object Service "LIN proc icinga" {
    check_interval = 300
    retry_interval = 60
    max_check_attempts = 3

    check_command = "by_ssh_procs"

    host_name = "master1.int.mbp.local"

    vars.by_ssh_arguments = {
        "-u" = "$procs_user$"
        "-w" = "$procs_warning$"
        "-c" = "$procs_critical$"
    }
    vars.procs_user = "icinga"
    vars.procs_warning = "250"
    vars.procs_critical = "0:300"
}

object Service "LIN proc mysql" {
    check_interval = 300
    retry_interval = 60
    max_check_attempts = 3

    check_command = "by_ssh_procs"

    host_name = "master1.int.mbp.local"

    vars.by_ssh_arguments = {
        "-u" = "$procs_user$"
        "-c" = "$procs_critical$"
    }
    vars.procs_user = "mysql"
    vars.procs_critical = "0:1"
}

object Service "LIN port 5665" {
    check_interval = 300
    retry_interval = 60
    max_check_attempts = 3

    check_command = "tcp"

    host_name = "master1.int.mbp.local"

    vars.tcp_port = "5665"
}

# Anschließend Konfiguration Prüfen und den Icinga 2 Core neustarten
icinga2 daemon -C
systemctl restart icinga2

Nun dauert es einen Moment und dann sollten sämtliche Werte und Dienste des Icinga 2 Masters überwacht werden.

Damit verabschiede ich mich auch schon wieder und wünsche wie immer Spass beim basteln!

P.S.: Wem das noch nicht genüge sollte, dem kann ich noch das check_mysql_health in Kombination mit der Icinga 2 IDO auf dem Weg geben.

Max Deparade
Max Deparade
Consultant

Max ist seit Januar als Consultant bei NETWAYS und unterstützt tatkräftig unser Professional Services Team. Zuvor hat er seine Ausbildung zum Fachinformatiker für Systemintegration bei der Stadtverwaltung in Regensburg erfolgreich absolviert. Danach hat der gebürtige Schwabe, der einen Teil seiner Zeit auch in der Oberpfalz aufgewachsen ist ein halbes Jahr bei einem Managed Hosting Provider in Regensburg gearbeitet, ehe es ihn zu NETWAYS verschlagen hat. In seiner Freizeit genießt Max vor allem die Ruhe, wenn...

NETWAYS stellt sich vor – Alexander Stoll

Name: Alexander Stoll
Alter:
22
Position bei NETWAYS:
Junior Consultant

Ausbildung: Fachinformatiker, Richtung System-Integration
Bei NETWAYS seit: September 2018

 

 

 

Wie bist du zu NETWAYS gekommen und was genau gehört zu Deinem Aufgabenbereich?

Nun ja, ich habe mich bei NETWAYS beworben und wurde genommen. Was ich genau mache? Ein bisschen von allem. Neben Berufsschule und diversen Schulungen aus unserem Portfolio, eben die ein oder anderen Projekte, damit man herausfindet was einem liegt.

Das geht von Umzügen bis Elastic Search zur näheren Betrachtung von Tools, wie Landscape. Derzeit bau ich unter der Leitung von Christian zusammen mit Niko, einem Azubi-Kollegen aus der Entwicklung, das Icinga-Module für Windows neu. Es steht immer etwas anderes an, bis man ganz genau weiß was man machen möchte. Für jetzt kann ich sagen das ich Puppet ganz cool finde.

Was macht Dir an Deiner Arbeit am meisten Spaß?

Die Arbeit macht mir überhaupt Spaß, ohne irgendetwas Spezielles rauszupicken. Natürlich gibt es Tage, an denen man frustriert ist, wenn man etwas nicht auf die Reihe bekommt. Aber daran hat ja die Arbeit keine Schuld, sondern die Tagesverfassung.

Ansonsten genieße ich die Abwechslung, die mir geboten wird, noch sehr: Schulung, Berufsschule, Projekte. Später fällt die Berufsschule weg, aber dafür kommen Kundentermine hinzu und ich freu mich schon auf die Reisen, die damit einhergehen.

Welche größeren, besonders interessanten Projekte stehen künftig an?

In wenigen Wochen wird es Zeit für das jährliche Azubi-Projekt, bei dem alle Azubis gemeinsam ein Projekt ihrer Wahl umsetzen, darauf bin ich ganz schön gespannt.

(Anm.: Alexander hat die Fragen vor der Azubiprojektwoche beantwortet. Wie das Projekt gelaufen ist, erfahrt ihr hier.)

Was machst Du, wenn Du mal nicht bei NETWAYS bist?

  • Serien & Filme schauen
  • Online-Spiele spielen
  • Freunde treffen

Wie geht es in Zukunft bei Dir weiter?

Beruflich? Erstmal die Ausbildung zum Fachinformatiker fertig machen und weiter hab ich mir noch keine Gedanken gemacht. Ich sehe meine berufliche Zukunft auch bei NETWAYS. Und wer den Hashtag schon das ein oder andere Mal ausgecheckt hat, der weiß, dass das hier ein cooler Haufen ist, von dem man nicht weg will!

Alexander Stoll
Alexander Stoll
Junior Consultant

Alexander ist ein Organisationstalent und außerdem seit Kurzem Azubi im Professional Services. Wenn er nicht bei NETWAYS ist, sieht sein Tagesablauf so aus: Montag, Dienstag, Mittwoch Sport - Donnerstag Pen and Paper und ein Wochenende ohne Pläne. Den Sportteil lässt er gern auch mal ausfallen.

Migration von GitLab mit Upgrade auf EE

Wer GitLab CE produktiv im Einsatz hat und mit den zusätzlichen Features der EE Version liebäugelt, der wird sich beim Umstieg zwangsläufig mit den Migrationsschritten auseinandersetzen, sofern der GitLab Server nicht von einem Hoster betreut wird. In diesem Post zeige ich, wie der Wechsel inklusive Migration auf einen anderen Server gelingen kann und beziehe mich dabei auf die Omnibus Version basierend auf Ubuntu 18.04. Der Ablauf ist gar nicht so kompliziert. Bügelt man die EE-Version einfach über die aktuelle CE Version, dann hat man nur zwei Schritte zu beachten. Wenn man allerdings einen EE Server parallel hochzieht, um dann auf diesen zu migrieren, so kommen ein paar mehr Schritte hinzu.
Deshalb zeige ich im Folgenden wie man per Backup und Restore auch zum Ziel kommt. Die ersten Schritte sind ziemlich identisch mit dem, was GitLab vorgibt.

  1. Zuerst erstellt man sich ein Backup:
    gitlab-rake gitlab:backup:create STRATEGY=copy

    Einfach um sich den aktuellen Stand vor der Migration zu sichern.
    Hier kann nicht viel schief gehen. Man sollte aber darauf achten, dass genügend Speicherplatz unter /var/opt/gitlab/backups zur Verfügung steht. Es sollten mindestens noch zwei Drittel des Speicherplatzes frei sein. Das resultierende Tar-Archiv sollte man sich anschließend weg kopieren, da im weiteren Verlauf ein weitere Backup erstellt wird.

  2.  Nun führt man das Script von GitLab aus, das die apt-Sourcen hinzufügt und ein paar benötigte Pakete vorinstalliert:
    curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
  3. Jetzt checkt man noch kurz welche Versionsnummer von GitLab CE momentan installiert ist:
    dpkg -l |grep gitlab-ce
  4. Danach installiert man die GitLab EE Version. Dabei wird die CE Version gelöscht und eine Migration durchgeführt. Um den Versionsstand kompatibel zu halten, verwendet man die gleiche Versionsnummer wie aus dem vorherigen Schritt. Lediglich der teil ‘ce’ wird zu ‘ee’ abgeändert:
    apt-get update && sudo apt-get install gitlab-ee=12.1.6-ee.0
  5. Nun erstellt man erneut ein Backup:
    gitlab-rake gitlab:backup:create STRATEGY=copy
  6. Das neu erstellte Backup transferiert man einschließlich der Dateien /etc/gitlab/gitlab-secrets.json und /etc/gitlab/gitlab.rb auf den EE Server. Das lässt sich z.B. per scp bewerkstelligen:
    scp /var/opt/gitlab/backups/*ee_gitlab_backup.tar ziel-server:./
    scp /etc/gitlab/gitlab-secrets.json ziel-server:./
    scp /etc/gitlab/gitlab.rb ziel-server:./
  7. Auf dem Zielserver sollte man natürlich GitLab EE in der entsprechenden Version installieren. Hier hält man sich am besten an die offizielle Anleitung. Nicht vergessen bei der Installation die Versionsnummer anzugeben.
  8. Jetzt verschiebt man die Dateien die man per scp transferiert hat und setzt die Dateiberechtigungen:
    mv ~/*ee_gitlab_backup.tar /var/opt/gitlab/backups
    mv ~/gitlab-secrets.json ~/gitlab.rb /etc/gitlab/
    chown root:root /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab.rb
    chown git:git /var/opt/gitlab/backups/*ee_gitlab_backup.tar
  9. Dann startet man den Restore:
    gitlab-rake gitlab:backup:restore

    Man quittiert die einzelnen Abfragen mit ‘yes’. Hat sich die URL für den neuen EE Server geändert, dann sollte man das in der /etc/gitlab.rb anpassen. In diesem Fall sind auch Änderungen an den GitLab Runnern vorzunehmen. Es reicht dann allerdings wenn man auf dem jeweiligen Runner in der Datei config.toml die URL in der [[runners]] Sektion anpasst, da der Token gleich bleibt.

Troubleshooting:

Es ist allerdings auch möglich, dass es zu Problemen mit den Runnern kommt. Dies zeigt sich z.B. dadurch, dass der Runner in seinen Logs 500er-Fehler beim Verbindungsversuch zum GitLab meldet. In diesem Fall sollte man zuerst versuchen den Runner neu zu registrieren. Falls die Fehler bestehen bleiben, ist es möglich, dass diese durch einen CI-Job verursacht werden, der während der Migration noch lief. So war es zumindest bei mir der Fall. Mit Hilfe der Anleitung zum Troubleshooting und den Infos aus diesem Issue kam ich dann zum Ziel:

gitlab-rails dbconsole
UPDATE ci_builds SET token_encrypted = NULL WHERE status in ('created', 'pending');

Wenn man sich das alles sparen möchte, dann lohnt es sich einen Blick auf unsere GitLab Angebote der NETWAYS Web Services zu werfen.

Gabriel Hartmann
Gabriel Hartmann
Systems Engineer

Gabriel hat 2016 als Auszubildender Fachinformatiker für Systemintegrator bei NETWAYS angefangen und 2019 die Ausbildung abgeschlossen. Als Mitglied des Web Services Teams kümmert er sich seither um viele technische Themen, die mit den NETWAYS Web Services und der Weiterentwicklung der Plattform zu tun haben. Aber auch im Support engagiert er sich, um den Kunden von NWS bei Fragen und Problemen zur Seite zu stehen.

Monthly Snap July 2019

Summer has come to Nuremberg, and as July is typically the hottest month of the year, the NETWAYS gang is really happy to be in our new office with air conditioning! And our annual barbecue also always takes place in July, and now our office is much closer to the rooftop! All in all, a good month.

Lots of news from our Shop

Nicole kicked July off with her blog Produktankündigung: GUDE Expert Power Control 8031-Serie in which she presented upcoming products soon available in the NETWAYS shop.
She also informed us of a new software version for SMSEagle. SMSEagle veröffentlicht neue Geräte-Software
No idle time for Nicole, she had more news for us: now a simple SMS suffices to configure Ares remotely. HW group Ares – Konfiguration per SMS
Special offer on our NETWAYS monitor! Nicole let us know how to easily monitor temperature and humidity: NETWAYS Monitor Spezial-Angebot
Rekordtemperaturen – nicht im Rechenzentrum! How to keep the summer heat from your data centers? Nicole showed us various ways of monitoring them. Now the air conditioning must do the rest.

(Mental) health

See the world from Bernd`s point of view in his blog series Bernd hilft. This time: Bernd hilft – Das passt ja wie die Faust aufs Auge!
Breaks and holidays are important for the work- life- balance, as Blerim explained in Mach mal Pause! – „Just fit – Just awesome“, the newest addition to our health-related blog series.
Speaking of healthy! NETWAYS was well represented at this year`s Business to run! Andreas gave us some inside information on this 6,3k run on a very hot summer day. NETWAYS Running Squad beim B2Run

How to develop new developers?

Michael told his story about passing on knowledge. DEV stories: Icinga Core trainees in the making
Cleanup your Docker Environment Marius gave helpful tips for anyone using, and possibly having problems with, Docker

Upcoming events

What do the German Open Stack days have to offer? Das bieten die Deutschen OpenStack Tage Julia gave us an overview on the Event taking place in September.
Keya remembers, do you too? OSMC | Take a glance back… Make sure to get your ticket for this year`s OSMC, as usual it will take place in November in beautiful Nuremberg!

NETWAYS on tour!

Stefan humorously recapped the team Event of Sales, Finance & Administration and Events & Marketing in Fahrt ins Blaue – das Teamevent 2019. Enjoy the read!
At the same time the Dev retreat 2019 took place! Diana shared the highlights with us.

Well, technically…

Elastic Stack viel neues, aber sicher! Daniel took a look at the new Elastic Stack releases.
If it is Foreman-related, ask Dirk! This time he shared his knowledge on automation with Foreman: Automatisierte Updates mit Foreman Distributed Lock Manager
How to create self- sign certificates for internal uses? And what exactly is a certificate? Lennart helped us out in Selbstsignierte Zertifikate oder semantische Korinthen in der IT

Johannes taught us how to get RaspberryPI notifications on the Telegram app Temperatur und Feuchtigkeit in Telegram vom RaspberryPI
And Tim? He showed his sense of humour in his detailed guide to migrating a server. Lessons learned – how not to make beginner’s mistakes: Migrating server
How do we delete server safely? Tobias shared his experience on the NETWAYS way: Server löschen mit Darik´s Boot and Nuke

 

Catharina Celikel
Catharina Celikel
Office Manager

Catharina unterstützt seit März 2016 unsere Abteilung Finance & Administration. Die gebürtige Norwegerin ist Fremdsprachenkorrespondentin für Englisch. Als Office Manager kümmert sie sich deshalb nicht nur um das Tagesgeschäft sondern übernimmt nebenbei zusätzlich einen Großteil der Übersetzungen. Privat ist der bekennende Bücherwurm am liebsten mit dem Fahrrad unterwegs.