Icinga 2 Best Practice Teil 4: Host Templates und Services

Heute soll es um die Strukturierung von Services und deren Zuordnungen zu Gruppen von Hosts gehen. Ein Host Template kann zur Zusammenfassung von Informationen einer Gruppe von Hosts dienen und damit mehrere unterschiedliche Services für den jeweiligen Host anziehen. Wir wollen in den folgenden Beispielen Linux Hosts überwachen. Dort neben, wie schon in Teil 3 beschrieben, der Belegung der Dateisysteme auch in Abhängigkeit in welchem Netzsegment der Host angeschlossen ist, ob die Zeit synchron zum Zeitserver läuft.

template Host "linux-host" {
  import "generic-host"

  vars.os = "Linux"
  vars.disks["disk /"] = {
    disk_partition = "/"
  }
}

apply Service "time" {
  import "generic-service"

  check_command = "ntp_time"
  command_endpoint = host_name

  assign where host.vars.os == "Linux"
}

Es gibt zwei Netze mit je eigenem Zeitserver. Um dieses abzubilden, definieren wir für jedes Netz ein eigenes Host-Template:

template Host "dmz-net" {
  vars.ntp_address = "172.16.2.99"
}
template Host "lan-net" {
  vars.ntp_address = "172.16.1.99"
}

Diese beiden Templates enthalten nur netzspezifische Informationen, in unserem Beispiel auch nur den jeweilig zuständigen Zeitserver. Der Service-Check time mit dem Plugin check_ntp_time ermittelt die Differenz zwischen der lokalen Zeit des Hosts und der Zeit des NTP-Servers, der in ntp_address angegeben ist. Nun müssen wir für einen Host im internen Netzwerk lan-net nur noch beide Templates zusammen bringen:

object Host "host.example.org" {
  import "linux-host"
  import "lan-net"
  import "postgres-dbms"

  address = "172.16.1.11"
}

Habe wir weitere Services, die abhängig vom Netzsegment unterschiedlich zu konfigurieren sind, können diese Informationen den Netz-Templates hinzugefügt werden. Ein weiteres Beispiel wäre hier die Überwachung unterschiedlicher Domain Name Services. Diese Konzept der Stapelung von Host templates kann natürlich noch weitergeführt werden, z.B. auf Applikationen wie einen Postgresql basierendes Datenbank-Management-Systems bezogen. Ggf. muss jedoch auf die Reihenfolge der Importe geachtet werden, wenn Werte überschrieben werden sollen.

Lennart Betz

Autor: Lennart Betz

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

Authentication with OAuth

It’s pretty safe to say, that everyone using the web has already made an account for some website. For the broad masses the most common ones would be social media sites like facebook, youtube and twitter. Then there are also online shopping platforms like e-bay and amazon, and more techie orientated pages like stack overflow and all sorts of version control repositories.
(And of course various others for anything and everything else…)

Third party applications often allow you to sign in with your account from another website.

The good thing is, that you don’t need to create a separate account for every single one, but are offered the possibility to just sign in with an account you created for a different service.

The page for which you want to use a different account needs to request data from the original website and use it to authenticate the user (without their input).
In order to give both the requesting website and the user assurance that the data will be safe and reliable some sort of standardisation is required.

Most commonly used is the open standard for authorisation OAuth.
With OAuth it is possible for users to grant access to their information from a certain website without giving away their credentials.

This is what it looks like when the user reviews the permissions.

In order for the third party application to obtain specific information about a user, it has to request an access token from the authorisation server, and when the user grants the permission, use that token to access the resources from the website.

In our specific case we want users to be able to log in to Icinga Exchange with their GitHub accounts.

If you now also want to integrate GitHub on your website and/or see how it’s done: they have a detailed tutorial here.

Jennifer Mourek

Autor: Jennifer Mourek

Jennifer hat sich nach Ihrem Abitur erst einmal die große weite Welt angesehen, ehe es sie für Ihre Ausbildung zur Fachinformatikerin für Anwendungsentwicklung ab September 2016 nach Nürnberg zu NETWAYS verschlagen hat. Die Lieblingsfreizeitaktivitäten der gebürtigen Steigerwalderin sind das Zocken, Zeichnen und sich mit Freunden und Kollegen auf gemütliche Spiele- und Filmabende zu treffen.

Numeric datatypes as primary key in databases

Most likely primary keys in databases are numbers. But what happens, when an administrator uses the wrong numeric data type? In the worst case, databases can’t write down entries anymore.

For example, if an administrator wants to write customer information into the databases and wants to use the customerID itself as the primary key, then the numeric data type “TINYINT” would cause that only 255 entries can be written. But on the other hand the “BIGINT” numeric data type, could be too large for smaller databases.
So when you are setting up a database, you should think about how many entries will be written the next months/years and think about which datatype is the right one for your setup. Also you should think about if you should use the data types unsigned or not. This value will change the range of the datatypes.

Typ signed unsigned
Min Max Min Max
TINYINT -128 +127 0 255
SMALLINT -32.768 +32.767 0 65.535
MEDIUMINT -8.388.608 +8.388.607 0 16.777.215
INT/INTEGER -2.147.483.647 +2.147.483.646 0 4.294.967.295
BIGINT -263 +263 – 1 0 264 – 1

Another example:
If an administrator wants to store 60000 customer information in the database, he should use at least a “SMALLINT”. Should he use the unsigned version or not? Lets have a look.
With the signed data type he has a range from -32.768 up to +32.767, but no customerID (primary key as mentioned above) has a negative number, so a “unsigned SMALLINT” would be necessary.

