pixel
Seite wählen

NETWAYS Blog

Neueste Beiträge

OSMC 2021: The Agenda is set!

OSMC 2021: The Agenda is set!

OSMC 2021 approaches more and more and we’re excited to announce that the conference program is now set. You can expect 2 days with a total of 30 lecture sessions by well-known open source experts. The 2021 edition o fthe event will sum up the current state of the art...

Neue Schulungsinhalte bei Icinga 2 Fundamentals

Neue Schulungsinhalte bei Icinga 2 Fundamentals

Für alle Icinga-Fans und solche, die es noch werden wollen, haben wir gute Neuigkeiten! Seit kurzem bieten wir aktualisierte Inhalte unserer beliebten Icinga 2 Fundamentals Schulung an. Wir haben unsere Schulungsunterlagen nicht nur angepasst und verbessert, sondern...

Icinga for Windows v1.6.0 – Einfacher. Zentraler. Sicherer.

Icinga for Windows v1.6.0 – Einfacher. Zentraler. Sicherer.

Die Kollegen von Icinga haben letzte Woche Icinga for Windows in Version v1.6.0 veröffentlicht. Auch wenn diese Version keine neuen Plugins für die Überwachung bietet, hat sich im Bereich des Icinga PowerShell Frameworks einiges getan. Dadurch ist die Lösung nicht nur...

Beratung & Technology

Icinga for Windows v1.6.0 – Einfacher. Zentraler. Sicherer.

Icinga for Windows v1.6.0 – Einfacher. Zentraler. Sicherer.

Die Kollegen von Icinga haben letzte Woche Icinga for Windows in Version v1.6.0 veröffentlicht. Auch wenn diese Version keine neuen Plugins für die Überwachung bietet, hat sich im Bereich des Icinga PowerShell Frameworks einiges getan. Dadurch ist die Lösung nicht nur...

Events & Trainings

Icinga for Windows v1.6.0 – Einfacher. Zentraler. Sicherer.

Icinga for Windows v1.6.0 – Einfacher. Zentraler. Sicherer.

Die Kollegen von Icinga haben letzte Woche Icinga for Windows in Version v1.6.0 veröffentlicht. Auch wenn diese Version keine neuen Plugins für die Überwachung bietet, hat sich im Bereich des Icinga PowerShell Frameworks einiges getan. Dadurch ist die Lösung nicht nur...

New Speakers + How To Join The Sold Out OSMC 2021

New Speakers + How To Join The Sold Out OSMC 2021

This year is a little different compared to the years before – also kind of in a good way. Why? Here you go: Something To Talk About New Speaker Alert! We’ve added a bunch of new, confirmed speakers + their talks to the list, and more get added regularly – yay! If...

Web Services

Hardware

NEU im Shop: GUDE Expert Power Sequencer 8112-Serie

NEU im Shop: GUDE Expert Power Sequencer 8112-Serie

Mit den Geräten der GUDE Expert Power Sequencer 8112-Serie steigert Ihr die Betriebssicherheit von 6 an die Lastausgänge angeschlossenen Verbraucher. Dies wird ermöglicht durch sequentielles Schalten der Lastausgänge. Dies bedeutet, dass durch eine automatische...

Firmware Update für AKCP sensorProbe2+ und sensorProbeX+

Firmware Update für AKCP sensorProbe2+ und sensorProbeX+

Am 5. August 2021 hat AKCP die neue Firmware Version spplus-1.0.5603_20210729.zip veröffentlicht. Die Firmware kann auf den sensorProbe2+ und sensorProbeX+ Geräten eingesetzt werden, die über F4 oder F7 Prozessoren verfügen. Das Change-Log mit den Inhalten des Updates...

NEU im Shop: GUDE Expert Power Sequencer 8112-Serie

NEU im Shop: GUDE Expert PDU Energy 8311-15/-16

Seit Kurzem haben wir im Shop die Stromleisten Expert PDU Energy 8311-15/-16 des Herstellers GUDE vertreten. Die beiden Stromleisten sind weitere Modelle der 8311-Serie und verfügen über eine andere Kombination an Lastausgängen. Daher hier die Fakten zu den Geräten,...

