Seite wählen

NETWAYS Blog

Neue Distributionen für das Icinga 2-Paket-Repository

Vor Kurzem wurden Debian 8.0 („jessie“) und Ubuntu 15.04 („Vivid“) veröffentlich. Für diese beiden Plattformen gibt es nun auch auf packages.icinga.org Pakete für Icinga 2 und Icinga Web 2.
Dabei wird für Debian auch die armhf-Architektur unterstützt, die beispielsweise der Raspberry Pi 2 verwendet (für Raspbian gibt es ein separates Repository, das allerdings nichts mit diesem Debian-Repo zu tun hat):
root@dashboard:~# uname -a
Linux dashboard.beutner.name 3.18.0-trunk-rpi2 #1 SMP PREEMPT Debian 3.18.5-1~exp1.co1 (2015-02-02) armv7l GNU/Linux
root@dashboard:~# icinga2 --version
icinga2 - The Icinga 2 network monitoring daemon (version: r2.3.4-1)
Copyright (c) 2012-2015 Icinga Development Team (https://www.icinga.org)
License GPLv2+: GNU GPL version 2 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Application information:
Installation root: /usr
Sysconf directory: /etc
Run directory: /run
Local state directory: /var
Package data directory: /usr/share/icinga2
State path: /var/lib/icinga2/icinga2.state
Objects path: /var/cache/icinga2/icinga2.debug
Vars path: /var/cache/icinga2/icinga2.vars
PID path: /run/icinga2/icinga2.pid
Application type: icinga/IcingaApplication
System information:
Operating system: Linux
Operating system version: 3.18.0-trunk-rpi2
Architecture: armv7l
Distribution: Debian GNU/Linux 8.0 (jessie)
root@dashboard:~#

Icinga2 und icinga-web für Debian/Ubuntu auf ARM-Prozessoren

Warum?

Das icinga PPA stellt fertige Pakete für i386 und amd64 bereit. Für den Betrieb auf ARM-Prozessoren (wie zum Beispiel beim Raspberry Pi oder dem hier verwendeten ODROID U3) muss man seine Installationspakete aber selber schnüren.
Aufgrund der exzellenten Build Tools von Debian sowie des fertig vorliegenden Debian Source Packages vom Icinga Package Maintainer  ist das allerdings eine sehr einfache Angelegenheit. Dieses HowTo verwendet pbuilder, welches den Bauprozess sauber in einer chroot-Umgebung ausführt und so das System nicht mit Fragmenten des Kompiliervorgangs kontaminiert.

pbuilder setup

Ersetze trusty durch die angepeilte Zieldistribution

sudo apt-get install pbuilder debootstrap devscripts
sudo pbuilder create --distribution trusty --debootstrapopts --variant=buildd

configure sources.list

sudo echo "deb-src http://ppa.launchpad.net/formorer/icinga/ubuntu trusty main" >> /etc/apt/sources.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 36862847
sudo apt-get update

icinga2

Herunterladen der Quellen in das aktuelle Verzeichnis

sudo apt-get source icinga2

Das Bauen der Pakete dauert auf einem ODROID U3 etwa eine Stunde (-j4 an die Anzahl der CPU-Kerne anpassen)

sudo pbuilder build --debbuildopts "-j4" icinga2_2.2.4-1~ppa1~trusty1.dsc

icinga-web

Das Ganze funktioniert entsprechend für icinga-web

sudo apt-get source icinga-web
sudo pbuilder build icinga-web_1.11.2+dfsg1-1~ppa1.dsc

Die Resultate liegen dann in /var/cache/pbuilder/result/

Vielen Dank an andrenarchy für die exzellente Zusammenarbeit bei der Erstellung dieses Artikels!

Paketstation

Mit FPM stellt Jordan Sissel, der führende Kopf hinter Logstash, ein Tool zur Verfügung mit dem man sehr einfach Pakete für die gängigsten Distributionen erstellen kann.
Für Effing Package Management (=FPM) muss Ruby und ein C-Compiler vorhanden sein:

# apt-get install ruby-dev gcc
# yum install ruby-devel gcc

Danach kann die eigentliche Installation des Ruby-Moduls erfolgen:

# gem install fpm

Als Beispiel für die Erstellung von Paketen mit FPM habe ich im Folgenden LConf Standalone Web gewählt, natürlich kann dies auch auf andere Softwareprodukte abgewandelt werden.
Zuerst muss bei LConf Web das Archiv mit dem Quellcode herunter geladen und entpackt werden, danach wechselt man wie gewohnt in das extrahierte Verzeichnis. Im Anschluss wird hier der configure-Befehl ausgeführt:

# ./configure --with-user=icinga --with-group=icinga

Bis zu diesem Zeitpunkt besteht noch kein Unterschied zum üblichen Installationsvorgang, erst bei make install unterscheidet sich der Aufruf. Statt die Dateien an den dafür vorgesehenen Stellen im Dateisystem abzulegen, leitet man sie mit dem DESTDIR-Parameter um:

# make install DESTDIR=/usr/local/src/lconf-web-1.4.0_installdir

Jetzt ist die Zeit von FPM gekommen, den hier kann nun das DESTDIR-Verzeichnis als Chroot verwendet und die darin enthaltene Verzeichnisstruktur „usr/local/lconf-web“ beispielsweise in ein Debian-Paket integriert werden:

# fpm -s dir -t deb -n lconf-web -v 1.4.0 --deb-use-file-permissions \
-C /usr/local/src/lconf-web-1.4.0_installdir usr/local/lconf-web

Das dabei entstandene Paket lconf-web-1.4.0_amd64.deb kann nun natürlich mit dpkg auf einem Debian basierten System installiert werden.

Markus Waldmüller
Markus Waldmüller
Head of Strategic Projects

Markus war bereits mehrere Jahre als Sysadmin in Neumarkt i.d.OPf. und Regensburg tätig. Nach Technikerschule und Selbständigkeit ist er nun Anfang 2013 bei NETWAYS als Senior Manager Services gelandet. Seit September 2023 kümmert er sich bei der NETWAYS Gruppe um strategische Projekte. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.

OSMC 2013: Der Countdown läuft – nur noch 8 Tage

Fast nur eine Woche noch!
Und, tadaaa! Hier gibt’s noch Alexander Wirt für euch.
Mehr muss man ja wohl an dieser Stelle nicht sagen, oder?

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. 2013 wird die OSMC zum 8. Mal in Nürnberg stattfinden.