uberspace-icinga icon indicating copy to clipboard operation
uberspace-icinga copied to clipboard

Icinga2

Open lescheib opened this issue 10 years ago • 8 comments

Hi,

Hast Du schon mal versucht icinga2 auf Ueberspace zu installieren?

lescheib avatar Dec 21 '14 20:12 lescheib

Ich hab es heute kurz probiert:

Cmake ist von uberspace aus nicht installiert - kann man aber einfach selbst übersetzen (zB https://ricwein.com/ricwein/uberspacetutorial/tree/b2567d1ec193579ec796acf042b5c156db9f4183)

Postgres Headers fehlen -> -DICINGA2_WITH_PGSQL=OFF

cmake \
-DCMAKE_INSTALL_PREFIX=/home/$USER/opt/icinga2 \
-DICINGA2_USER=$USER \
-DICINGA2_GROUP=$USER \
-DICINGA2_COMMAND_GROUP=$USER \
-DICINGA2_PLUGINDIR=CMAKE_INSTALL_PREFIX/usr/lib/nagios/plugins \
-DICINGA2_WITH_PGSQL=OFF \
..

Hier fehlt dann Boost und Yajl - und ich wollte es nicht weiter probieren.

Der ganze Weg bis zum vorherigen cmake:

mkdir ~/src
cd ~/src/
wget https://github.com/Icinga/icinga2/archive/v2.2.2.tar.gz -O icinga-2.2.2.tar.gz
tar xzf icinga-2.2.2.tar.gz

cd icinga2-2.2.2/
mkdir build
cd build

bountin avatar Dec 23 '14 22:12 bountin

Moin,

ich hatte es auch mal einen Abend lang probiert :) . Das Problem mit Boost bekommt man mittels "-DBoost_NO_BOOST_CMAKE=ON" gelöst. Das Problem mit Yajl konnte ich auch nicht lösen. Laut Icinga2-Doku soll das eigentlich auch optional sein (Bug?).

Ich habe mich mit dem Problem an den Uberspace-Support gewandt, hier die Antwort von Jonas:

Hallo Heiko,    

ich habe da jetzt auch ein wenig dran herumanalysiert, aber: Im yajl-devel-RPM gibt es nun mal schlicht keine yajl_version.h.    

$ rpm -ql yajl-devel
/usr/include/yajl
/usr/include/yajl/yajl_common.h
/usr/include/yajl/yajl_gen.h
/usr/include/yajl/yajl_parse.h
/usr/lib64/libyajl.so
/usr/share/doc/yajl-devel-1.0.7
/usr/share/doc/yajl-devel-1.0.7/COPYING    

Nun ist yajl 1.0.7 auch schon etwas betagter. Ich sehe im Icinga-Source-Verzeichnis aber ein Verzeichnis "third-party" mit einem Unterverzeichnis "yajl", in dem unter anderem diese Datei liegt:    

third-party/yajl/src/api/yajl_version.h.cmake    

Das sieht so aus, als würde hier während des Kompiliervorgangs dann erst die yajl_version.h aus dieser Datei erstellt.    

Ich stecke da jetzt nicht so wirklich tief drin, aber habe zumindest diesen Bugreport hier gefunden:    

Only build YAJL when there's no system-provided version available
https://dev.icinga.org/issues/7454    

Offenbar gibt es da im CMake-Prozess einen Switch, der dazu in der Lage wäre, den Bau der _mit Icinga gelieferten_ yajl-Bibliothek auszulösen, dies aber unterlässt, *weil* eine globale (aber ältere) Version vorhanden ist.    

In CMakeLists.txt finde ich diesen Abschnitt hier:    


find_package(YAJL)    

if(NOT YAJL_FOUND)
 include_directories(${icinga2_BINARY_DIR}/third-party/yajl/include)
 link_directories(${icinga2_BINARY_DIR}/third-party/yajl)
 set(YAJL_LIBRARIES "yajl")
endif()    


Ich orakele hier wirklich ins Blaue hinein, schätze aber, dass du das Problem insofern workarounden könntest, in dem du das if...endif um den Block, der das lokal mitgebrachte yajl baut, entfernst, damit das in jedem Fall geschieht, unabhängig vom Vorhandensein der globalen Installation.    

Davon unbenommen würde ich dir aber raten, einen Bugreport bei Icinga2 aufzumachen: Auf die mitgebrachte, vermutlich funktionierende yajl-Library zu verzichten, weil es eine globale gibt, obwohl die bei CentOS 6 schlicht zu alt ist, erscheint mir problematisch.    

Viele Grüße,
Jonas

Ich bin bisher nicht dazu gekommen, den Vorschlag von Jonas auszuprobieren.

HeikoBornholdt avatar Dec 24 '14 13:12 HeikoBornholdt

Hallo,

ist schon jemand weiter gekommen?

MatthiasToberer avatar Apr 30 '15 10:04 MatthiasToberer

Nein. Ich bin mittlerweile auch darüber übergegangen mir einfach die kleinste Kiste bei DigitalOcean zu bestellen und diese automatisiert mit Chef einzurichten.

Aber auch dort habe ich mir Icinga2 noch nicht angeschaut. Die Konfiguration sieht dort ja komplett anders aus. Das hat mich bisher also abgehalten.

On 30 Apr 2015, at 12:03, MatthiasToberer [email protected] wrote:

Hallo,

ist schon jemand weiter gekommen?

— Reply to this email directly or view it on GitHub https://github.com/heikobornholdt/uberspace-icinga/issues/10#issuecomment-97726793.

HeikoBornholdt avatar Apr 30 '15 10:04 HeikoBornholdt

Hallo, ich schalte mich hier auch mal ein 😀

Ich habe mir vom Support 'boost-devel' installieren lassen. Laut IRC erfordert Icinga2 in der neuesten Version eine Boost-Installation. Yajl lässt sich durch ein paar Änderungen zufriedenstellen.

Ich poste eine kleine Anleitung falls die Installation glückt :)

phpfs avatar May 17 '16 18:05 phpfs

Viel Erfolg 👍

HeikoBornholdt avatar May 17 '16 18:05 HeikoBornholdt

Hallo!

Gescheitert ist die Installation nun an zu viel RAM-Bedarf während des gcc-Builds! Die Bibliotheken und die Vorarbeit scheinen kein Problem zu sein.

phpfs

phpfs avatar Jun 19 '16 15:06 phpfs

I managed to build it with:

cmake -DCMAKE_INSTALL_PREFIX=/home/$USER/opt/icinga2 -DICINGA2_USER=$USER -DICINGA2_GROUP=$USER -DICINGA2_COMMAND_GROUP=$USER -DICINGA2_PLUGINDIR=CMAKE_INSTALL_PREFIX/usr/lib/nagios/plugins -DICINGA2_WITH_PGSQL=OFF -DICINGA2_UNITY_BUILD=OFF .. The last flag prevented the make process from being killed.

thigg avatar Nov 20 '18 01:11 thigg