Unternehmen

Sommer bei NETWAYS

Sommer bei NETWAYS

Sommer im Büro heißt normalerweise warme, ruhige Tage mit gemeinsamen Mittagessen auf der Dachterrasse, nachmittags ein Eis oder drei, sowie das ein oder andere kühle Getränk am Freitag zum Feierabend hin. Und jetzt? Aus bekannten Gründen herrscht eine gähnende Leere...

Alle Beiträge

Better Late than never – Graphite-Web-Installation unter Debian 10 – Part 2

This entry is part 2 of 2 in the series Graphite-Web

Willkommen zum zweiten Teil des Blogposts zur Graphite-Web-Installation unter Debian 10.

Wir springen hier direkt an die Stelle, an der wir aufgehört haben, und editieren die storage-schemas.conf unter /etc/go-carbon/

In der Storage-Schemas liegt das default-storage Schema:
Dadurch dass wir Icinga 2 installiert haben und auch dort Graphen generieren möchten, nehmen wir das folgende Schema:

[icinga_internals]
pattern = ^icinga\..*\.(max_check_attempts|reachable|current_attempt|execution_time|latency|state|state_type)
retentions = 5m:7d
[icinga_default]
pattern = ^icinga\.
retentions = 1m:2d,5m:10d,30m:90d,360m:4y

Damit haben wir die Konfiguration vom go-carbon in diesem Beispiel abgeschlossen.

Der nächste Schritt ist nun Whisper selbst und Graphite-Web.
Da das Graphite-Web immer noch Python-lastig ist, müssen wir einen kleinen Schritt im Voraus machen.

Wir definieren die Pfade im Voraus:

export PYTHONPATH="/opt/graphite/lib/:/opt/graphite/webapp/"

Danach erfolgt der allseits beliebte und gefürchtete pip-Aufruf:

pip install --no-binary=:all: https://github.com/graphite-project/whisper/tarball/1.1.6
pip install --no-binary=:all: https://github.com/graphite-project/graphite-web/tarball/1.1.6

Nach der Installation der beiden Komponenten wechseln wir in das /opt/graphite/webapp/graphite Verzeichnis und kopieren die local_settings.py.example, damit wir eine local_settings.py Datei haben, um die Einstellungen zu verändern.

SECRET_KEY = 'Sollte_durch_eine_zufällige_Zeichenkette_ersetzt_werden'
ALLOWED_HOSTS = [ '*' ]  // Für den Testzweck belassen wir es bei dem Asterisk, es sollte aber in Produktivumgebungen ersetzt werden durch die Maschinen welche mit dem Graphite sprechen dürfen.
TIME_ZONE = 'America/Los Angeles' // Die Zeitzone ist selbsterklärend
WHISPER_DIR = '/var/lib/graphite/whisper' // Das Whisper Datei Verzeichnis wo unserer Whisper Dateien liegen

Kleiner Hinweis wegen der Random-Zeichenkette:

Diese kann man mit dem folgenden Kommando erzeugen, wenn man möchte:

openssl rand -base64 32

Nun müssen wir noch den Ordner für unsere Whisper-Dateien anlegen und berechtigen.

mkdir -pv /var/lib/graphite/whisper
chown -Rf carbon. /var/lib/graphite/whisper

Daraufhin kopieren wir das Graphite.wsgi File um, damit es verwendbar ist.

cp /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi

An dieser Stelle kommt nun die Konfiguration des Apache2. Wenn jemand eine nginx-Konfiguration braucht, bitte ich diese Personen, sich in der Community zu melden, damit wir auswerten können, wie viele Anfragen es gibt, um eine ‘Standard’-Konfig für die nächste Iteration dieses Blogposts zu erstellen. 🙂

Wir erstellen im Apache-Verzeichnis eine graphite-web-ssl.conf und befüllen diese mit dem folgenden Beispielinhalt. Dieser ist je nach Umgebung anzupassen.

cd /etc/apache2/sites-available/
vi graphite-web-ssl.conf

Inhalt der graphite-web-ssl.conf:

# Enable virtualhosts, perhaps by adding this to your server's config somewhere,
# probably the main httpd.conf
# NameVirtualHost *:443

# This line also needs to be in your server's config.
# LoadModule wsgi_module modules/mod_wsgi.so

# You need to manually edit this file to fit your needs.
# This configuration assumes the default installation prefix
# of /opt/graphite/, if you installed graphite somewhere else
# you will need to change all the occurrences of /opt/graphite/
# in this file to your chosen install location.

LoadModule wsgi_module modules/mod_wsgi.so

# XXX You need to set this up!
# Read http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGISocketPrefix
# For example, create a directory /var/run/wsgi and use that.
WSGISocketPrefix /var/run/apache2/wsgi

# Base Configuration
ServerName localhost.local
DocumentRoot "/opt/graphite/webapp"

# Log Configuration
ErrorLog /opt/graphite/storage/log/webapp/error.log
CustomLog /opt/graphite/storage/log/webapp/access.log common

# SSL Configuration
SSLEngine On
SSLCertificateFile /etc/pki/tls/private/certificate.crt
SSLCertificateKeyFile /etc/pki/tls/private/certificate.key
SSLCertificateChainFile /etc/pki/tls/private/certificate.pem

# Graphite Related Configuration
# I've found that an equal number of processes & threads tends
# to show the best performance for Graphite (ymmv).
WSGIDaemonProcess graphite processes=5 threads=5 display-name='%{GROUP}' inactivity-timeout=120
WSGIProcessGroup graphite
WSGIApplicationGroup %{GLOBAL}
WSGIImportScript /opt/graphite/conf/graphite.wsgi process-group=graphite application-group=%{GLOBAL}

# XXX You will need to create this file! There is a graphite.wsgi.example
# file in this directory that you can safely use, just copy it to graphite.wgsi
WSGIScriptAlias / /opt/graphite/conf/graphite.wsgi

# XXX To serve static files, either:
# * Install the whitenoise Python package (pip install whitenoise)
# * Collect static files in a directory by running:
# django-admin.py collectstatic --noinput --settings=graphite.settings
# And set an alias to serve static files with Apache:
Alias /static/ /opt/graphite/static/

########################
# URL-prefixed install #
########################
# If using URL_PREFIX in local_settings for URL-prefixed install (that is not located at "/"))
# your WSGIScriptAlias line should look like the following (e.g. URL_PREFX="/graphite"

# WSGIScriptAlias /graphite /srv/graphite-web/conf/graphite.wsgi/graphite
# Alias /graphite/static /opt/graphite/webapp/content
# <Location "/graphite/static/">
# SetHandler None
#

# XXX In order for the django admin site media to work you
# must change @DJANGO_ROOT@ to be the path to your django
# installation, which is probably something like:
# /usr/lib/python2.6/site-packages/django
Alias /media/ "@DJANGO_ROOT@/contrib/admin/media/"

# The graphite.wsgi file has to be accessible by apache. It won't
# be visible to clients because of the DocumentRoot though.

Order deny,allow
Allow from all

= 2.4>
Require all granted

Order deny,allow
Allow from all

= 2.4>
Require all granted

Abschließend überprüfen wir die Konfig mit

apachectl -t

Hier erreichen wir nun den spannenden Teil (Cliffhanger) der Graphite-Web-Installation, und wie zuletzt um den Spannungsbogen zu erhöhen,
bitte ich um etwas Geduld, da im finalen und letzten spannenden Teil dieser Serie wir Graphite-Web initialisieren werden.

Bis dahin mit einem Servus

David

David Okon
David Okon
Senior Systems Engineer

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 Professional Services-Team wagen konnte. Er ist stolzer Papa eines Sohnemanns und bei uns mit der Mission unterwegs, unsere Kunden zu...

OSMC 2021: The Agenda is set!

OSMC 2021 approaches more and more and we’re excited to announce that the conference program is now set. You can expect 2 days with a total of 30 lecture sessions by well-known open source experts. The 2021 edition o fthe event will sum up the current state of the art in open source monitoring and give you as a community member the chance to meet again since 2019. Doesn’t that sound great?

 