The case, that you thought about the questions above but your data type got out of range, could happen. There is a way to change the datatype and to increase the range in a simple way.
*ALTER TABLE tablename MODIFY column MEDIUMINT UNSIGNED;*
But remember: The larger your database is, the longer will it take to do such changes!

Marius Gebert

Autor:

Marius ist seit September 2013 bei uns beschäftigt. Er hat im Sommer 2016 seine Ausbildung zum Fachinformatiker für Systemintegration absolviert und kümmert sich nun um den Support unserer Hostingkunden. Seine besonderen Themengebiete erstrecken sich vom Elastic-Stack bis hin zu Puppet. Auch an unserem Lunchshop ist er ständig zu Gange und versorgt die ganze Firma mit kulinarischen Köstlichkeiten. Seine Freizeit verbringt Marius gern an der frischen Luft und wandert dabei durch die fränkische Schweiz

SMSEagle NPE 9300 GSM End Of Life

Heute wurden wir vom Hersteller des SMSEagle NPE 9300 informiert, dass das Gerät bald End of Life ist. Das SMS Gateway wird nun ab sofort auch nicht mehr im NETWAYS Online Store zu kaufen sein. Wir boten den SMSEagle in drei Versionen an – nun eben nur noch den SMSEagle NXS-9700 3G, der auch als offizieller Nachfolger des SMSEagle NPE 9300 ausgerufen wurde und den SMSEagle NXS-9750 3G (UMTS/dual modem).

Alle Kunden, die den SMSEagle NPE 9300 gekauft haben, können sich jedoch zurücklehnen. Der Support dieses Gerätes endet erst am 31.12.2020. Wir bei NETWAYS empfehlen unseren Kunden ohnehin seit Anbeginn den SMSEagle NXS-9700 3G, da das 2G-Netz bereits angezählt ist und man durch geringen Aufpreis schon das aktuellere Modell, den SMSEagle NXS-9700 3G erwerben konnte.

Kleiner Safety-Spar-Tipp am Rande: Einfach bei der Bestellung eines SMSEagles die 2-jährige Garantieverlängerung des Herstellers mitbuchen. Der Aufpreis zum SMSEagle mit der 1-jährigen Herstellergarantie ist sehr gering und lohnt sich deshalb ungemein.

Die verbleibenden Varianten des SMSEagle auf einen Blick:

  • SMSEagle NXS-9700 3G (UMTS)
  • HTTP API
  • 1x GSM/UMTS-Rundstrahlantenne (3.5dBi)
  • AC/DC Adapter (input voltage: 100-240V)
  • Schnellstart-Anleitung
  • 12 Monate Herstellergarantie (Garantieverlängerung um weitere 24 Monate möglich, bitte Variante wählen)
  • freier Zugang zu kostenlosen Software Upgrades während der Garantiezeit

 

 

 

  • SMSEagle NXS-9750 3G (dual modem)
  • HTTPApi
  • 2x GSM/UMTS-Rundstrahlantenne (3.5dBi )
  • AC/DC Adapter (input voltage: 100-240V)
  • Schnellstart-Anleitung
  • 12 Monate Herstellergarantie (Garantieverlängerung um weitere 24 Monate möglich, bitte Variante wählen)
  • freier Zugang zu kostenlosen Software Upgrades während der Garantiezeit
  • Failover-Mechanismus (automatisches Task-switching zwischen den Modems, bei erkanntem Problem)
  • Failover Support (HA Cluster von zwei Geräten möglich)
Isabel Salampasidis

Autor: Isabel Salampasidis

Isabel ist seit Februar zurück bei NETWAYS. Bis 2009 war sie unsere Office Managerin und verstärkt nun ab sofort das Sales Team. Hier ist sie für alle Belange des Online Stores verantwortlich. Der Ein- und Verkauf der Monitoring Hardware sowie die Weiterentwicklung des Shops und seines Portfolios wird sie mit ihrem bekannten Tatendrang gehörig vorantreiben. Privat verbringt die halbgriechische Ruhrpott-Fränkin sehr gerne so viel Zeit wie möglich mit ihren bald 4-jährigen Patensöhnen oder schreit sich für den Club - als stolze Dauerkartenbesitzerin! - die Seele aus dem Leib.

OSDC 2017 – Update

From 16.-18. May 2017, the Open Source Data Center Conference will take place in Berlin.
After fixing the hands-on workshops on the first day of the conference, our program is beginning to take shape. Most of our speakers are fixed, so take a look, what awaits you this year.
There will be some great talks on the topics CONTAINERS, INFRASTRUCTURE AS CODE, INTEGRATION and DEPLOYMENT.

The program will be completed within the next few days.

As usual, there will be a relaxed evening event to meet each other in a casual setting.

As always, we are especially grateful to our sponsors, without whose continued support this conference would not be possible.

There’s the Thomas.Krenn AG who supported our conferences for many years now, and we’re happy to know, that they’re sponsoring this year’s OSDC again.

Furthermore we thank the Admin Magazine as well as the Linux Magazin for our media partnership.

Julia Hackbarth

Autor: Julia Hackbarth

Julia ist seit 2015 bei NETWAYS. Sie hat im September ihre Ausbildung zur Kauffrau für Büromanagement gestartet. Etwas zu organisieren macht ihr großen Spaß und sie freut sich auf vielseitige Herausforderungen. In ihrer Freizeit spielt Handball eine große Rolle: Julia steht selbst aktiv auf dem Feld, übernimmt aber auch gerne den Part als Schiedsrichterin.