Get inspired…

… and check out these three folks to set the mood for OSMC!

 

PHILIPP KRENN – On the Bleeding Edge of Open Telemetry

Tracing and telemetry are popular topics right now, but the development is so quick that it also confuses:

Starting with OpenTracing, then W3C Trace-Context, and now OpenTelemetry there are plenty of standards, but what do or don’t they cover?

How do the Cloud Native Computing Foundation (CNCF) and its projects like Jaeger play into that.

Where is OpenTelemetry headed, and how can projects tie into it?

 

 

 

PETER ZAITSEV – Advanced MySQL optimization and roubleshooting using PMM 2

 

Optimizing MySQL performance and troubleshooting MySQL problems are two of the most critical and challenging tasks for MySQL DBA’s. The databases powering your applications need to be able to handle changing traffic workloads while remaining responsive and stable so that you can deliver an excellent user experience. Further, DBA’s are also expected to find cost-efficient means of solving these issues. In this presentation, we will demonstrate the advanced options of PMM version 2 that enables you to solve these challenges, which is built on free and open-source software.

 

 

 

TOBIAS BERDIN & STEPHAN SCHMIDT – Thola – A tool for monitoring and provisioning network devices

Thola is a new open source tool for reading, monitoring and provisioning network devices. We will inform about the current state of development as well as planned features, including reading out inventory, configuring network devices, support for other monitoring systems and many more. It serves as a unified interface for communication with network devices and features a check mode which complies with the monitoring plugins development guidelines.

 

 

Now it’s your turn

Besides seeing the exact date, time and topic of each presentation you also have the option to add your favourite talks to your personal calendar. This way you can be sure to receive a reminder for your most preferred presentations. So what are you waiting for? Have a look at our agenda and select your personal highlights!

 

Workshop & Hackathon

If you want to dive even deeper into open source monitoring just register for this year’s Icinga Workshop or participate in the inspiring OSMC Hackathon following the presentation program on November 11.

 

What OSMC is all about

The Open Source Monitoring Conference is the annual meeting of international monitoring experts where future trends and perspectives are set. It’s a three-day event that comprises two tracks of expert sessions. On top there’s a hackathon and a workshop on the 3rd conference day. Since the tickets for attending the lecture program are already sold out – due to Corona current restrictions – you still have the possibility to register for the waitinglist. Workshop and Hackathon are still bookable.

We’re looking forward to seeing you in person this autumn on November 9 to 11, in Nuremberg!

Katja Kotschenreuther
Katja Kotschenreuther
Online Marketing Manager

Katja ist seit Oktober 2020 Mitglied im Marketing-Team von NETWAYS. Nach ihrem Studium in Passau vollzog sie ihren Berufseinstieg im Bereich der Suchmaschinenoptimierung und möchte sich nun neben SEO auch anderen Online Marketing-Kanälen widmen. Neben Basteln und Malen, treibt sie in ihrer Freizeit gerne Sport und spielt Klavier und Gitarre.

Neue Schulungsinhalte bei Icinga 2 Fundamentals

Für alle Icinga-Fans und solche, die es noch werden wollen, haben wir gute Neuigkeiten! Seit kurzem bieten wir aktualisierte Inhalte unserer beliebten Icinga 2 Fundamentals Schulung an. Wir haben unsere Schulungsunterlagen nicht nur angepasst und verbessert, sondern auch erweitert.

 

Das ist neu

Im Gegensatz zu den vorherigen Schulungsinhalten liegt der Fokus nun deutlich stärker auf Icinga Director, dem Tool zur Pflege von Monitor-Umgebungen im Icinga 2-Umfeld. Viele Icinga 2 Konfigurationen werden jetzt auch anhand des Directors veranschaulicht.
Zudem wurden sämtliche Kapitel grundlegend überarbeitet und dem aktuellen Entwicklungsstand von Icinga angepasst.

 

Diese Inhalte erwarten Dich ab jetzt sofort

• Einführung in Monitoring & das Icinga Projekt
• Historische Entwicklung von Icinga
• Einführung in Icinga 2, Icinga Web 2 & Icinga Director
• Basiskonfiguration und Gruppierung von Hosts
• Arten von Check Plugins
• Benutzung von Check Commands
• Icinga for Windows
• Health Checks und Self-Monitoring
• Überwachung von Netzwerkgeräten
• Passive Checks und Check Freshness
• Monitoring von Business Prozessen
• Konfiguration von Benachrichtigungen und Eskalationen

Wirf gerne mal einen Blick auf unsere Icinga Schulung und schau dir alle weiteren Themen sowie detailliertere Informationen zur Schulung an.

 

Darum ist unsere Icinga Schulung so besonders

Praxisnah

Neben dem Bereich Schulungen sind unsere Trainer:innen auch noch regelmäßig in Software- und Kundenprojekten tätig. Sie wissen, worauf es ankommt und teilen ihr Wissen gerne mit Dir.

Individuell

Um einen effizienten Ablauf unserer Schulungen sicherzustellen, werden Gruppengrößen begrenzt. Für Deine Fragen bleibt immer Zeit. Du kannst Dich auf eine individuelle Betreuung freuen!

Kommunikativ

Der Austausch der Kursteilnehmer:innen ist uns sehr wichtig! Online stellen wir Euch Kanäle und Wege zur Verfügung, über die ihr Euch untereinander und mit Eurem Trainer austauschen könnt.

 

Die nächsten Termine

Nutze die Chance, einer der ersten Teilnehmenden unserer verbesserten Icinga Schulung zu sein und sichere Dir jetzt Dein Ticket.

21. – 24. September 2021 | Online
07. – 10. Dezember 2021 | Online

Katja Kotschenreuther
Katja Kotschenreuther
Online Marketing Manager

Katja ist seit Oktober 2020 Mitglied im Marketing-Team von NETWAYS. Nach ihrem Studium in Passau vollzog sie ihren Berufseinstieg im Bereich der Suchmaschinenoptimierung und möchte sich nun neben SEO auch anderen Online Marketing-Kanälen widmen. Neben Basteln und Malen, treibt sie in ihrer Freizeit gerne Sport und spielt Klavier und Gitarre.

Icinga for Windows v1.6.0 – Einfacher. Zentraler. Sicherer.

Die Kollegen von Icinga haben letzte Woche Icinga for Windows in Version v1.6.0 veröffentlicht. Auch wenn diese Version keine neuen Plugins für die Überwachung bietet, hat sich im Bereich des Icinga PowerShell Frameworks einiges getan. Dadurch ist die Lösung nicht nur einfacher zu verwenden, sondern auch noch zentraler verwaltbar und sicherer.

Dürfen wir vorstellen: Die IMC

Die IMC (Icinga Management Console) wurde im Rahmen vergangener Icinga for Windows als experimental eingeführt. Ziel war es, ein einfaches Management zu schaffen, um die meisten Funktionalitäten über eine UI abbilden zu können. Dadurch ist es nicht mehr notwendig, sich alle Befehle von Icinga for Windows zu merken oder diese zu kennen – sondern die Konfiguration erfolgt direkt darüber.

Im Zuge der Einführung der IMC, wurde ebenfalls ein neuer Setup Wizard generiert, welcher nicht nur einfacher und intuitiver ist als der alte, sondern auch noch über eine Hilfe verfügt, welche einem erklärt, welche Eingaben im jeweiligen Bereich notwendig sind und was diese bedeuten. Die Konfiguration ist hierbei im nicht-advanced Modus auf die absoluten Grundlagen beschränkt, um schnell ans Ziel zu kommen. Die restlichen Einstellungen im advanced Teil, können simpel eingesehen und geändert werden, wurden jedoch so ausgewählt, dass man in vielen Umgebungen auf eine Änderung sogar verzichten könnte.

Zentrale Verwaltung mit Repositories

Einer der großen Kritikpunkte an Icinga for Windows war die Komponenten Installation. Bisher musste jede Komponente einzeln heruntergeladen und mit einem Pfad bei der Installation hinterlegt werden. Mit Icinga for Windows v1.6.0 wurde nun ein Repository-Management hinzugefügt. Hierdurch können direkt entweder die offiziellen Repositories von Icinga for Windows auf packages.icinga.com angebunden werden oder ein eigenes, zentrales. Icinga for Windows bietet dabei die Möglichkeit, vorhandene Repositories zu synchronisieren, um diese in seiner lokalen Umgebung zu spiegeln. Dadurch kann die Installation von Systemen, welche nicht in das Internet können, deutlich vereinfacht werden. Ein Beispiel wäre hier, die offiziellen Icinga Repositories auf seinen Icinga 2 Master zu synchronisieren, um dort ein Repository für alle Systeme bereitzustellen.

Im Falle von DMZ Systemen kann das Repository wiederum von zentralen Icinga 2 Master auf Icinga Satellitensysteme synchronisiert oder aber auf zentrale File-Shares abgelegt werden, um von dort die Komponenten zu installieren. Für das Update von Repositories gibt es ebenfalls Kommandos, die eine Aktualisierung ermöglichen.

Der Vorteil des Repositories liegt darin, dass direkt die aktuellen Versionen der jeweiligen Komponenten installiert oder mit einem simplen Befehl die gesamte Umgebung aktualisiert werden kann. Sollte es aus bestimmen Gründen notwendig sein, kann die Version von einzelnen Komponenten auch gelockt werden. Das bedeutet, sofern eine ältere Version installiert ist, wird bis zur gelockten Version aktualisiert. Ist bereits die gelockte Version installiert und eine neue verfügbar, wird diese übersprungen.

Weitere Details hierzu gibt es direkt in der Icinga for Windows Repository Dokumentation.

Mehr Sicherheit durch JEA

JEA steht für Just-Enough-Administration und ist eine Lösung von Microsoft für PowerShell. Durch JEA können einzelne Benutzer, welche keine Administratoren sind, Befehle mit erhöhten Rechten im System Kontext ausführen. Die Funktionalität ist dabei ähnlich wie sudo auf Linux.

In der Vergangenheit gab es des Öfteren Probleme, das diverse Überwachungsmöglichkeiten nicht genutzt werden können, da der Benutzer beispielsweise nicht in der Hyper-V Administrator Gruppe ist und deshalb den Status der virtuellen Maschinen nicht abfragen kann. Ein weiteres Problem ergibt sich auch, wenn man diverse Services oder Tasks überwachen möchte, welchen mit einem normalen Standardbenutzer nicht eingesehen werden können.

Durch ein JEA-Profil wird es erlaubt, dass ein bestimmter Benutzer diese Plugins nun im Systemkontext mit erhöhten Rechten ausführt. Dabei wird von Icinga for Windows ein Profil basierend auf allen installierten Komponenten erstellt. Dieses Profil deckt jedoch nur die notwendigen Befehle zum Ausführen von Plugins und Komponenten ab. Für Icinga for Windows notwendigen Befehle für das Management der Umgebung, werden dabei nicht berücksichtigt.

Um das ganze abzurunden und die Trennung perfekt zu machen, bietet Icinga for Windows die Möglichkeit an, einen Managed User mit dem Namen icinga anzulegen. Dieser Benutzer ist ein lokaler Benutzer auf dem System, ohne Berechtigungen sich lokal oder per RDP anzumelden. Der einzige Zweck ist, dass er als Service Benutzer fungiert und den Icinga Agent sowie den Icinga for Windows Dienst startet. Im Zusammenspiel mit dem von Icinga for Windows generierten JEA-Profil, kann dann das System vollständig überwacht werden. Die Verwaltung des Benutzers obliegt dabei vollständig Icinga for Windows und im Rahmen der Erstellung des Benutzers oder bei diversen Änderungen an den Services während der Icinga for Windows Installation oder Updates, wird jedes Mal ein neues, zufälliges 60-stelliges Password generiert und dem Benutzer zugewiesen. Dieses Password wird nach Ende der jeweiligen Installationsschritte intern wieder verworfen und wird nirgends abgelegt. Hierdurch wird eine Kompromittierung des Systems ohne bereits vorhandene Administratorrechte deutlich erschwert.

Weitere Details sowie Anforderungen, finden sich direkt in der Icinga for Windows JEA Dokumentation.

Performance Gewinn durch API-Check Forwarder

Ein weiteres Thema welches mit Icinga for Windows v1.6.0 von experimental als stabil gilt, ist der API-Check Forwarder, welcher in vergangenen Versionen eingeführt wurde. Hintergrund dieser Lösung ist, dass das Starten sowie die Ausführung von PowerShell Befehlen innerhalb der von Icinga 2 gestarteten Shells vor allem bei Systemen mit weniger Kernen eine erhöhte Systemlast verursachen. Durch den API-Check Forwarder wird zumindest der Ausführungsteil ausgelagert, da alle Befehle für die Plugin-Ausführung innerhalb des Icinga for Windows Dienstes durchgeführt und lediglich das Ergebnis an die lokale Shell weitergereicht wird.

Für diese Lösung werden zwei zusätzliche von Icinga bereitgestellte Komponenten benötigt, um eine REST-Api bereitzustellen sowie die Checks per API auszuführen. Beides kann direkt über die neuen Icinga Repositories installiert werden. Für eine sichere Verbindung werden direkt die Zertifikate des Icinga Agent verwendet. Nach Bedarf können jedoch auch eigene Zertifikate verwendet werden. Wichtig dabei ist, dass eine Erstellung des REST-Api Sockets ohne ein TLS Zertifikat nicht möglich ist.

In der zugehörigen Dokumentation zum API-Check Forwarder von Icinga for Windows gibt es weitere Details.

Was bringt die Zukunft?

Die nächste Version von Icinga for Windows v1.7.0 ist bereits zur diesjährigen OSMC eingeplant. Hier werden wir noch weiter den Schwerpunkt auf Performance sowie eine Vielzahl von Optimierungen für Entwickler legen, um es noch einfacher zu machen eigene Plugins und Komponenten zu entwickeln. Ein entsprechender Talk ist ebenfalls eingereicht.

Wir freuen uns auf eine rege Teilnahme und wünschen bis dahin alles Gute!

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".

Better Late than never – Graphite-Web-Installation unter Debian 10 – Part 1

This entry is part 1 of 2 in the series Graphite-Web

Hallo erstmal und vielen Dank für die Aufmerksamkeit.

Wie ich leider schon viel zu oft angekündigt hatte in den Kommentaren zu meinen häufig angeschauten Artikel Graphite mit Debian 9, reiche ich mit diesem Blogpost mein Versprechen mal ein.

Die Voraussetzungen sind fast die Gleichen wie im alten Blogpost, aber dank unserer Community und deren Mithilfe verfeinert. Ich verweise gern an dieser Stelle auf unsere Community, welche gern & freundlich weiterhilft: Icinga Community.

Nun aber zum Inhalt. Prämisse ist, dass wir eine Icinga2-Installation auf einem frischen Debian 10 (Codename Buster) haben. Die Installation von Icinga2 wird hier explizit nicht erklärt.

Ich liste die Schritte mit auf, werde aber im Gegenzug nur die Graphite-spezifischen Schritte erklären.

Beginnen wir mit der Basisinstallation, sprich den Paketen, welche man braucht und die relativ selbsterklärend sind.

apt-get update -y
apt install gnupg2 vim nagios-plugins-standard nagios-plugins-contrib apache2 -y
wget -O -https://packages.icinga.com/icinga.key | apt-key add -
echo -e "deb http://packages.icinga.com/debian icinga-buster main\ndeb-src http://packages.icinga.com/debian icinga-buster main\n" >> /etc/apt/sources.list
apt-get update -y
apt install python-dev libcairo2-dev libffi-dev build-essential python-pip python-sqlite libapache2-mod-wsgi golang -y
apt install icinga2 -y

Somit wären die ersten Vorarbeiten geleistet. Ab diesem Schritt werden wir für das Graphite-Web nun zuerst Zertifikate generieren.

Wir befinden uns im Jahr 2020. Da sollte zumindest jede sinnvolle Website ein Sicherheitszertifikat mitbringen, vor allem wenn es sich im freien Internet präsentiert. Ich promote hier an dieser Stelle auch nicht “Let’s Encrypt”, weil ich es nicht mag. Es gibt bereits 1001 und mehr Seiten, die bereits darauf eingehen und ich will/möchte mich da nicht einreihen.

Ich halte die händische Zertifikatsgenerierung mal hier als Alternative hoch.

Es fängt unter Debian schon mit der Erstellung der Ordner an.

mkdir -pv /etc/pki/tls/private

Innerhalb des Ordners erzeugen wir uns einen Zertifikatsschlüssel.

openssl genrsa -out certificate.key 2048

Hinweis: 4096 ist ein Wert, der akzeptabel ist. >4096 kann durchaus für die meisten internen Sicherheitsanforderungen nötig sein.

2048 ist hier also nur ein Beispielwert, kein Muss-Wert.

Danach erzeugen wir mit dem Schlüssel eine Signierungsanfrage für ein neues Zertifikat.

openssl req -new -key certificate.key -out certificate.csr -subj "/C=DE/ST=Somewhere1/L=Somewhere/O=Somewhere Company GmbH/OU=IT/CN=localhost.localdomain/emailAddress=admin@somewhere.com"

Wem nun die Frage nach den hier verwendeten Parametern kommt aus einem Ubuntu Guide aus der Community von mir selbst kopiert, hier die Erklärung:


Explanation of the -subj parameters:

Parameter Explanation
/C Country
/ST State
/L Location
/O Organization
/OU Organizational Unit
/CN Common Name
/emailAddress self explanatory

Mit den so erhaltenen Key & CSR erstellen wir nun ein Zertifikat.

openssl x509 -req -days 395 -in certificate.csr -signkey certificate.key -out certificate.crt

Damit hätten wir den Zertifikats-Part an dieser Stelle abgeschlossen. Nun geht es weiter zum Carbon-Teil dieses Blogposts.
Mir war es aktuell auch mit guten ‘Google-Fu’ nicht möglich, eine aktuellere Quelle zu finden als “https://github.com/lomik/go-carbon/”.
Aktuell ist auf der Graphite-Seite carbon 1.16, aber ich kann nicht sagen, ob beide “feature equal” sind.

Also wenn jemand etwas Neueres findet, bitte in der Community melden 🙂


wget https://github.com/lomik/go-carbon/releases/download/v0.14.0/go-carbon_0.14.0_amd64.deb
dkpg -i go-carbon_0.14.0_amd64.deb

Nach der Installation des Paketes muss natürlich die Konfiguration angepasst werden.

Also editieren wir die go-carbon.conf & storage-schemas.conf in /etc/go-carbon/.

go-carbon.conf:
max-cpu = 4 (default) // Sollte an die Möglichkeiten des Rechners angepasst werden
data-dir = "/var/lib/graphite/whisper" // Dies ist das Datenverzeichnis wo die Whisper Dateien abgelegt werden hier sollte man bedenken das dies im laufe der Zeit anwächst.
write-strategy = "max" // Um die CPU zu entlasten sollte hier "noop" gewählt werden.
\[udp\] = ... // In diesem Beispiel verwenden wir udp nicht also sollte der gesamte Block auskommentiert werden.
\[tcp\] = ... // Ist in diesem Beispiel unser Transport Protokoll
listen = ":2003" // Ist der Port auf den go-carbon hört sollte um die IP der Maschine ergänzt werden auf der er läuft `beispielhaft` hier "127.0.0.1:2003"

An der Stelle eine kleine Unterbrechung. Es geht weiter in dem folgenden Blogpost:Better Late than never – Graphite-Web-Installation unter Debian 10 – Part 2

Mit freundlichem Gruß

David

David Okon
David Okon
Senior Systems Engineer

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 Professional Services-Team wagen konnte. Er ist stolzer Papa eines Sohnemanns und bei uns mit der Mission unterwegs, unsere Kunden zu...

Trainings

Web Services

Events